From 456ebe937478c2738f7ef4af1f8f64917933a1bd Mon Sep 17 00:00:00 2001 From: Rob Weber Date: Wed, 28 Aug 2019 14:48:24 -0500 Subject: [PATCH] updated Dropbox lib --- resources/lib/dropbox/async.py | 309 +- resources/lib/dropbox/async_.py | 332 + resources/lib/dropbox/auth.py | 213 +- resources/lib/dropbox/base.py | 2117 +- resources/lib/dropbox/base_team.py | 675 +- resources/lib/dropbox/common.py | 409 +- resources/lib/dropbox/contacts.py | 176 + resources/lib/dropbox/dropbox.py | 98 +- resources/lib/dropbox/exceptions.py | 11 + resources/lib/dropbox/file_properties.py | 750 +- resources/lib/dropbox/file_requests.py | 974 +- resources/lib/dropbox/files.py | 5132 +- resources/lib/dropbox/paper.py | 655 +- resources/lib/dropbox/seen_state.py | 158 + resources/lib/dropbox/session.py | 4 +- resources/lib/dropbox/sharing.py | 3476 +- resources/lib/dropbox/stone_base.py | 89 +- resources/lib/dropbox/stone_serializers.py | 912 +- resources/lib/dropbox/stone_validators.py | 85 +- resources/lib/dropbox/team.py | 4281 +- resources/lib/dropbox/team_common.py | 138 +- resources/lib/dropbox/team_log.py | 61205 +++++++++++++++---- resources/lib/dropbox/team_policies.py | 741 +- resources/lib/dropbox/users.py | 323 +- resources/lib/dropbox/users_common.py | 12 +- 25 files changed, 66252 insertions(+), 17023 deletions(-) create mode 100644 resources/lib/dropbox/async_.py create mode 100644 resources/lib/dropbox/contacts.py create mode 100644 resources/lib/dropbox/seen_state.py diff --git a/resources/lib/dropbox/async.py b/resources/lib/dropbox/async.py index 453d9e9..6e82073 100644 --- a/resources/lib/dropbox/async.py +++ b/resources/lib/dropbox/async.py @@ -1,310 +1,7 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # 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 - -class LaunchResultBase(bb.Union): - """ - Result returned by methods that launch an asynchronous job. A method who may - either launch an asynchronous job, or complete the request synchronously, - can use this union by extending it, and adding a 'complete' field with the - type of the synchronous response. See :class:`LaunchEmptyResult` for an - example. - - 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 str async_job_id: This response indicates that the processing is - asynchronous. The string is an id that can be used to obtain the status - of the asynchronous job. - """ - - _catch_all = None - - @classmethod - def async_job_id(cls, val): - """ - Create an instance of this class set to the ``async_job_id`` tag with - value ``val``. - - :param str val: - :rtype: LaunchResultBase - """ - return cls('async_job_id', val) - - def is_async_job_id(self): - """ - Check if the union tag is ``async_job_id``. - - :rtype: bool - """ - return self._tag == 'async_job_id' - - def get_async_job_id(self): - """ - This response indicates that the processing is asynchronous. The string - is an id that can be used to obtain the status of the asynchronous job. - - Only call this if :meth:`is_async_job_id` is true. - - :rtype: str - """ - if not self.is_async_job_id(): - raise AttributeError("tag 'async_job_id' not set") - return self._value - - def __repr__(self): - return 'LaunchResultBase(%r, %r)' % (self._tag, self._value) - -LaunchResultBase_validator = bv.Union(LaunchResultBase) - -class LaunchEmptyResult(LaunchResultBase): - """ - Result returned by methods that may either launch an asynchronous job or - complete synchronously. Upon synchronous completion of the job, no - additional information is returned. - - 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 complete: The job finished synchronously and successfully. - """ - - # Attribute is overwritten below the class definition - complete = None - - def is_complete(self): - """ - Check if the union tag is ``complete``. - - :rtype: bool - """ - return self._tag == 'complete' - - def __repr__(self): - return 'LaunchEmptyResult(%r, %r)' % (self._tag, self._value) - -LaunchEmptyResult_validator = bv.Union(LaunchEmptyResult) - -class PollArg(object): - """ - Arguments for methods that poll the status of an asynchronous job. - - :ivar async_job_id: Id of the asynchronous job. This is the value of a - response returned from the method that launched the job. - """ - - __slots__ = [ - '_async_job_id_value', - '_async_job_id_present', - ] - - _has_required_fields = True - - def __init__(self, - async_job_id=None): - self._async_job_id_value = None - self._async_job_id_present = False - if async_job_id is not None: - self.async_job_id = async_job_id - - @property - def async_job_id(self): - """ - Id of the asynchronous job. This is the value of a response returned - from the method that launched the job. - - :rtype: str - """ - if self._async_job_id_present: - return self._async_job_id_value - else: - raise AttributeError("missing required field 'async_job_id'") - - @async_job_id.setter - def async_job_id(self, val): - val = self._async_job_id_validator.validate(val) - self._async_job_id_value = val - self._async_job_id_present = True - - @async_job_id.deleter - def async_job_id(self): - self._async_job_id_value = None - self._async_job_id_present = False - - def __repr__(self): - return 'PollArg(async_job_id={!r})'.format( - self._async_job_id_value, - ) - -PollArg_validator = bv.Struct(PollArg) - -class PollResultBase(bb.Union): - """ - Result returned by methods that poll for the status of an asynchronous job. - Unions that extend this union should add a 'complete' field with a type of - the information returned upon job completion. See :class:`PollEmptyResult` - for an example. - - 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 in_progress: The asynchronous job is still in progress. - """ - - _catch_all = None - # Attribute is overwritten below the class definition - in_progress = None - - def is_in_progress(self): - """ - Check if the union tag is ``in_progress``. - - :rtype: bool - """ - return self._tag == 'in_progress' - - def __repr__(self): - return 'PollResultBase(%r, %r)' % (self._tag, self._value) - -PollResultBase_validator = bv.Union(PollResultBase) - -class PollEmptyResult(PollResultBase): - """ - Result returned by methods that poll for the status of an asynchronous job. - Upon completion of the job, no additional information is returned. - - 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 complete: The asynchronous job has completed successfully. - """ - - # Attribute is overwritten below the class definition - complete = None - - def is_complete(self): - """ - Check if the union tag is ``complete``. - - :rtype: bool - """ - return self._tag == 'complete' - - def __repr__(self): - return 'PollEmptyResult(%r, %r)' % (self._tag, self._value) - -PollEmptyResult_validator = bv.Union(PollEmptyResult) - -class PollError(bb.Union): - """ - Error returned by methods for polling the status of asynchronous job. - - 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_async_job_id: The job ID is invalid. - :ivar internal_error: Something went wrong with the job on Dropbox's end. - You'll need to verify that the action you were taking succeeded, and if - not, try again. This should happen very rarely. - """ - - _catch_all = 'other' - # Attribute is overwritten below the class definition - invalid_async_job_id = None - # Attribute is overwritten below the class definition - internal_error = None - # Attribute is overwritten below the class definition - other = None - - def is_invalid_async_job_id(self): - """ - Check if the union tag is ``invalid_async_job_id``. - - :rtype: bool - """ - return self._tag == 'invalid_async_job_id' - - def is_internal_error(self): - """ - Check if the union tag is ``internal_error``. - - :rtype: bool - """ - return self._tag == 'internal_error' - - def is_other(self): - """ - Check if the union tag is ``other``. - - :rtype: bool - """ - return self._tag == 'other' - - def __repr__(self): - return 'PollError(%r, %r)' % (self._tag, self._value) - -PollError_validator = bv.Union(PollError) - -AsyncJobId_validator = bv.String(min_length=1) -LaunchResultBase._async_job_id_validator = AsyncJobId_validator -LaunchResultBase._tagmap = { - 'async_job_id': LaunchResultBase._async_job_id_validator, -} - -LaunchEmptyResult._complete_validator = bv.Void() -LaunchEmptyResult._tagmap = { - 'complete': LaunchEmptyResult._complete_validator, -} -LaunchEmptyResult._tagmap.update(LaunchResultBase._tagmap) - -LaunchEmptyResult.complete = LaunchEmptyResult('complete') - -PollArg._async_job_id_validator = AsyncJobId_validator -PollArg._all_field_names_ = set(['async_job_id']) -PollArg._all_fields_ = [('async_job_id', PollArg._async_job_id_validator)] - -PollResultBase._in_progress_validator = bv.Void() -PollResultBase._tagmap = { - 'in_progress': PollResultBase._in_progress_validator, -} - -PollResultBase.in_progress = PollResultBase('in_progress') - -PollEmptyResult._complete_validator = bv.Void() -PollEmptyResult._tagmap = { - 'complete': PollEmptyResult._complete_validator, -} -PollEmptyResult._tagmap.update(PollResultBase._tagmap) - -PollEmptyResult.complete = PollEmptyResult('complete') - -PollError._invalid_async_job_id_validator = bv.Void() -PollError._internal_error_validator = bv.Void() -PollError._other_validator = bv.Void() -PollError._tagmap = { - 'invalid_async_job_id': PollError._invalid_async_job_id_validator, - 'internal_error': PollError._internal_error_validator, - 'other': PollError._other_validator, -} - -PollError.invalid_async_job_id = PollError('invalid_async_job_id') -PollError.internal_error = PollError('internal_error') -PollError.other = PollError('other') - -ROUTES = { -} - +# If you have issues importing this module because Python recognizes it as a keyword, use async_ instead. +from .async_ import * diff --git a/resources/lib/dropbox/async_.py b/resources/lib/dropbox/async_.py new file mode 100644 index 0000000..cc262b3 --- /dev/null +++ b/resources/lib/dropbox/async_.py @@ -0,0 +1,332 @@ +# -*- coding: utf-8 -*- +# Auto-generated by Stone, do not modify. +# @generated +# flake8: noqa +# pylint: skip-file +try: + from . import stone_validators as bv + from . import stone_base as bb +except (ImportError, 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 LaunchResultBase(bb.Union): + """ + Result returned by methods that launch an asynchronous job. A method who may + either launch an asynchronous job, or complete the request synchronously, + can use this union by extending it, and adding a 'complete' field with the + type of the synchronous response. See :class:`LaunchEmptyResult` for an + example. + + 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 str async.LaunchResultBase.async_job_id: This response indicates that + the processing is asynchronous. The string is an id that can be used to + obtain the status of the asynchronous job. + """ + + _catch_all = None + + @classmethod + def async_job_id(cls, val): + """ + Create an instance of this class set to the ``async_job_id`` tag with + value ``val``. + + :param str val: + :rtype: LaunchResultBase + """ + return cls('async_job_id', val) + + def is_async_job_id(self): + """ + Check if the union tag is ``async_job_id``. + + :rtype: bool + """ + return self._tag == 'async_job_id' + + def get_async_job_id(self): + """ + This response indicates that the processing is asynchronous. The string + is an id that can be used to obtain the status of the asynchronous job. + + Only call this if :meth:`is_async_job_id` is true. + + :rtype: str + """ + if not self.is_async_job_id(): + raise AttributeError("tag 'async_job_id' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LaunchResultBase, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LaunchResultBase(%r, %r)' % (self._tag, self._value) + +LaunchResultBase_validator = bv.Union(LaunchResultBase) + +class LaunchEmptyResult(LaunchResultBase): + """ + Result returned by methods that may either launch an asynchronous job or + complete synchronously. Upon synchronous completion of the job, no + additional information is returned. + + 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 async.LaunchEmptyResult.complete: The job finished synchronously and + successfully. + """ + + # Attribute is overwritten below the class definition + complete = None + + def is_complete(self): + """ + Check if the union tag is ``complete``. + + :rtype: bool + """ + return self._tag == 'complete' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LaunchEmptyResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LaunchEmptyResult(%r, %r)' % (self._tag, self._value) + +LaunchEmptyResult_validator = bv.Union(LaunchEmptyResult) + +class PollArg(bb.Struct): + """ + Arguments for methods that poll the status of an asynchronous job. + + :ivar async.PollArg.async_job_id: Id of the asynchronous job. This is the + value of a response returned from the method that launched the job. + """ + + __slots__ = [ + '_async_job_id_value', + '_async_job_id_present', + ] + + _has_required_fields = True + + def __init__(self, + async_job_id=None): + self._async_job_id_value = None + self._async_job_id_present = False + if async_job_id is not None: + self.async_job_id = async_job_id + + @property + def async_job_id(self): + """ + Id of the asynchronous job. This is the value of a response returned + from the method that launched the job. + + :rtype: str + """ + if self._async_job_id_present: + return self._async_job_id_value + else: + raise AttributeError("missing required field 'async_job_id'") + + @async_job_id.setter + def async_job_id(self, val): + val = self._async_job_id_validator.validate(val) + self._async_job_id_value = val + self._async_job_id_present = True + + @async_job_id.deleter + def async_job_id(self): + self._async_job_id_value = None + self._async_job_id_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PollArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PollArg(async_job_id={!r})'.format( + self._async_job_id_value, + ) + +PollArg_validator = bv.Struct(PollArg) + +class PollResultBase(bb.Union): + """ + Result returned by methods that poll for the status of an asynchronous job. + Unions that extend this union should add a 'complete' field with a type of + the information returned upon job completion. See :class:`PollEmptyResult` + for an example. + + 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 async.PollResultBase.in_progress: The asynchronous job is still in + progress. + """ + + _catch_all = None + # Attribute is overwritten below the class definition + in_progress = None + + def is_in_progress(self): + """ + Check if the union tag is ``in_progress``. + + :rtype: bool + """ + return self._tag == 'in_progress' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PollResultBase, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PollResultBase(%r, %r)' % (self._tag, self._value) + +PollResultBase_validator = bv.Union(PollResultBase) + +class PollEmptyResult(PollResultBase): + """ + Result returned by methods that poll for the status of an asynchronous job. + Upon completion of the job, no additional information is returned. + + 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 async.PollEmptyResult.complete: The asynchronous job has completed + successfully. + """ + + # Attribute is overwritten below the class definition + complete = None + + def is_complete(self): + """ + Check if the union tag is ``complete``. + + :rtype: bool + """ + return self._tag == 'complete' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PollEmptyResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PollEmptyResult(%r, %r)' % (self._tag, self._value) + +PollEmptyResult_validator = bv.Union(PollEmptyResult) + +class PollError(bb.Union): + """ + Error returned by methods for polling the status of asynchronous job. + + 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 async.PollError.invalid_async_job_id: The job ID is invalid. + :ivar async.PollError.internal_error: Something went wrong with the job on + Dropbox's end. You'll need to verify that the action you were taking + succeeded, and if not, try again. This should happen very rarely. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + invalid_async_job_id = None + # Attribute is overwritten below the class definition + internal_error = None + # Attribute is overwritten below the class definition + other = None + + def is_invalid_async_job_id(self): + """ + Check if the union tag is ``invalid_async_job_id``. + + :rtype: bool + """ + return self._tag == 'invalid_async_job_id' + + def is_internal_error(self): + """ + Check if the union tag is ``internal_error``. + + :rtype: bool + """ + return self._tag == 'internal_error' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PollError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PollError(%r, %r)' % (self._tag, self._value) + +PollError_validator = bv.Union(PollError) + +AsyncJobId_validator = bv.String(min_length=1) +LaunchResultBase._async_job_id_validator = AsyncJobId_validator +LaunchResultBase._tagmap = { + 'async_job_id': LaunchResultBase._async_job_id_validator, +} + +LaunchEmptyResult._complete_validator = bv.Void() +LaunchEmptyResult._tagmap = { + 'complete': LaunchEmptyResult._complete_validator, +} +LaunchEmptyResult._tagmap.update(LaunchResultBase._tagmap) + +LaunchEmptyResult.complete = LaunchEmptyResult('complete') + +PollArg._async_job_id_validator = AsyncJobId_validator +PollArg._all_field_names_ = set(['async_job_id']) +PollArg._all_fields_ = [('async_job_id', PollArg._async_job_id_validator)] + +PollResultBase._in_progress_validator = bv.Void() +PollResultBase._tagmap = { + 'in_progress': PollResultBase._in_progress_validator, +} + +PollResultBase.in_progress = PollResultBase('in_progress') + +PollEmptyResult._complete_validator = bv.Void() +PollEmptyResult._tagmap = { + 'complete': PollEmptyResult._complete_validator, +} +PollEmptyResult._tagmap.update(PollResultBase._tagmap) + +PollEmptyResult.complete = PollEmptyResult('complete') + +PollError._invalid_async_job_id_validator = bv.Void() +PollError._internal_error_validator = bv.Void() +PollError._other_validator = bv.Void() +PollError._tagmap = { + 'invalid_async_job_id': PollError._invalid_async_job_id_validator, + 'internal_error': PollError._internal_error_validator, + 'other': PollError._other_validator, +} + +PollError.invalid_async_job_id = PollError('invalid_async_job_id') +PollError.internal_error = PollError('internal_error') +PollError.other = PollError('other') + +ROUTES = { +} + diff --git a/resources/lib/dropbox/auth.py b/resources/lib/dropbox/auth.py index 2dd5ef0..1862571 100644 --- a/resources/lib/dropbox/auth.py +++ b/resources/lib/dropbox/auth.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -20,10 +21,10 @@ class AccessError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar InvalidAccountTypeError invalid_account_type: Current account type - cannot access the resource. - :ivar PaperAccessError paper_access_denied: Current account cannot access - Paper. + :ivar InvalidAccountTypeError AccessError.invalid_account_type: Current + account type cannot access the resource. + :ivar PaperAccessError AccessError.paper_access_denied: Current account + cannot access Paper. """ _catch_all = 'other' @@ -100,6 +101,9 @@ class AccessError(bb.Union): raise AttributeError("tag 'paper_access_denied' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccessError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccessError(%r, %r)' % (self._tag, self._value) @@ -113,12 +117,15 @@ class AuthError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_access_token: The access token is invalid. - :ivar invalid_select_user: The user specified in 'Dropbox-API-Select-User' - is no longer on the team. - :ivar invalid_select_admin: The user specified in 'Dropbox-API-Select-Admin' - is not a Dropbox Business team admin. - :ivar user_suspended: The user has been suspended. + :ivar auth.AuthError.invalid_access_token: The access token is invalid. + :ivar auth.AuthError.invalid_select_user: The user specified in + 'Dropbox-API-Select-User' is no longer on the team. + :ivar auth.AuthError.invalid_select_admin: The user specified in + 'Dropbox-API-Select-Admin' is not a Dropbox Business team admin. + :ivar auth.AuthError.user_suspended: The user has been suspended. + :ivar auth.AuthError.expired_access_token: The access token has expired. + :ivar TokenScopeError AuthError.missing_scope: The access token does not + have the required scope to access the route. """ _catch_all = 'other' @@ -131,8 +138,21 @@ class AuthError(bb.Union): # Attribute is overwritten below the class definition user_suspended = None # Attribute is overwritten below the class definition + expired_access_token = None + # Attribute is overwritten below the class definition other = None + @classmethod + def missing_scope(cls, val): + """ + Create an instance of this class set to the ``missing_scope`` tag with + value ``val``. + + :param TokenScopeError val: + :rtype: AuthError + """ + return cls('missing_scope', val) + def is_invalid_access_token(self): """ Check if the union tag is ``invalid_access_token``. @@ -165,6 +185,22 @@ class AuthError(bb.Union): """ return self._tag == 'user_suspended' + def is_expired_access_token(self): + """ + Check if the union tag is ``expired_access_token``. + + :rtype: bool + """ + return self._tag == 'expired_access_token' + + def is_missing_scope(self): + """ + Check if the union tag is ``missing_scope``. + + :rtype: bool + """ + return self._tag == 'missing_scope' + def is_other(self): """ Check if the union tag is ``other``. @@ -173,6 +209,21 @@ class AuthError(bb.Union): """ return self._tag == 'other' + def get_missing_scope(self): + """ + The access token does not have the required scope to access the route. + + Only call this if :meth:`is_missing_scope` is true. + + :rtype: TokenScopeError + """ + if not self.is_missing_scope(): + raise AttributeError("tag 'missing_scope' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AuthError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AuthError(%r, %r)' % (self._tag, self._value) @@ -184,10 +235,10 @@ class InvalidAccountTypeError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar endpoint: Current account type doesn't have permission to access this - route endpoint. - :ivar feature: Current account type doesn't have permission to access this - feature. + :ivar auth.InvalidAccountTypeError.endpoint: Current account type doesn't + have permission to access this route endpoint. + :ivar auth.InvalidAccountTypeError.feature: Current account type doesn't + have permission to access this feature. """ _catch_all = 'other' @@ -222,6 +273,9 @@ class InvalidAccountTypeError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(InvalidAccountTypeError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'InvalidAccountTypeError(%r, %r)' % (self._tag, self._value) @@ -233,8 +287,9 @@ class PaperAccessError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar paper_disabled: Paper is disabled. - :ivar not_paper_user: The provided user has not used Paper yet. + :ivar auth.PaperAccessError.paper_disabled: Paper is disabled. + :ivar auth.PaperAccessError.not_paper_user: The provided user has not used + Paper yet. """ _catch_all = 'other' @@ -269,18 +324,22 @@ class PaperAccessError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperAccessError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperAccessError(%r, %r)' % (self._tag, self._value) PaperAccessError_validator = bv.Union(PaperAccessError) -class RateLimitError(object): +class RateLimitError(bb.Struct): """ Error occurred because the app is being rate limited. - :ivar reason: The reason why the app is being rate limited. - :ivar retry_after: The number of seconds that the app should wait before - making another request. + :ivar auth.RateLimitError.reason: The reason why the app is being rate + limited. + :ivar auth.RateLimitError.retry_after: The number of seconds that the app + should wait before making another request. """ __slots__ = [ @@ -333,7 +392,7 @@ class RateLimitError(object): The number of seconds that the app should wait before making another request. - :rtype: long + :rtype: int """ if self._retry_after_present: return self._retry_after_value @@ -351,6 +410,9 @@ class RateLimitError(object): self._retry_after_value = None self._retry_after_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RateLimitError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RateLimitError(reason={!r}, retry_after={!r})'.format( self._reason_value, @@ -365,10 +427,10 @@ class RateLimitReason(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar too_many_requests: You are making too many requests in the past few - minutes. - :ivar too_many_write_operations: There are currently too many write - operations happening in the user's Dropbox. + :ivar auth.RateLimitReason.too_many_requests: You are making too many + requests in the past few minutes. + :ivar auth.RateLimitReason.too_many_write_operations: There are currently + too many write operations happening in the user's Dropbox. """ _catch_all = 'other' @@ -403,16 +465,20 @@ class RateLimitReason(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RateLimitReason, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RateLimitReason(%r, %r)' % (self._tag, self._value) RateLimitReason_validator = bv.Union(RateLimitReason) -class TokenFromOAuth1Arg(object): +class TokenFromOAuth1Arg(bb.Struct): """ - :ivar oauth1_token: The supplied OAuth 1.0 access token. - :ivar oauth1_token_secret: The token secret associated with the supplied - access token. + :ivar auth.TokenFromOAuth1Arg.oauth1_token: The supplied OAuth 1.0 access + token. + :ivar auth.TokenFromOAuth1Arg.oauth1_token_secret: The token secret + associated with the supplied access token. """ __slots__ = [ @@ -482,6 +548,9 @@ class TokenFromOAuth1Arg(object): self._oauth1_token_secret_value = None self._oauth1_token_secret_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TokenFromOAuth1Arg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TokenFromOAuth1Arg(oauth1_token={!r}, oauth1_token_secret={!r})'.format( self._oauth1_token_value, @@ -496,10 +565,10 @@ class TokenFromOAuth1Error(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_oauth1_token_info: Part or all of the OAuth 1.0 access token - info is invalid. - :ivar app_id_mismatch: The authorized app does not match the app associated - with the supplied access token. + :ivar auth.TokenFromOAuth1Error.invalid_oauth1_token_info: Part or all of + the OAuth 1.0 access token info is invalid. + :ivar auth.TokenFromOAuth1Error.app_id_mismatch: The authorized app does not + match the app associated with the supplied access token. """ _catch_all = 'other' @@ -534,15 +603,18 @@ class TokenFromOAuth1Error(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TokenFromOAuth1Error, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TokenFromOAuth1Error(%r, %r)' % (self._tag, self._value) TokenFromOAuth1Error_validator = bv.Union(TokenFromOAuth1Error) -class TokenFromOAuth1Result(object): +class TokenFromOAuth1Result(bb.Struct): """ - :ivar oauth2_token: The OAuth 2.0 token generated from the supplied OAuth - 1.0 token. + :ivar auth.TokenFromOAuth1Result.oauth2_token: The OAuth 2.0 token generated + from the supplied OAuth 1.0 token. """ __slots__ = [ @@ -582,6 +654,9 @@ class TokenFromOAuth1Result(object): self._oauth2_token_value = None self._oauth2_token_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TokenFromOAuth1Result, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TokenFromOAuth1Result(oauth2_token={!r})'.format( self._oauth2_token_value, @@ -589,6 +664,59 @@ class TokenFromOAuth1Result(object): TokenFromOAuth1Result_validator = bv.Struct(TokenFromOAuth1Result) +class TokenScopeError(bb.Struct): + """ + :ivar auth.TokenScopeError.required_scope: The required scope to access the + route. + """ + + __slots__ = [ + '_required_scope_value', + '_required_scope_present', + ] + + _has_required_fields = True + + def __init__(self, + required_scope=None): + self._required_scope_value = None + self._required_scope_present = False + if required_scope is not None: + self.required_scope = required_scope + + @property + def required_scope(self): + """ + The required scope to access the route. + + :rtype: str + """ + if self._required_scope_present: + return self._required_scope_value + else: + raise AttributeError("missing required field 'required_scope'") + + @required_scope.setter + def required_scope(self, val): + val = self._required_scope_validator.validate(val) + self._required_scope_value = val + self._required_scope_present = True + + @required_scope.deleter + def required_scope(self): + self._required_scope_value = None + self._required_scope_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TokenScopeError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TokenScopeError(required_scope={!r})'.format( + self._required_scope_value, + ) + +TokenScopeError_validator = bv.Struct(TokenScopeError) + AccessError._invalid_account_type_validator = InvalidAccountTypeError_validator AccessError._paper_access_denied_validator = PaperAccessError_validator AccessError._other_validator = bv.Void() @@ -604,12 +732,16 @@ AuthError._invalid_access_token_validator = bv.Void() AuthError._invalid_select_user_validator = bv.Void() AuthError._invalid_select_admin_validator = bv.Void() AuthError._user_suspended_validator = bv.Void() +AuthError._expired_access_token_validator = bv.Void() +AuthError._missing_scope_validator = TokenScopeError_validator AuthError._other_validator = bv.Void() AuthError._tagmap = { 'invalid_access_token': AuthError._invalid_access_token_validator, 'invalid_select_user': AuthError._invalid_select_user_validator, 'invalid_select_admin': AuthError._invalid_select_admin_validator, 'user_suspended': AuthError._user_suspended_validator, + 'expired_access_token': AuthError._expired_access_token_validator, + 'missing_scope': AuthError._missing_scope_validator, 'other': AuthError._other_validator, } @@ -617,6 +749,7 @@ AuthError.invalid_access_token = AuthError('invalid_access_token') AuthError.invalid_select_user = AuthError('invalid_select_user') AuthError.invalid_select_admin = AuthError('invalid_select_admin') AuthError.user_suspended = AuthError('user_suspended') +AuthError.expired_access_token = AuthError('expired_access_token') AuthError.other = AuthError('other') InvalidAccountTypeError._endpoint_validator = bv.Void() @@ -697,8 +830,13 @@ TokenFromOAuth1Result._oauth2_token_validator = bv.String(min_length=1) TokenFromOAuth1Result._all_field_names_ = set(['oauth2_token']) TokenFromOAuth1Result._all_fields_ = [('oauth2_token', TokenFromOAuth1Result._oauth2_token_validator)] +TokenScopeError._required_scope_validator = bv.String() +TokenScopeError._all_field_names_ = set(['required_scope']) +TokenScopeError._all_fields_ = [('required_scope', TokenScopeError._required_scope_validator)] + token_from_oauth1 = bb.Route( 'token/from_oauth1', + 1, False, TokenFromOAuth1Arg_validator, TokenFromOAuth1Result_validator, @@ -708,6 +846,7 @@ token_from_oauth1 = bb.Route( ) token_revoke = bb.Route( 'token/revoke', + 1, False, bv.Void(), bv.Void(), diff --git a/resources/lib/dropbox/base.py b/resources/lib/dropbox/base.py index 583839c..a4a5fce 100644 --- a/resources/lib/dropbox/base.py +++ b/resources/lib/dropbox/base.py @@ -7,13 +7,15 @@ from abc import ABCMeta, abstractmethod import warnings from . import ( - async, + async_, auth, common, + contacts, file_properties, file_requests, files, paper, + seen_state, sharing, team, team_common, @@ -45,9 +47,9 @@ class DropboxBase(object): :param str oauth1_token_secret: The token secret associated with the supplied access token. :rtype: :class:`dropbox.auth.TokenFromOAuth1Result` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.auth.TokenFromOAuth1Error` """ arg = auth.TokenFromOAuth1Arg(oauth1_token, @@ -75,6 +77,48 @@ class DropboxBase(object): ) return None + # ------------------------------------------ + # Routes in contacts namespace + + def contacts_delete_manual_contacts(self): + """ + Removes all manually added contacts. You'll still keep contacts who are + on your team or who you imported. New contacts will be added when you + share. + + :rtype: None + """ + arg = None + r = self.request( + contacts.delete_manual_contacts, + 'contacts', + arg, + None, + ) + return None + + def contacts_delete_manual_contacts_batch(self, + email_addresses): + """ + Removes manually added contacts from the given list. + + :param list email_addresses: List of manually added contacts to be + deleted. + :rtype: None + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.contacts.DeleteManualContactsError` + """ + arg = contacts.DeleteManualContactsArg(email_addresses) + r = self.request( + contacts.delete_manual_contacts_batch, + 'contacts', + arg, + None, + ) + return None + # ------------------------------------------ # Routes in file_properties namespace @@ -90,9 +134,9 @@ class DropboxBase(object): :param list property_groups: The property groups which are to be added to a Dropbox file. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.AddPropertiesError` """ arg = file_properties.AddPropertiesArg(path, @@ -120,9 +164,9 @@ class DropboxBase(object): :param list property_groups: The property groups "snapshot" updates to force apply. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.InvalidPropertyGroupError` """ arg = file_properties.OverwritePropertyGroupArg(path, @@ -139,21 +183,22 @@ class DropboxBase(object): path, property_template_ids): """ - Remove the specified property group from the file. To remove specific - property field key value pairs, see + Permanently removes the specified property group from the file. To + remove specific property field key value pairs, see :meth:`file_properties_properties_update`. To update a template, see :meth:`file_properties_templates_update_for_user` or - :meth:`file_properties_templates_update_for_team`. Templates can't be - removed once created. + :meth:`file_properties_templates_update_for_team`. To remove a template, + see :meth:`file_properties_templates_remove_for_user` or + :meth:`file_properties_templates_remove_for_team`. :param str path: A unique identifier for the file or folder. :param list property_template_ids: A list of identifiers for a template created by :meth:`file_properties_templates_add_for_user` or :meth:`file_properties_templates_add_for_team`. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.RemovePropertiesError` """ arg = file_properties.RemovePropertiesArg(path, @@ -177,9 +222,9 @@ class DropboxBase(object): associated with these template IDs. :type template_filter: :class:`dropbox.file_properties.TemplateFilter` :rtype: :class:`dropbox.file_properties.PropertiesSearchResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.PropertiesSearchError` """ arg = file_properties.PropertiesSearchArg(queries, @@ -192,6 +237,31 @@ class DropboxBase(object): ) return r + def file_properties_properties_search_continue(self, + cursor): + """ + Once a cursor has been retrieved from + :meth:`file_properties_properties_search`, use this to paginate through + all search results. + + :param str cursor: The cursor returned by your last call to + :meth:`file_properties_properties_search` or + :meth:`file_properties_properties_search_continue`. + :rtype: :class:`dropbox.file_properties.PropertiesSearchResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_properties.PropertiesSearchContinueError` + """ + arg = file_properties.PropertiesSearchContinueArg(cursor) + r = self.request( + file_properties.properties_search_continue, + 'file_properties', + arg, + None, + ) + return r + def file_properties_properties_update(self, path, update_property_groups): @@ -208,9 +278,9 @@ class DropboxBase(object): :param list update_property_groups: The property groups "delta" updates to apply. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.UpdatePropertiesError` """ arg = file_properties.UpdatePropertiesArg(path, @@ -223,32 +293,6 @@ class DropboxBase(object): ) return None - def file_properties_templates_add_for_team(self, - name, - description, - fields): - """ - Add a template associated with a team. See - :meth:`file_properties_properties_add` to add properties to a file or - folder. - - :rtype: :class:`dropbox.file_properties.AddTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.file_properties.ModifyTemplateError` - """ - arg = file_properties.AddTemplateArg(name, - description, - fields) - r = self.request( - file_properties.templates_add_for_team, - 'file_properties', - arg, - None, - ) - return r - def file_properties_templates_add_for_user(self, name, description, @@ -259,9 +303,9 @@ class DropboxBase(object): endpoint can't be called on a team member or admin's behalf. :rtype: :class:`dropbox.file_properties.AddTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.ModifyTemplateError` """ arg = file_properties.AddTemplateArg(name, @@ -275,29 +319,6 @@ class DropboxBase(object): ) return r - def file_properties_templates_get_for_team(self, - template_id): - """ - Get the schema for a specified template. - - :param str template_id: An identifier for template added by route See - :meth:`file_properties_templates_add_for_user` or - :meth:`file_properties_templates_add_for_team`. - :rtype: :class:`dropbox.file_properties.GetTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.file_properties.TemplateError` - """ - arg = file_properties.GetTemplateArg(template_id) - r = self.request( - file_properties.templates_get_for_team, - 'file_properties', - arg, - None, - ) - return r - def file_properties_templates_get_for_user(self, template_id): """ @@ -308,9 +329,9 @@ class DropboxBase(object): :meth:`file_properties_templates_add_for_user` or :meth:`file_properties_templates_add_for_team`. :rtype: :class:`dropbox.file_properties.GetTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.TemplateError` """ arg = file_properties.GetTemplateArg(template_id) @@ -322,26 +343,6 @@ class DropboxBase(object): ) return r - def file_properties_templates_list_for_team(self): - """ - Get the template identifiers for a team. To get the schema of each - template use :meth:`file_properties_templates_get_for_team`. - - :rtype: :class:`dropbox.file_properties.ListTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.file_properties.TemplateError` - """ - arg = None - r = self.request( - file_properties.templates_list_for_team, - 'file_properties', - arg, - None, - ) - return r - def file_properties_templates_list_for_user(self): """ Get the template identifiers for a team. To get the schema of each @@ -349,9 +350,9 @@ class DropboxBase(object): endpoint can't be called on a team member or admin's behalf. :rtype: :class:`dropbox.file_properties.ListTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.TemplateError` """ arg = None @@ -363,43 +364,31 @@ class DropboxBase(object): ) return r - def file_properties_templates_update_for_team(self, - template_id, - name=None, - description=None, - add_fields=None): + def file_properties_templates_remove_for_user(self, + template_id): """ - Update a template associated with a team. This route can update the - template name, the template description and add optional properties to - templates. + Permanently removes the specified template created from + :meth:`file_properties_templates_add_for_user`. All properties + associated with the template will also be removed. This action cannot be + undone. - :param str template_id: An identifier for template added by See + :param str template_id: An identifier for a template created by :meth:`file_properties_templates_add_for_user` or :meth:`file_properties_templates_add_for_team`. - :param Nullable name: A display name for the template. template names - can be up to 256 bytes. - :param Nullable description: Description for the new template. Template - descriptions can be up to 1024 bytes. - :param Nullable add_fields: Property field templates to be added to the - group template. There can be up to 32 properties in a single - template. - :rtype: :class:`dropbox.file_properties.UpdateTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :rtype: None + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: - :class:`dropbox.file_properties.ModifyTemplateError` + If this raises, ApiError will contain: + :class:`dropbox.file_properties.TemplateError` """ - arg = file_properties.UpdateTemplateArg(template_id, - name, - description, - add_fields) + arg = file_properties.RemoveTemplateArg(template_id) r = self.request( - file_properties.templates_update_for_team, + file_properties.templates_remove_for_user, 'file_properties', arg, None, ) - return r + return None def file_properties_templates_update_for_user(self, template_id, @@ -423,9 +412,9 @@ class DropboxBase(object): group template. There can be up to 32 properties in a single template. :rtype: :class:`dropbox.file_properties.UpdateTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_properties.ModifyTemplateError` """ arg = file_properties.UpdateTemplateArg(template_id, @@ -443,6 +432,22 @@ class DropboxBase(object): # ------------------------------------------ # Routes in file_requests namespace + def file_requests_count(self): + """ + Returns the total number of file requests owned by this user. Includes + both open and closed file requests. + + :rtype: :class:`dropbox.file_requests.CountFileRequestsResult` + """ + arg = None + r = self.request( + file_requests.count, + 'file_requests', + arg, + None, + ) + return r + def file_requests_create(self, title, destination, @@ -456,14 +461,14 @@ class DropboxBase(object): uploaded files will be sent. For apps with the app folder permission, this will be relative to the app folder. :param Nullable deadline: The deadline for the file request. Deadlines - can only be set by Pro and Business accounts. + can only be set by Professional and Business accounts. :param bool open: Whether or not the file request should be open. If the file request is closed, it will not accept any file submissions, but it can be opened later. :rtype: :class:`dropbox.file_requests.FileRequest` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.file_requests.CreateFileRequestError` """ arg = file_requests.CreateFileRequestArgs(title, @@ -478,6 +483,42 @@ class DropboxBase(object): ) return r + def file_requests_delete(self, + ids): + """ + Delete a batch of closed file requests. + + :param list ids: List IDs of the file requests to delete. + :rtype: :class:`dropbox.file_requests.DeleteFileRequestsResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_requests.DeleteFileRequestError` + """ + arg = file_requests.DeleteFileRequestArgs(ids) + r = self.request( + file_requests.delete, + 'file_requests', + arg, + None, + ) + return r + + def file_requests_delete_all_closed(self): + """ + Delete all closed file requests owned by this user. + + :rtype: :class:`dropbox.file_requests.DeleteAllClosedFileRequestsResult` + """ + arg = None + r = self.request( + file_requests.delete_all_closed, + 'file_requests', + arg, + None, + ) + return r + def file_requests_get(self, id): """ @@ -495,6 +536,26 @@ class DropboxBase(object): ) return r + def file_requests_list_v2(self, + limit=1000): + """ + Returns a list of file requests owned by this user. For apps with the + app folder permission, this will only return file requests with + destinations in the app folder. + + :param int limit: The maximum number of file requests that should be + returned per request. + :rtype: :class:`dropbox.file_requests.ListFileRequestsV2Result` + """ + arg = file_requests.ListFileRequestsArg(limit) + r = self.request( + file_requests.list_v2, + 'file_requests', + arg, + None, + ) + return r + def file_requests_list(self): """ Returns a list of file requests owned by this user. For apps with the @@ -512,6 +573,31 @@ class DropboxBase(object): ) return r + def file_requests_list_continue(self, + cursor): + """ + Once a cursor has been retrieved from :meth:`file_requests_list_v2`, use + this to paginate through all file requests. The cursor must come from a + previous call to :meth:`file_requests_list_v2` or + :meth:`file_requests_list_continue`. + + :param str cursor: The cursor returned by the previous API call + specified in the endpoint description. + :rtype: :class:`dropbox.file_requests.ListFileRequestsV2Result` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_requests.ListFileRequestsContinueError` + """ + arg = file_requests.ListFileRequestsContinueArg(cursor) + r = self.request( + file_requests.list_continue, + 'file_requests', + arg, + None, + ) + return r + def file_requests_update(self, id, title=None, @@ -527,7 +613,8 @@ class DropboxBase(object): :param Nullable destination: The new path of the folder in the Dropbox where uploaded files will be sent. For apps with the app folder permission, this will be relative to the app folder. - :param deadline: The new deadline for the file request. + :param deadline: The new deadline for the file request. Deadlines can + only be set by Professional and Business accounts. :type deadline: :class:`dropbox.file_requests.UpdateFileRequestDeadline` :param Nullable open: Whether to set this file request as open or closed. @@ -554,6 +641,7 @@ class DropboxBase(object): include_media_info=False, include_deleted=False, include_has_explicit_shared_members=False, + include_property_groups=None, include_property_templates=None): """ Returns the metadata for a file or folder. This is an alpha endpoint @@ -564,15 +652,20 @@ class DropboxBase(object): template IDs, ``FileMetadata.property_groups`` is set for files with custom properties. :rtype: :class:`dropbox.files.Metadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.AlphaGetMetadataError` """ + warnings.warn( + 'alpha/get_metadata is deprecated. Use get_metadata.', + DeprecationWarning, + ) arg = files.AlphaGetMetadataArg(path, include_media_info, include_deleted, include_has_explicit_shared_members, + include_property_groups, include_property_templates) r = self.request( files.alpha_get_metadata, @@ -589,7 +682,8 @@ class DropboxBase(object): autorename=False, client_modified=None, mute=False, - property_groups=None): + property_groups=None, + strict_conflict=False): """ Create a new file with the contents provided in the request. Note that this endpoint is part of the properties API alpha and is slightly @@ -598,20 +692,19 @@ class DropboxBase(object): :meth:`files_upload_session_start`. :param bytes f: Contents to upload. - :param Nullable property_groups: List of custom properties to add to - file. :rtype: :class:`dropbox.files.FileMetadata` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.UploadErrorWithProperties` """ + warnings.warn( + 'alpha/upload is deprecated. Use alpha/upload.', + DeprecationWarning, + ) arg = files.CommitInfoWithProperties(path, mode, autorename, client_modified, mute, - property_groups) + property_groups, + strict_conflict) r = self.request( files.alpha_upload, 'files', @@ -620,163 +713,6 @@ class DropboxBase(object): ) return r - def files_copy(self, - from_path, - to_path, - allow_shared_folder=False, - autorename=False, - allow_ownership_transfer=False): - """ - Copy a file or folder to a different location in the user's Dropbox. If - the source path is a folder all its contents will be copied. - - :param bool allow_shared_folder: If true, :meth:`files_copy` will copy - contents in shared folder, otherwise - ``RelocationError.cant_copy_shared_folder`` will be returned if - ``from_path`` contains shared folder. This field is always true for - :meth:`files_move`. - :param bool autorename: If there's a conflict, have the Dropbox server - try to autorename the file to avoid the conflict. - :param bool allow_ownership_transfer: Allow moves by owner even if it - would result in an ownership transfer for the content being moved. - This does not apply to copies. - :rtype: :class:`dropbox.files.Metadata` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.RelocationError` - """ - warnings.warn( - 'copy is deprecated. Use copy_v2.', - DeprecationWarning, - ) - arg = files.RelocationArg(from_path, - to_path, - allow_shared_folder, - autorename, - allow_ownership_transfer) - r = self.request( - files.copy, - 'files', - arg, - None, - ) - return r - - def files_copy_batch(self, - entries, - allow_shared_folder=False, - autorename=False, - allow_ownership_transfer=False): - """ - Copy multiple files or folders to different locations at once in the - user's Dropbox. If ``RelocationBatchArg.allow_shared_folder`` is false, - this route is atomic. If on entry failes, the whole transaction will - abort. If ``RelocationBatchArg.allow_shared_folder`` is true, not - atomicity is guaranteed, but you will be able to copy the contents of - shared folders to new locations. This route will return job ID - immediately and do the async copy job in background. Please use - :meth:`files_copy_batch_check` to check the job status. - - :param list entries: List of entries to be moved or copied. Each entry - is :class:`dropbox.files.RelocationPath`. - :param bool allow_shared_folder: If true, :meth:`files_copy_batch` will - copy contents in shared folder, otherwise - ``RelocationError.cant_copy_shared_folder`` will be returned if - ``RelocationPath.from_path`` contains shared folder. This field is - always true for :meth:`files_move_batch`. - :param bool autorename: If there's a conflict with any file, have the - Dropbox server try to autorename that file to avoid the conflict. - :param bool allow_ownership_transfer: Allow moves by owner even if it - would result in an ownership transfer for the content being moved. - This does not apply to copies. - :rtype: :class:`dropbox.files.RelocationBatchLaunch` - """ - arg = files.RelocationBatchArg(entries, - allow_shared_folder, - autorename, - allow_ownership_transfer) - r = self.request( - files.copy_batch, - 'files', - arg, - None, - ) - return r - - def files_copy_batch_check(self, - async_job_id): - """ - Returns the status of an asynchronous job for :meth:`files_copy_batch`. - If success, it returns list of results for each entry. - - :param str async_job_id: Id of the asynchronous job. This is the value - of a response returned from the method that launched the job. - :rtype: :class:`dropbox.files.RelocationBatchJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.PollError` - """ - arg = async.PollArg(async_job_id) - r = self.request( - files.copy_batch_check, - 'files', - arg, - None, - ) - return r - - def files_copy_reference_get(self, - path): - """ - Get a copy reference to a file or folder. This reference string can be - used to save that file or folder to another user's Dropbox by passing it - to :meth:`files_copy_reference_save`. - - :param str path: The path to the file or folder you want to get a copy - reference to. - :rtype: :class:`dropbox.files.GetCopyReferenceResult` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.GetCopyReferenceError` - """ - arg = files.GetCopyReferenceArg(path) - r = self.request( - files.copy_reference_get, - 'files', - arg, - None, - ) - return r - - def files_copy_reference_save(self, - copy_reference, - path): - """ - Save a copy reference returned by :meth:`files_copy_reference_get` to - the user's Dropbox. - - :param str copy_reference: A copy reference returned by - :meth:`files_copy_reference_get`. - :param str path: Path in the user's Dropbox that is the destination. - :rtype: :class:`dropbox.files.SaveCopyReferenceResult` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.SaveCopyReferenceError` - """ - arg = files.SaveCopyReferenceArg(copy_reference, - path) - r = self.request( - files.copy_reference_save, - 'files', - arg, - None, - ) - return r - def files_copy_v2(self, from_path, to_path, @@ -798,9 +734,9 @@ class DropboxBase(object): would result in an ownership transfer for the content being moved. This does not apply to copies. :rtype: :class:`dropbox.files.RelocationResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.RelocationError` """ arg = files.RelocationArg(from_path, @@ -816,29 +752,212 @@ class DropboxBase(object): ) return r - def files_create_folder(self, - path, - autorename=False): + def files_copy(self, + from_path, + to_path, + allow_shared_folder=False, + autorename=False, + allow_ownership_transfer=False): """ - Create a folder at a given path. + Copy a file or folder to a different location in the user's Dropbox. If + the source path is a folder all its contents will be copied. - :param str path: Path in the user's Dropbox to create. + :param bool allow_shared_folder: If true, :meth:`files_copy` will copy + contents in shared folder, otherwise + ``RelocationError.cant_copy_shared_folder`` will be returned if + ``from_path`` contains shared folder. This field is always true for + :meth:`files_move`. :param bool autorename: If there's a conflict, have the Dropbox server - try to autorename the folder to avoid the conflict. - :rtype: :class:`dropbox.files.FolderMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + try to autorename the file to avoid the conflict. + :param bool allow_ownership_transfer: Allow moves by owner even if it + would result in an ownership transfer for the content being moved. + This does not apply to copies. + :rtype: :class:`dropbox.files.Metadata` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: - :class:`dropbox.files.CreateFolderError` + If this raises, ApiError will contain: + :class:`dropbox.files.RelocationError` """ warnings.warn( - 'create_folder is deprecated. Use create_folder_v2.', + 'copy is deprecated. Use copy.', DeprecationWarning, ) - arg = files.CreateFolderArg(path, - autorename) + arg = files.RelocationArg(from_path, + to_path, + allow_shared_folder, + autorename, + allow_ownership_transfer) r = self.request( - files.create_folder, + files.copy, + 'files', + arg, + None, + ) + return r + + def files_copy_batch_v2(self, + entries, + autorename=False): + """ + Copy multiple files or folders to different locations at once in the + user's Dropbox. This route will replace :meth:`files_copy_batch`. The + main difference is this route will return status for each entry, while + :meth:`files_copy_batch` raises failure if any entry fails. This route + will either finish synchronously, or return a job ID and do the async + copy job in background. Please use :meth:`files_copy_batch_check_v2` to + check the job status. + + :param list entries: List of entries to be moved or copied. Each entry + is :class:`dropbox.files.RelocationPath`. + :param bool autorename: If there's a conflict with any file, have the + Dropbox server try to autorename that file to avoid the conflict. + :rtype: :class:`dropbox.files.RelocationBatchV2Launch` + """ + arg = files.RelocationBatchArgBase(entries, + autorename) + r = self.request( + files.copy_batch_v2, + 'files', + arg, + None, + ) + return r + + def files_copy_batch(self, + entries, + autorename=False, + allow_shared_folder=False, + allow_ownership_transfer=False): + """ + Copy multiple files or folders to different locations at once in the + user's Dropbox. If ``RelocationBatchArg.allow_shared_folder`` is false, + this route is atomic. If one entry fails, the whole transaction will + abort. If ``RelocationBatchArg.allow_shared_folder`` is true, atomicity + is not guaranteed, but it allows you to copy the contents of shared + folders to new locations. This route will return job ID immediately and + do the async copy job in background. Please use + :meth:`files_copy_batch_check` to check the job status. + + :param bool allow_shared_folder: If true, :meth:`files_copy_batch` will + copy contents in shared folder, otherwise + ``RelocationError.cant_copy_shared_folder`` will be returned if + ``RelocationPath.from_path`` contains shared folder. This field is + always true for :meth:`files_move_batch`. + :param bool allow_ownership_transfer: Allow moves by owner even if it + would result in an ownership transfer for the content being moved. + This does not apply to copies. + :rtype: :class:`dropbox.files.RelocationBatchLaunch` + """ + warnings.warn( + 'copy_batch is deprecated. Use copy_batch.', + DeprecationWarning, + ) + arg = files.RelocationBatchArg(entries, + autorename, + allow_shared_folder, + allow_ownership_transfer) + r = self.request( + files.copy_batch, + 'files', + arg, + None, + ) + return r + + def files_copy_batch_check_v2(self, + async_job_id): + """ + Returns the status of an asynchronous job for + :meth:`files_copy_batch_v2`. It returns list of results for each entry. + + :param str async_job_id: Id of the asynchronous job. This is the value + of a response returned from the method that launched the job. + :rtype: :class:`dropbox.files.RelocationBatchV2JobStatus` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.PollError` + """ + arg = async_.PollArg(async_job_id) + r = self.request( + files.copy_batch_check_v2, + 'files', + arg, + None, + ) + return r + + def files_copy_batch_check(self, + async_job_id): + """ + Returns the status of an asynchronous job for :meth:`files_copy_batch`. + If success, it returns list of results for each entry. + + :param str async_job_id: Id of the asynchronous job. This is the value + of a response returned from the method that launched the job. + :rtype: :class:`dropbox.files.RelocationBatchJobStatus` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.PollError` + """ + warnings.warn( + 'copy_batch/check is deprecated. Use copy_batch/check.', + DeprecationWarning, + ) + arg = async_.PollArg(async_job_id) + r = self.request( + files.copy_batch_check, + 'files', + arg, + None, + ) + return r + + def files_copy_reference_get(self, + path): + """ + Get a copy reference to a file or folder. This reference string can be + used to save that file or folder to another user's Dropbox by passing it + to :meth:`files_copy_reference_save`. + + :param str path: The path to the file or folder you want to get a copy + reference to. + :rtype: :class:`dropbox.files.GetCopyReferenceResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.GetCopyReferenceError` + """ + arg = files.GetCopyReferenceArg(path) + r = self.request( + files.copy_reference_get, + 'files', + arg, + None, + ) + return r + + def files_copy_reference_save(self, + copy_reference, + path): + """ + Save a copy reference returned by :meth:`files_copy_reference_get` to + the user's Dropbox. + + :param str copy_reference: A copy reference returned by + :meth:`files_copy_reference_get`. + :param str path: Path in the user's Dropbox that is the destination. + :rtype: :class:`dropbox.files.SaveCopyReferenceResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.SaveCopyReferenceError` + """ + arg = files.SaveCopyReferenceArg(copy_reference, + path) + r = self.request( + files.copy_reference_save, 'files', arg, None, @@ -855,9 +974,9 @@ class DropboxBase(object): :param bool autorename: If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. :rtype: :class:`dropbox.files.CreateFolderResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.CreateFolderError` """ arg = files.CreateFolderArg(path, @@ -870,8 +989,93 @@ class DropboxBase(object): ) return r - def files_delete(self, - path): + def files_create_folder(self, + path, + autorename=False): + """ + Create a folder at a given path. + + :param str path: Path in the user's Dropbox to create. + :param bool autorename: If there's a conflict, have the Dropbox server + try to autorename the folder to avoid the conflict. + :rtype: :class:`dropbox.files.FolderMetadata` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.CreateFolderError` + """ + warnings.warn( + 'create_folder is deprecated. Use create_folder.', + DeprecationWarning, + ) + arg = files.CreateFolderArg(path, + autorename) + r = self.request( + files.create_folder, + 'files', + arg, + None, + ) + return r + + def files_create_folder_batch(self, + paths, + autorename=False, + force_async=False): + """ + Create multiple folders at once. This route is asynchronous for large + batches, which returns a job ID immediately and runs the create folder + batch asynchronously. Otherwise, creates the folders and returns the + result synchronously for smaller inputs. You can force asynchronous + behaviour by using the ``CreateFolderBatchArg.force_async`` flag. Use + :meth:`files_create_folder_batch_check` to check the job status. + + :param list paths: List of paths to be created in the user's Dropbox. + Duplicate path arguments in the batch are considered only once. + :param bool autorename: If there's a conflict, have the Dropbox server + try to autorename the folder to avoid the conflict. + :param bool force_async: Whether to force the create to happen + asynchronously. + :rtype: :class:`dropbox.files.CreateFolderBatchLaunch` + """ + arg = files.CreateFolderBatchArg(paths, + autorename, + force_async) + r = self.request( + files.create_folder_batch, + 'files', + arg, + None, + ) + return r + + def files_create_folder_batch_check(self, + async_job_id): + """ + Returns the status of an asynchronous job for + :meth:`files_create_folder_batch`. If success, it returns list of result + for each entry. + + :param str async_job_id: Id of the asynchronous job. This is the value + of a response returned from the method that launched the job. + :rtype: :class:`dropbox.files.CreateFolderBatchJobStatus` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.PollError` + """ + arg = async_.PollArg(async_job_id) + r = self.request( + files.create_folder_batch_check, + 'files', + arg, + None, + ) + return r + + def files_delete_v2(self, + path, + parent_rev=None): """ Delete the file or folder at a given path. If the path is a folder, all its contents will be deleted too. A successful response indicates that @@ -881,17 +1085,52 @@ class DropboxBase(object): and not a :class:`dropbox.files.DeletedMetadata` object. :param str path: Path in the user's Dropbox to delete. - :rtype: :class:`dropbox.files.Metadata` - :raises: :class:`dropbox.exceptions.ApiError` + :param Nullable parent_rev: Perform delete if given "rev" matches the + existing file's latest "rev". This field does not support deleting a + folder. + :rtype: :class:`dropbox.files.DeleteResult` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: + :class:`dropbox.files.DeleteError` + """ + arg = files.DeleteArg(path, + parent_rev) + r = self.request( + files.delete_v2, + 'files', + arg, + None, + ) + return r + + def files_delete(self, + path, + parent_rev=None): + """ + Delete the file or folder at a given path. If the path is a folder, all + its contents will be deleted too. A successful response indicates that + the file or folder was deleted. The returned metadata will be the + corresponding :class:`dropbox.files.FileMetadata` or + :class:`dropbox.files.FolderMetadata` for the item at time of deletion, + and not a :class:`dropbox.files.DeletedMetadata` object. + + :param str path: Path in the user's Dropbox to delete. + :param Nullable parent_rev: Perform delete if given "rev" matches the + existing file's latest "rev". This field does not support deleting a + folder. + :rtype: :class:`dropbox.files.Metadata` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: :class:`dropbox.files.DeleteError` """ warnings.warn( - 'delete is deprecated. Use delete_v2.', + 'delete is deprecated. Use delete.', DeprecationWarning, ) - arg = files.DeleteArg(path) + arg = files.DeleteArg(path, + parent_rev) r = self.request( files.delete, 'files', @@ -929,12 +1168,12 @@ class DropboxBase(object): :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.files.DeleteBatchJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( files.delete_batch_check, 'files', @@ -943,32 +1182,6 @@ class DropboxBase(object): ) return r - def files_delete_v2(self, - path): - """ - Delete the file or folder at a given path. If the path is a folder, all - its contents will be deleted too. A successful response indicates that - the file or folder was deleted. The returned metadata will be the - corresponding :class:`dropbox.files.FileMetadata` or - :class:`dropbox.files.FolderMetadata` for the item at time of deletion, - and not a :class:`dropbox.files.DeletedMetadata` object. - - :param str path: Path in the user's Dropbox to delete. - :rtype: :class:`dropbox.files.DeleteResult` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.DeleteError` - """ - arg = files.DeleteArg(path) - r = self.request( - files.delete_v2, - 'files', - arg, - None, - ) - return r - def files_download(self, path, rev=None): @@ -979,9 +1192,9 @@ class DropboxBase(object): :param Nullable rev: Please specify revision in ``path`` instead. :rtype: (:class:`dropbox.files.FileMetadata`, :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.DownloadError` If you do not consume the entire response body, then you must call close @@ -1010,11 +1223,10 @@ class DropboxBase(object): :param str download_path: Path on local machine to save file. :param str path: The path of the file to download. :param Nullable rev: Please specify revision in ``path`` instead. - :rtype: (:class:`dropbox.files.FileMetadata`, - :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :rtype: :class:`dropbox.files.FileMetadata` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.DownloadError` """ arg = files.DownloadArg(path, @@ -1028,11 +1240,126 @@ class DropboxBase(object): self._save_body_to_file(download_path, r[1]) return r[0] + def files_download_zip(self, + path): + """ + Download a folder from the user's Dropbox, as a zip file. The folder + must be less than 20 GB in size and have fewer than 10,000 total files. + The input cannot be a single file. Any single file must be less than 4GB + in size. + + :param str path: The path of the folder to download. + :rtype: (:class:`dropbox.files.DownloadZipResult`, + :class:`requests.models.Response`) + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.DownloadZipError` + + If you do not consume the entire response body, then you must call close + on the response object, otherwise you will max out your available + connections. We recommend using the `contextlib.closing + `_ + context manager to ensure this. + """ + arg = files.DownloadZipArg(path) + r = self.request( + files.download_zip, + 'files', + arg, + None, + ) + return r + + def files_download_zip_to_file(self, + download_path, + path): + """ + Download a folder from the user's Dropbox, as a zip file. The folder + must be less than 20 GB in size and have fewer than 10,000 total files. + The input cannot be a single file. Any single file must be less than 4GB + in size. + + :param str download_path: Path on local machine to save file. + :param str path: The path of the folder to download. + :rtype: :class:`dropbox.files.DownloadZipResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.DownloadZipError` + """ + arg = files.DownloadZipArg(path) + r = self.request( + files.download_zip, + 'files', + arg, + None, + ) + self._save_body_to_file(download_path, r[1]) + return r[0] + + def files_export(self, + path): + """ + Export a file from a user's Dropbox. This route only supports exporting + files that cannot be downloaded directly and whose + ``ExportResult.file_metadata`` has ``ExportInfo.export_as`` populated. + + :param str path: The path of the file to be exported. + :rtype: (:class:`dropbox.files.ExportResult`, + :class:`requests.models.Response`) + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.ExportError` + + If you do not consume the entire response body, then you must call close + on the response object, otherwise you will max out your available + connections. We recommend using the `contextlib.closing + `_ + context manager to ensure this. + """ + arg = files.ExportArg(path) + r = self.request( + files.export, + 'files', + arg, + None, + ) + return r + + def files_export_to_file(self, + download_path, + path): + """ + Export a file from a user's Dropbox. This route only supports exporting + files that cannot be downloaded directly and whose + ``ExportResult.file_metadata`` has ``ExportInfo.export_as`` populated. + + :param str download_path: Path on local machine to save file. + :param str path: The path of the file to be exported. + :rtype: :class:`dropbox.files.ExportResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.ExportError` + """ + arg = files.ExportArg(path) + r = self.request( + files.export, + 'files', + arg, + None, + ) + self._save_body_to_file(download_path, r[1]) + return r[0] + def files_get_metadata(self, path, include_media_info=False, include_deleted=False, - include_has_explicit_shared_members=False): + include_has_explicit_shared_members=False, + include_property_groups=None): """ Returns the metadata for a file or folder. Note: Metadata for the root folder is unsupported. @@ -1047,16 +1374,21 @@ class DropboxBase(object): :param bool include_has_explicit_shared_members: If true, the results will include a flag for each file indicating whether or not that file has any explicit members. + :param Nullable include_property_groups: If set to a valid list of + template IDs, ``FileMetadata.property_groups`` is set if there + exists property data associated with the file and each of the listed + templates. :rtype: :class:`dropbox.files.Metadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.GetMetadataError` """ arg = files.GetMetadataArg(path, include_media_info, include_deleted, - include_has_explicit_shared_members) + include_has_explicit_shared_members, + include_property_groups) r = self.request( files.get_metadata, 'files', @@ -1071,17 +1403,18 @@ class DropboxBase(object): """ 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. + .gdoc, .gslides, .odp, .odt, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, + .rtf. HTML previews are generated for files with the following + extensions: .csv, .ods, .xls, .xlsm, .gsheet, .xlsx. Other formats will + return an unsupported extension error. :param str path: The path of the file to preview. :param Nullable rev: Please specify revision in ``path`` instead. :rtype: (:class:`dropbox.files.FileMetadata`, :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.PreviewError` If you do not consume the entire response body, then you must call close @@ -1107,18 +1440,18 @@ class DropboxBase(object): """ 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. + .gdoc, .gslides, .odp, .odt, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, + .rtf. HTML previews are generated for files with the following + extensions: .csv, .ods, .xls, .xlsm, .gsheet, .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. :param Nullable rev: Please specify revision in ``path`` instead. - :rtype: (:class:`dropbox.files.FileMetadata`, - :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :rtype: :class:`dropbox.files.FileMetadata` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.PreviewError` """ arg = files.PreviewArg(path, @@ -1136,14 +1469,15 @@ class DropboxBase(object): path): """ Get a temporary link to stream content of a file. This link will expire - in four hours and afterwards you will get 410 Gone. Content-Type of the - link is determined automatically by the file's mime type. + in four hours and afterwards you will get 410 Gone. This URL should not + be used to display content directly in the browser. The Content-Type of + the link is determined automatically by the file's mime type. :param str path: The path to the file you want a temporary link to. :rtype: :class:`dropbox.files.GetTemporaryLinkResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.GetTemporaryLinkError` """ arg = files.GetTemporaryLinkArg(path) @@ -1155,10 +1489,65 @@ class DropboxBase(object): ) return r + def files_get_temporary_upload_link(self, + commit_info, + duration=14400.0): + """ + Get a one-time use temporary upload link to upload a file to a Dropbox + location. This endpoint acts as a delayed :meth:`files_upload`. The + returned temporary upload link may be used to make a POST request with + the data to be uploaded. The upload will then be perfomed with the + :class:`dropbox.files.CommitInfo` previously provided to + :meth:`files_get_temporary_upload_link` but evaluated only upon + consumption. Hence, errors stemming from invalid + :class:`dropbox.files.CommitInfo` with respect to the state of the + user's Dropbox will only be communicated at consumption time. + Additionally, these errors are surfaced as generic HTTP 409 Conflict + responses, potentially hiding issue details. The maximum temporary + upload link duration is 4 hours. Upon consumption or expiration, a new + link will have to be generated. Multiple links may exist for a specific + upload path at any given time. The POST request on the temporary upload + link must have its Content-Type set to "application/octet-stream". + Example temporary upload link consumption request: curl -X POST + https://dl.dropboxusercontent.com/apitul/1/bNi2uIYF51cVBND --header + "Content-Type: application/octet-stream" --data-binary @local_file.txt + A successful temporary upload link consumption request returns the + content hash of the uploaded data in JSON format. Example succesful + temporary upload link consumption response: {"content-hash": + "599d71033d700ac892a0e48fa61b125d2f5994"} An unsuccessful temporary + upload link consumption request returns any of the following status + codes: HTTP 400 Bad Request: Content-Type is not one of + application/octet-stream and text/plain or request is invalid. HTTP 409 + Conflict: The temporary upload link does not exist or is currently + unavailable, the upload failed, or another error happened. HTTP 410 + Gone: The temporary upload link is expired or consumed. Example + unsuccessful temporary upload link consumption response: Temporary + upload link has been recently consumed. + + :param commit_info: Contains the path and other optional modifiers for + the future upload commit. Equivalent to the parameters provided to + :meth:`files_upload`. + :type commit_info: :class:`dropbox.files.CommitInfo` + :param float duration: How long before this link expires, in seconds. + Attempting to start an upload with this link longer than this period + of time after link creation will result in an error. + :rtype: :class:`dropbox.files.GetTemporaryUploadLinkResult` + """ + arg = files.GetTemporaryUploadLinkArg(commit_info, + duration) + r = self.request( + files.get_temporary_upload_link, + 'files', + arg, + None, + ) + return r + def files_get_thumbnail(self, path, format=files.ThumbnailFormat.jpeg, - size=files.ThumbnailSize.w64h64): + size=files.ThumbnailSize.w64h64, + mode=files.ThumbnailMode.strict): """ Get a thumbnail for an image. This method currently supports files with the following file extensions: jpg, jpeg, png, tiff, tif, gif and bmp. @@ -1172,11 +1561,14 @@ class DropboxBase(object): :type format: :class:`dropbox.files.ThumbnailFormat` :param size: The size for the thumbnail image. :type size: :class:`dropbox.files.ThumbnailSize` + :param mode: How to resize and crop the image to achieve the desired + size. + :type mode: :class:`dropbox.files.ThumbnailMode` :rtype: (:class:`dropbox.files.FileMetadata`, :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.ThumbnailError` If you do not consume the entire response body, then you must call close @@ -1187,7 +1579,8 @@ class DropboxBase(object): """ arg = files.ThumbnailArg(path, format, - size) + size, + mode) r = self.request( files.get_thumbnail, 'files', @@ -1200,7 +1593,8 @@ class DropboxBase(object): download_path, path, format=files.ThumbnailFormat.jpeg, - size=files.ThumbnailSize.w64h64): + size=files.ThumbnailSize.w64h64, + mode=files.ThumbnailMode.strict): """ Get a thumbnail for an image. This method currently supports files with the following file extensions: jpg, jpeg, png, tiff, tif, gif and bmp. @@ -1215,16 +1609,19 @@ class DropboxBase(object): :type format: :class:`dropbox.files.ThumbnailFormat` :param size: The size for the thumbnail image. :type size: :class:`dropbox.files.ThumbnailSize` - :rtype: (:class:`dropbox.files.FileMetadata`, - :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :param mode: How to resize and crop the image to achieve the desired + size. + :type mode: :class:`dropbox.files.ThumbnailMode` + :rtype: :class:`dropbox.files.FileMetadata` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.ThumbnailError` """ arg = files.ThumbnailArg(path, format, - size) + size, + mode) r = self.request( files.get_thumbnail, 'files', @@ -1244,9 +1641,9 @@ class DropboxBase(object): :param list entries: List of files to get thumbnails. :rtype: :class:`dropbox.files.GetThumbnailBatchResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.GetThumbnailBatchError` """ arg = files.GetThumbnailBatchArg(entries) @@ -1266,7 +1663,9 @@ class DropboxBase(object): include_has_explicit_shared_members=False, include_mounted_folders=True, limit=None, - shared_link=None): + shared_link=None, + include_property_groups=None, + include_non_downloadable_files=True): """ Starts returning the contents of a folder. If the result's ``ListFolderResult.has_more`` field is ``True``, call @@ -1298,7 +1697,8 @@ class DropboxBase(object): applied recursively to all subfolders and the response will contain contents of all subfolders. :param bool include_media_info: If true, ``FileMetadata.media_info`` is - set for photo and video. + set for photo and video. This parameter will no longer have an + effect starting December 2, 2019. :param bool include_deleted: If true, the results will include entries for files and folders that used to exist but were deleted. :param bool include_has_explicit_shared_members: If true, the results @@ -1315,10 +1715,16 @@ class DropboxBase(object): this field is present, ``ListFolderArg.path`` will be relative to root of the shared link. Only non-recursive mode is supported for shared link. + :param Nullable include_property_groups: If set to a valid list of + template IDs, ``FileMetadata.property_groups`` is set if there + exists property data associated with the file and each of the listed + templates. + :param bool include_non_downloadable_files: If true, include files that + are not downloadable, i.e. Google Docs. :rtype: :class:`dropbox.files.ListFolderResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.ListFolderError` """ arg = files.ListFolderArg(path, @@ -1328,7 +1734,9 @@ class DropboxBase(object): include_has_explicit_shared_members, include_mounted_folders, limit, - shared_link) + shared_link, + include_property_groups, + include_non_downloadable_files) r = self.request( files.list_folder, 'files', @@ -1347,9 +1755,9 @@ class DropboxBase(object): :param str cursor: The cursor returned by your last call to :meth:`files_list_folder` or :meth:`files_list_folder_continue`. :rtype: :class:`dropbox.files.ListFolderResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.ListFolderContinueError` """ arg = files.ListFolderContinueArg(cursor) @@ -1369,7 +1777,9 @@ class DropboxBase(object): include_has_explicit_shared_members=False, include_mounted_folders=True, limit=None, - shared_link=None): + shared_link=None, + include_property_groups=None, + include_non_downloadable_files=True): """ A way to quickly get a cursor for the folder's state. Unlike :meth:`files_list_folder`, :meth:`files_list_folder_get_latest_cursor` @@ -1382,7 +1792,8 @@ class DropboxBase(object): applied recursively to all subfolders and the response will contain contents of all subfolders. :param bool include_media_info: If true, ``FileMetadata.media_info`` is - set for photo and video. + set for photo and video. This parameter will no longer have an + effect starting December 2, 2019. :param bool include_deleted: If true, the results will include entries for files and folders that used to exist but were deleted. :param bool include_has_explicit_shared_members: If true, the results @@ -1399,10 +1810,16 @@ class DropboxBase(object): this field is present, ``ListFolderArg.path`` will be relative to root of the shared link. Only non-recursive mode is supported for shared link. + :param Nullable include_property_groups: If set to a valid list of + template IDs, ``FileMetadata.property_groups`` is set if there + exists property data associated with the file and each of the listed + templates. + :param bool include_non_downloadable_files: If true, include files that + are not downloadable, i.e. Google Docs. :rtype: :class:`dropbox.files.ListFolderGetLatestCursorResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.ListFolderError` """ arg = files.ListFolderArg(path, @@ -1412,7 +1829,9 @@ class DropboxBase(object): include_has_explicit_shared_members, include_mounted_folders, limit, - shared_link) + shared_link, + include_property_groups, + include_non_downloadable_files) r = self.request( files.list_folder_get_latest_cursor, 'files', @@ -1436,15 +1855,15 @@ class DropboxBase(object): :param str cursor: A cursor as returned by :meth:`files_list_folder` or :meth:`files_list_folder_continue`. Cursors retrieved by setting ``ListFolderArg.include_media_info`` to ``True`` are not supported. - :param long timeout: A timeout in seconds. The request will block for at + :param int timeout: A timeout in seconds. The request will block for at most this length of time, plus up to 90 seconds of random jitter added to avoid the thundering herd problem. Care should be taken when using this parameter, as some network infrastructure does not support long timeouts. :rtype: :class:`dropbox.files.ListFolderLongpollResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.ListFolderLongpollError` """ arg = files.ListFolderLongpollArg(cursor, @@ -1476,11 +1895,11 @@ class DropboxBase(object): :param mode: Determines the behavior of the API in listing the revisions for a given file path or id. :type mode: :class:`dropbox.files.ListRevisionsMode` - :param long limit: The maximum number of revision entries returned. + :param int limit: The maximum number of revision entries returned. :rtype: :class:`dropbox.files.ListRevisionsResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.ListRevisionsError` """ arg = files.ListRevisionsArg(path, @@ -1494,110 +1913,6 @@ class DropboxBase(object): ) return r - def files_move(self, - from_path, - to_path, - allow_shared_folder=False, - autorename=False, - allow_ownership_transfer=False): - """ - Move a file or folder to a different location in the user's Dropbox. If - the source path is a folder all its contents will be moved. - - :param bool allow_shared_folder: If true, :meth:`files_copy` will copy - contents in shared folder, otherwise - ``RelocationError.cant_copy_shared_folder`` will be returned if - ``from_path`` contains shared folder. This field is always true for - :meth:`files_move`. - :param bool autorename: If there's a conflict, have the Dropbox server - try to autorename the file to avoid the conflict. - :param bool allow_ownership_transfer: Allow moves by owner even if it - would result in an ownership transfer for the content being moved. - This does not apply to copies. - :rtype: :class:`dropbox.files.Metadata` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.RelocationError` - """ - warnings.warn( - 'move is deprecated. Use move_v2.', - DeprecationWarning, - ) - arg = files.RelocationArg(from_path, - to_path, - allow_shared_folder, - autorename, - allow_ownership_transfer) - r = self.request( - files.move, - 'files', - arg, - None, - ) - return r - - def files_move_batch(self, - entries, - allow_shared_folder=False, - autorename=False, - allow_ownership_transfer=False): - """ - Move multiple files or folders to different locations at once in the - user's Dropbox. This route is 'all or nothing', which means if one entry - fails, the whole transaction will abort. This route will return job ID - immediately and do the async moving job in background. Please use - :meth:`files_move_batch_check` to check the job status. - - :param list entries: List of entries to be moved or copied. Each entry - is :class:`dropbox.files.RelocationPath`. - :param bool allow_shared_folder: If true, :meth:`files_copy_batch` will - copy contents in shared folder, otherwise - ``RelocationError.cant_copy_shared_folder`` will be returned if - ``RelocationPath.from_path`` contains shared folder. This field is - always true for :meth:`files_move_batch`. - :param bool autorename: If there's a conflict with any file, have the - Dropbox server try to autorename that file to avoid the conflict. - :param bool allow_ownership_transfer: Allow moves by owner even if it - would result in an ownership transfer for the content being moved. - This does not apply to copies. - :rtype: :class:`dropbox.files.RelocationBatchLaunch` - """ - arg = files.RelocationBatchArg(entries, - allow_shared_folder, - autorename, - allow_ownership_transfer) - r = self.request( - files.move_batch, - 'files', - arg, - None, - ) - return r - - def files_move_batch_check(self, - async_job_id): - """ - Returns the status of an asynchronous job for :meth:`files_move_batch`. - If success, it returns list of results for each entry. - - :param str async_job_id: Id of the asynchronous job. This is the value - of a response returned from the method that launched the job. - :rtype: :class:`dropbox.files.RelocationBatchJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.PollError` - """ - arg = async.PollArg(async_job_id) - r = self.request( - files.move_batch_check, - 'files', - arg, - None, - ) - return r - def files_move_v2(self, from_path, to_path, @@ -1619,9 +1934,9 @@ class DropboxBase(object): would result in an ownership transfer for the content being moved. This does not apply to copies. :rtype: :class:`dropbox.files.RelocationResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.RelocationError` """ arg = files.RelocationArg(from_path, @@ -1637,21 +1952,178 @@ class DropboxBase(object): ) return r + def files_move(self, + from_path, + to_path, + allow_shared_folder=False, + autorename=False, + allow_ownership_transfer=False): + """ + Move a file or folder to a different location in the user's Dropbox. If + the source path is a folder all its contents will be moved. + + :param bool allow_shared_folder: If true, :meth:`files_copy` will copy + contents in shared folder, otherwise + ``RelocationError.cant_copy_shared_folder`` will be returned if + ``from_path`` contains shared folder. This field is always true for + :meth:`files_move`. + :param bool autorename: If there's a conflict, have the Dropbox server + try to autorename the file to avoid the conflict. + :param bool allow_ownership_transfer: Allow moves by owner even if it + would result in an ownership transfer for the content being moved. + This does not apply to copies. + :rtype: :class:`dropbox.files.Metadata` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.RelocationError` + """ + warnings.warn( + 'move is deprecated. Use move.', + DeprecationWarning, + ) + arg = files.RelocationArg(from_path, + to_path, + allow_shared_folder, + autorename, + allow_ownership_transfer) + r = self.request( + files.move, + 'files', + arg, + None, + ) + return r + + def files_move_batch_v2(self, + entries, + autorename=False, + allow_ownership_transfer=False): + """ + Move multiple files or folders to different locations at once in the + user's Dropbox. This route will replace :meth:`files_move_batch`. The + main difference is this route will return status for each entry, while + :meth:`files_move_batch` raises failure if any entry fails. This route + will either finish synchronously, or return a job ID and do the async + move job in background. Please use :meth:`files_move_batch_check_v2` to + check the job status. + + :param bool allow_ownership_transfer: Allow moves by owner even if it + would result in an ownership transfer for the content being moved. + This does not apply to copies. + :rtype: :class:`dropbox.files.RelocationBatchV2Launch` + """ + arg = files.MoveBatchArg(entries, + autorename, + allow_ownership_transfer) + r = self.request( + files.move_batch_v2, + 'files', + arg, + None, + ) + return r + + def files_move_batch(self, + entries, + autorename=False, + allow_shared_folder=False, + allow_ownership_transfer=False): + """ + Move multiple files or folders to different locations at once in the + user's Dropbox. This route is 'all or nothing', which means if one entry + fails, the whole transaction will abort. This route will return job ID + immediately and do the async moving job in background. Please use + :meth:`files_move_batch_check` to check the job status. + + :param bool allow_shared_folder: If true, :meth:`files_copy_batch` will + copy contents in shared folder, otherwise + ``RelocationError.cant_copy_shared_folder`` will be returned if + ``RelocationPath.from_path`` contains shared folder. This field is + always true for :meth:`files_move_batch`. + :param bool allow_ownership_transfer: Allow moves by owner even if it + would result in an ownership transfer for the content being moved. + This does not apply to copies. + :rtype: :class:`dropbox.files.RelocationBatchLaunch` + """ + arg = files.RelocationBatchArg(entries, + autorename, + allow_shared_folder, + allow_ownership_transfer) + r = self.request( + files.move_batch, + 'files', + arg, + None, + ) + return r + + def files_move_batch_check_v2(self, + async_job_id): + """ + Returns the status of an asynchronous job for + :meth:`files_move_batch_v2`. It returns list of results for each entry. + + :param str async_job_id: Id of the asynchronous job. This is the value + of a response returned from the method that launched the job. + :rtype: :class:`dropbox.files.RelocationBatchV2JobStatus` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.PollError` + """ + arg = async_.PollArg(async_job_id) + r = self.request( + files.move_batch_check_v2, + 'files', + arg, + None, + ) + return r + + def files_move_batch_check(self, + async_job_id): + """ + Returns the status of an asynchronous job for :meth:`files_move_batch`. + If success, it returns list of results for each entry. + + :param str async_job_id: Id of the asynchronous job. This is the value + of a response returned from the method that launched the job. + :rtype: :class:`dropbox.files.RelocationBatchJobStatus` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.PollError` + """ + arg = async_.PollArg(async_job_id) + r = self.request( + files.move_batch_check, + 'files', + arg, + None, + ) + return r + def files_permanently_delete(self, - path): + path, + parent_rev=None): """ Permanently delete the file or folder at a given path (see https://www.dropbox.com/en/help/40). Note: This endpoint is only available for Dropbox Business apps. :param str path: Path in the user's Dropbox to delete. + :param Nullable parent_rev: Perform delete if given "rev" matches the + existing file's latest "rev". This field does not support deleting a + folder. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.DeleteError` """ - arg = files.DeleteArg(path) + arg = files.DeleteArg(path, + parent_rev) r = self.request( files.permanently_delete, 'files', @@ -1668,9 +2140,9 @@ class DropboxBase(object): :param list property_groups: The property groups which are to be added to a Dropbox file. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.AddPropertiesError` """ warnings.warn( @@ -1695,9 +2167,9 @@ class DropboxBase(object): :param list property_groups: The property groups "snapshot" updates to force apply. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.InvalidPropertyGroupError` """ warnings.warn( @@ -1723,9 +2195,9 @@ class DropboxBase(object): created by :meth:`files_templates_add_for_user` or :meth:`files_templates_add_for_team`. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.RemovePropertiesError` """ warnings.warn( @@ -1749,9 +2221,9 @@ class DropboxBase(object): :meth:`files_templates_add_for_user` or :meth:`files_templates_add_for_team`. :rtype: :class:`dropbox.files.GetTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.TemplateError` """ warnings.warn( @@ -1789,9 +2261,9 @@ class DropboxBase(object): :param list update_property_groups: The property groups "delta" updates to apply. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.UpdatePropertiesError` """ warnings.warn( @@ -1812,14 +2284,14 @@ class DropboxBase(object): path, rev): """ - Restore a file to a specific revision. + Restore a specific revision of a file to the given path. - :param str path: The path to the file you want to restore. - :param str rev: The revision to restore for the file. + :param str path: The path to save the restored file. + :param str rev: The revision to restore. :rtype: :class:`dropbox.files.FileMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.RestoreError` """ arg = files.RestoreArg(path, @@ -1836,16 +2308,18 @@ class DropboxBase(object): path, url): """ - Save a specified URL into a file in user's Dropbox. If the given path - already exists, the file will be renamed to avoid the conflict (e.g. - myfile (1).txt). + Save the data from a specified URL into a file in user's Dropbox. Note + that the transfer from the URL must complete within 5 minutes, or the + operation will time out and the job will fail. If the given path already + exists, the file will be renamed to avoid the conflict (e.g. myfile + (1).txt). :param str path: The path in Dropbox where the URL will be saved to. :param str url: The URL to be saved. :rtype: :class:`dropbox.files.SaveUrlResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.SaveUrlError` """ arg = files.SaveUrlArg(path, @@ -1866,12 +2340,12 @@ class DropboxBase(object): :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.files.SaveUrlJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( files.save_url_check_job_status, 'files', @@ -1896,17 +2370,17 @@ class DropboxBase(object): on spaces into multiple tokens. For file name searching, the last token is used for prefix matching (i.e. "bat c" matches "bat cave" but not "batman car"). - :param long start: The starting index within the search results (used - for paging). - :param long max_results: The maximum number of search results to return. + :param int start: The starting index within the search results (used for + paging). + :param int max_results: The maximum number of search results to return. :param mode: The search mode (filename, filename_and_content, or deleted_filename). Note that searching file content is only available for Dropbox Business accounts. :type mode: :class:`dropbox.files.SearchMode` :rtype: :class:`dropbox.files.SearchResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.SearchError` """ arg = files.SearchArg(path, @@ -1928,11 +2402,17 @@ class DropboxBase(object): mode=files.WriteMode.add, autorename=False, client_modified=None, - mute=False): + mute=False, + property_groups=None, + strict_conflict=False): """ Create a new file with the contents provided in the request. Do not use this to upload a file larger than 150 MB. Instead, create an upload - session with :meth:`files_upload_session_start`. + session with :meth:`files_upload_session_start`. Calls to this endpoint + will count as data transport calls for any Dropbox Business teams with a + limit on the number of data transport calls allowed per month. For more + information, see the `Data transport limit page + `_. :param bytes f: Contents to upload. :param str path: Path in the user's Dropbox to save the file. @@ -1951,17 +2431,26 @@ class DropboxBase(object): modifications in their Dropbox account via notifications in the client software. If ``True``, this tells the clients that this modification shouldn't result in a user notification. + :param Nullable property_groups: List of custom properties to add to + file. + :param bool strict_conflict: Be more strict about how each + :class:`dropbox.files.WriteMode` detects conflict. For example, + always return a conflict error when ``mode`` = ``WriteMode.update`` + and the given "rev" doesn't match the existing file's "rev", even if + the existing file has been deleted. :rtype: :class:`dropbox.files.FileMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.UploadError` """ arg = files.CommitInfo(path, mode, autorename, client_modified, - mute) + mute, + property_groups, + strict_conflict) r = self.request( files.upload, 'files', @@ -1970,40 +2459,6 @@ class DropboxBase(object): ) return r - def files_upload_session_append(self, - f, - session_id, - offset): - """ - Append more data to an upload session. A single request should not - upload more than 150 MB. - - :param bytes f: Contents to upload. - :param str session_id: The upload session ID (returned by - :meth:`files_upload_session_start`). - :param long offset: The amount of data that has been uploaded so far. We - use this to make sure upload data isn't lost or duplicated in the - event of a network error. - :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` - - If this raises, ApiError.reason is of type: - :class:`dropbox.files.UploadSessionLookupError` - """ - warnings.warn( - 'upload_session/append is deprecated. Use upload_session/append_v2.', - DeprecationWarning, - ) - arg = files.UploadSessionCursor(session_id, - offset) - r = self.request( - files.upload_session_append, - 'files', - arg, - f, - ) - return None - def files_upload_session_append_v2(self, f, cursor, @@ -2011,7 +2466,12 @@ class DropboxBase(object): """ 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. + more than 150 MB. The maximum size of a file one can upload to an upload + session is 350 GB. Calls to this endpoint will count as data transport + calls for any Dropbox Business teams with a limit on the number of data + transport calls allowed per month. For more information, see the `Data + transport limit page + `_. :param bytes f: Contents to upload. :param cursor: Contains the upload session ID and the offset. @@ -2021,9 +2481,9 @@ class DropboxBase(object): :meth:`files_upload_session_append_v2` anymore with the current session. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.UploadSessionLookupError` """ arg = files.UploadSessionAppendArg(cursor, @@ -2036,13 +2496,58 @@ class DropboxBase(object): ) return None + def files_upload_session_append(self, + f, + session_id, + offset): + """ + Append more data to an upload session. A single request should not + upload more than 150 MB. The maximum size of a file one can upload to an + upload session is 350 GB. Calls to this endpoint will count as data + transport calls for any Dropbox Business teams with a limit on the + number of data transport calls allowed per month. For more information, + see the `Data transport limit page + `_. + + :param bytes f: Contents to upload. + :param str session_id: The upload session ID (returned by + :meth:`files_upload_session_start`). + :param int offset: The amount of data that has been uploaded so far. We + use this to make sure upload data isn't lost or duplicated in the + event of a network error. + :rtype: None + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.files.UploadSessionLookupError` + """ + warnings.warn( + 'upload_session/append is deprecated. Use upload_session/append.', + DeprecationWarning, + ) + arg = files.UploadSessionCursor(session_id, + offset) + r = self.request( + files.upload_session_append, + 'files', + arg, + f, + ) + return None + def files_upload_session_finish(self, f, cursor, 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. + path. A single request should not upload more than 150 MB. The maximum + size of a file one can upload to an upload session is 350 GB. Calls to + this endpoint will count as data transport calls for any Dropbox + Business teams with a limit on the number of data transport calls + allowed per month. For more information, see the `Data transport limit + page + `_. :param bytes f: Contents to upload. :param cursor: Contains the upload session ID and the offset. @@ -2051,9 +2556,9 @@ class DropboxBase(object): commit. :type commit: :class:`dropbox.files.CommitInfo` :rtype: :class:`dropbox.files.FileMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.UploadSessionFinishError` """ arg = files.UploadSessionFinishArg(cursor, @@ -2078,12 +2583,17 @@ class DropboxBase(object): upload sessions in a single request. ``UploadSessionStartArg.close`` or ``UploadSessionAppendArg.close`` needs to be true for the last :meth:`files_upload_session_start` or - :meth:`files_upload_session_append_v2` call. This route will return a + :meth:`files_upload_session_append_v2` call. The maximum size of a file + one can upload to an upload session is 350 GB. This route will return a job_id immediately and do the async commit job in background. Use :meth:`files_upload_session_finish_batch_check` to check the job status. For the same account, this route should be executed serially. That means you should not start the next job before current job finishes. We allow - up to 1000 entries in a single request. + up to 1000 entries in a single request. Calls to this endpoint will + count as data transport calls for any Dropbox Business teams with a + limit on the number of data transport calls allowed per month. For more + information, see the `Data transport limit page + `_. :param list entries: Commit information for each file in the batch. :rtype: :class:`dropbox.files.UploadSessionFinishBatchLaunch` @@ -2107,12 +2617,12 @@ class DropboxBase(object): :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.files.UploadSessionFinishBatchJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.files.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( files.upload_session_finish_batch_check, 'files', @@ -2130,12 +2640,18 @@ class DropboxBase(object): 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. An upload - session can be used for a maximum of 48 hours. Attempting to use an - ``UploadSessionStartResult.session_id`` with + Dropbox. A single request should not upload more than 150 MB. The + maximum size of a file one can upload to an upload session is 350 GB. 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``. + creation will return a ``UploadSessionLookupError.not_found``. Calls to + this endpoint will count as data transport calls for any Dropbox + Business teams with a limit on the number of data transport calls + allowed per month. For more information, see the `Data transport limit + page + `_. :param bytes f: Contents to upload. :param bool close: If true, the current session will be closed, at which @@ -2164,9 +2680,9 @@ class DropboxBase(object): :param str doc_id: The Paper doc ID. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.RefPaperDoc(doc_id) @@ -2192,9 +2708,9 @@ class DropboxBase(object): :param import_format: The format of provided data. :type import_format: :class:`dropbox.paper.ImportFormat` :rtype: :class:`dropbox.paper.PaperDocCreateUpdateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.PaperDocCreateError` """ arg = paper.PaperDocCreateArgs(import_format, @@ -2216,9 +2732,9 @@ class DropboxBase(object): :type export_format: :class:`dropbox.paper.ExportFormat` :rtype: (:class:`dropbox.paper.PaperDocExportResult`, :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` If you do not consume the entire response body, then you must call close @@ -2246,11 +2762,10 @@ class DropboxBase(object): :param str download_path: Path on local machine to save file. :type export_format: :class:`dropbox.paper.ExportFormat` - :rtype: (:class:`dropbox.paper.PaperDocExportResult`, - :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :rtype: :class:`dropbox.paper.PaperDocExportResult` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.PaperDocExport(doc_id, @@ -2277,9 +2792,9 @@ class DropboxBase(object): can be retrieved per batch is 1000. Higher value results in invalid arguments error. :rtype: :class:`dropbox.paper.ListUsersOnFolderResponse` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.ListUsersOnFolderArgs(doc_id, @@ -2305,9 +2820,9 @@ class DropboxBase(object): :meth:`paper_docs_folder_users_list_continue`. Allows for pagination. :rtype: :class:`dropbox.paper.ListUsersOnFolderResponse` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.ListUsersCursorError` """ arg = paper.ListUsersOnFolderContinueArgs(doc_id, @@ -2326,15 +2841,15 @@ class DropboxBase(object): Retrieves folder information for the given Paper doc. This includes: - folder sharing policy; permissions for subfolders are set by the top-level folder. - full 'filepath', i.e. the list of folders (both - folderId and folderName) from the root folder to the folder directly + folderId and folderName) from the root folder to the folder directly containing the Paper doc. Note: If the Paper doc is not in any folder (aka unfiled) the response will be empty. :param str doc_id: The Paper doc ID. :rtype: :class:`dropbox.paper.FoldersContainingPaperDoc` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.RefPaperDoc(doc_id) @@ -2390,9 +2905,9 @@ class DropboxBase(object): :param str cursor: The cursor obtained from :meth:`paper_docs_list` or :meth:`paper_docs_list_continue`. Allows for pagination. :rtype: :class:`dropbox.paper.ListPaperDocsResponse` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.ListDocsCursorError` """ arg = paper.ListPaperDocsContinueArgs(cursor) @@ -2413,9 +2928,9 @@ class DropboxBase(object): :param str doc_id: The Paper doc ID. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.RefPaperDoc(doc_id) @@ -2434,9 +2949,9 @@ class DropboxBase(object): :param str doc_id: The Paper doc ID. :rtype: :class:`dropbox.paper.SharingPolicy` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.RefPaperDoc(doc_id) @@ -2462,9 +2977,9 @@ class DropboxBase(object): Paper doc. :type sharing_policy: :class:`dropbox.paper.SharingPolicy` :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.PaperDocSharingPolicy(doc_id, @@ -2489,15 +3004,15 @@ class DropboxBase(object): :param bytes f: Contents to upload. :param doc_update_policy: The policy used for the current update call. :type doc_update_policy: :class:`dropbox.paper.PaperDocUpdatePolicy` - :param long revision: The latest doc revision. This value must match the + :param int revision: The latest doc revision. This value must match the head revision or an error code will be returned. This is to prevent colliding writes. :param import_format: The format of provided data. :type import_format: :class:`dropbox.paper.ImportFormat` :rtype: :class:`dropbox.paper.PaperDocCreateUpdateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.PaperDocUpdateError` """ arg = paper.PaperDocUpdateArgs(doc_id, @@ -2529,9 +3044,9 @@ class DropboxBase(object): :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` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.AddPaperDocUser(doc_id, @@ -2564,9 +3079,9 @@ class DropboxBase(object): that have already accessed the Paper doc. :type filter_by: :class:`dropbox.paper.UserOnPaperDocFilter` :rtype: :class:`dropbox.paper.ListUsersOnPaperDocResponse` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.ListUsersOnPaperDocArgs(doc_id, @@ -2591,9 +3106,9 @@ class DropboxBase(object): :meth:`paper_docs_users_list` or :meth:`paper_docs_users_list_continue`. Allows for pagination. :rtype: :class:`dropbox.paper.ListUsersOnPaperDocResponse` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.ListUsersCursorError` """ arg = paper.ListUsersOnPaperDocContinueArgs(doc_id, @@ -2617,9 +3132,9 @@ class DropboxBase(object): only email address or Dropbox account ID. :type member: :class:`dropbox.paper.MemberSelector` :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.paper.DocLookupError` """ arg = paper.RemovePaperDocUser(doc_id, @@ -2659,9 +3174,9 @@ class DropboxBase(object): :param bool add_message_as_comment: If the custom message should be added as a comment on the file. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.AddFileMemberError` """ arg = sharing.AddFileMemberArgs(file, @@ -2687,8 +3202,7 @@ class DropboxBase(object): Allows an owner or editor (if the ACL update policy allows) of a shared folder to add another member. For the new member to get access to all the functionality for this folder, you will need to call - :meth:`sharing_mount_folder` on their behalf. Apps must have full - Dropbox access to use this endpoint. + :meth:`sharing_mount_folder` on their behalf. :param str shared_folder_id: The ID for the shared folder. :param list members: The intended list of members to add. Added members @@ -2698,9 +3212,9 @@ class DropboxBase(object): :param Nullable custom_message: Optional message to display to added members in their invitation. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.AddFolderMemberError` """ arg = sharing.AddFolderMemberArg(shared_folder_id, @@ -2728,9 +3242,9 @@ class DropboxBase(object): :param access_level: The new access level for the member. :type access_level: :class:`dropbox.sharing.AccessLevel` :rtype: :class:`dropbox.sharing.FileMemberActionResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.FileMemberActionError` """ warnings.warn( @@ -2751,18 +3265,17 @@ class DropboxBase(object): def sharing_check_job_status(self, async_job_id): """ - Returns the status of an asynchronous job. Apps must have full Dropbox - access to use this endpoint. + Returns the status of an asynchronous job. :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.sharing.JobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( sharing.check_job_status, 'sharing', @@ -2774,18 +3287,17 @@ class DropboxBase(object): def sharing_check_remove_member_job_status(self, async_job_id): """ - Returns the status of an asynchronous job for sharing a folder. Apps - must have full Dropbox access to use this endpoint. + Returns the status of an asynchronous job for sharing a folder. :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.sharing.RemoveMemberJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( sharing.check_remove_member_job_status, 'sharing', @@ -2797,18 +3309,17 @@ class DropboxBase(object): def sharing_check_share_job_status(self, async_job_id): """ - Returns the status of an asynchronous job for sharing a folder. Apps - must have full Dropbox access to use this endpoint. + Returns the status of an asynchronous job for sharing a folder. :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.sharing.ShareFolderJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( sharing.check_share_job_status, 'sharing', @@ -2839,9 +3350,9 @@ class DropboxBase(object): ``PendingUploadMode.folder`` to indicate whether to assume it's a file or folder. :rtype: :class:`dropbox.sharing.PathLinkMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.CreateSharedLinkError` """ warnings.warn( @@ -2872,9 +3383,9 @@ class DropboxBase(object): :param Nullable settings: The requested settings for the newly created shared link. :rtype: :class:`dropbox.sharing.SharedLinkMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.CreateSharedLinkWithSettingsError` """ arg = sharing.CreateSharedLinkWithSettingsArg(path, @@ -2899,9 +3410,9 @@ class DropboxBase(object): ``SharedFileMetadata.permissions`` field describing the actions the authenticated user can perform on the file. :rtype: :class:`dropbox.sharing.SharedFileMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.GetFileMetadataError` """ arg = sharing.GetFileMetadataArg(file, @@ -2926,9 +3437,9 @@ class DropboxBase(object): ``SharedFileMetadata.permissions`` field describing the actions the authenticated user can perform on the file. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.SharingUserError` """ arg = sharing.GetFileMetadataBatchArg(files, @@ -2945,8 +3456,7 @@ class DropboxBase(object): shared_folder_id, actions=None): """ - Returns shared folder metadata by its folder ID. Apps must have full - Dropbox access to use this endpoint. + Returns shared folder metadata by its folder ID. :param str shared_folder_id: The ID for the shared folder. :param Nullable actions: A list of `FolderAction`s corresponding to @@ -2954,9 +3464,9 @@ class DropboxBase(object): ``SharedFolderMetadata.permissions`` field describing the actions the authenticated user can perform on the folder. :rtype: :class:`dropbox.sharing.SharedFolderMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.SharedFolderAccessError` """ arg = sharing.GetMetadataArgs(shared_folder_id, @@ -2984,9 +3494,9 @@ class DropboxBase(object): parameter can be used. :rtype: (:class:`dropbox.sharing.SharedLinkMetadata`, :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.GetSharedLinkFileError` If you do not consume the entire response body, then you must call close @@ -3021,11 +3531,10 @@ class DropboxBase(object): sub-folder in this folder. A relative path should be used. :param Nullable link_password: If the shared link has a password, this parameter can be used. - :rtype: (:class:`dropbox.sharing.SharedLinkMetadata`, - :class:`requests.models.Response`) - :raises: :class:`dropbox.exceptions.ApiError` + :rtype: :class:`dropbox.sharing.SharedLinkMetadata` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.GetSharedLinkFileError` """ arg = sharing.GetSharedLinkMetadataArg(url, @@ -3054,9 +3563,9 @@ class DropboxBase(object): :param Nullable link_password: If the shared link has a password, this parameter can be used. :rtype: :class:`dropbox.sharing.SharedLinkMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.SharedLinkError` """ arg = sharing.GetSharedLinkMetadataArg(url, @@ -3083,9 +3592,9 @@ class DropboxBase(object): :param Nullable path: See :meth:`sharing_get_shared_links` description. :rtype: :class:`dropbox.sharing.GetSharedLinksResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.GetSharedLinksError` """ warnings.warn( @@ -3115,12 +3624,12 @@ class DropboxBase(object): a member. :param bool include_inherited: Whether to include members who only have access from a parent shared folder. - :param long limit: Number of members to return max per query. Defaults - to 100 if no limit is specified. + :param int limit: Number of members to return max per query. Defaults to + 100 if no limit is specified. :rtype: :class:`dropbox.sharing.SharedFileMembers` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ListFileMembersError` """ arg = sharing.ListFileMembersArg(file, @@ -3146,12 +3655,12 @@ class DropboxBase(object): permissions are not returned for this endpoint. :param list files: Files for which to return members. - :param long limit: Number of members to return max per query. Defaults - to 10 if no limit is specified. + :param int limit: Number of members to return max per query. Defaults to + 10 if no limit is specified. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.SharingUserError` """ arg = sharing.ListFileMembersBatchArg(files, @@ -3176,9 +3685,9 @@ class DropboxBase(object): :meth:`sharing_list_file_members_continue`, or :meth:`sharing_list_file_members_batch`. :rtype: :class:`dropbox.sharing.SharedFileMembers` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ListFileMembersContinueError` """ arg = sharing.ListFileMembersContinueArg(cursor) @@ -3195,14 +3704,13 @@ class DropboxBase(object): actions=None, limit=1000): """ - Returns shared folder membership by its folder ID. Apps must have full - Dropbox access to use this endpoint. + Returns shared folder membership by its folder ID. :param str shared_folder_id: The ID for the shared folder. :rtype: :class:`dropbox.sharing.SharedFolderMembers` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.SharedFolderAccessError` """ arg = sharing.ListFolderMembersArgs(shared_folder_id, @@ -3221,16 +3729,15 @@ class DropboxBase(object): """ Once a cursor has been retrieved from :meth:`sharing_list_folder_members`, use this to paginate through all - shared folder members. Apps must have full Dropbox access to use this - endpoint. + shared folder members. :param str cursor: The cursor returned by your last call to :meth:`sharing_list_folder_members` or :meth:`sharing_list_folder_members_continue`. :rtype: :class:`dropbox.sharing.SharedFolderMembers` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ListFolderMembersContinueError` """ arg = sharing.ListFolderMembersContinueArg(cursor) @@ -3247,9 +3754,8 @@ class DropboxBase(object): actions=None): """ Return the list of all shared folders the current user has access to. - Apps must have full Dropbox access to use this endpoint. - :param long limit: The maximum number of results to return per request. + :param int limit: The maximum number of results to return per request. :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 @@ -3272,15 +3778,14 @@ class DropboxBase(object): Once a cursor has been retrieved from :meth:`sharing_list_folders`, use this to paginate through all shared folders. The cursor must come from a previous call to :meth:`sharing_list_folders` or - :meth:`sharing_list_folders_continue`. Apps must have full Dropbox - access to use this endpoint. + :meth:`sharing_list_folders_continue`. :param str cursor: The cursor returned by the previous API call specified in the endpoint description. :rtype: :class:`dropbox.sharing.ListFoldersResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ListFoldersContinueError` """ arg = sharing.ListFoldersContinueArg(cursor) @@ -3297,9 +3802,9 @@ class DropboxBase(object): actions=None): """ Return the list of all shared folders the current user can mount or - unmount. Apps must have full Dropbox access to use this endpoint. + unmount. - :param long limit: The maximum number of results to return per request. + :param int limit: The maximum number of results to return per request. :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 @@ -3323,15 +3828,14 @@ class DropboxBase(object): :meth:`sharing_list_mountable_folders`, use this to paginate through all mountable shared folders. The cursor must come from a previous call to :meth:`sharing_list_mountable_folders` or - :meth:`sharing_list_mountable_folders_continue`. Apps must have full - Dropbox access to use this endpoint. + :meth:`sharing_list_mountable_folders_continue`. :param str cursor: The cursor returned by the previous API call specified in the endpoint description. :rtype: :class:`dropbox.sharing.ListFoldersResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ListFoldersContinueError` """ arg = sharing.ListFoldersContinueArg(cursor) @@ -3351,16 +3855,16 @@ class DropboxBase(object): files the user has received via shared folders, and does not include unclaimed invitations. - :param long limit: Number of files to return max per query. Defaults to + :param int limit: Number of files to return max per query. Defaults to 100 if no limit is specified. :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` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.SharingUserError` """ arg = sharing.ListFilesArg(limit, @@ -3380,9 +3884,9 @@ class DropboxBase(object): :param str cursor: Cursor in ``ListFilesResult.cursor``. :rtype: :class:`dropbox.sharing.ListFilesResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ListFilesContinueError` """ arg = sharing.ListFilesContinueArg(cursor) @@ -3412,9 +3916,9 @@ class DropboxBase(object): :param Nullable direct_only: See :meth:`sharing_list_shared_links` description. :rtype: :class:`dropbox.sharing.ListSharedLinksResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ListSharedLinksError` """ arg = sharing.ListSharedLinksArg(path, @@ -3448,9 +3952,9 @@ class DropboxBase(object): :param bool remove_expiration: If set to true, removes the expiration of the shared link. :rtype: :class:`dropbox.sharing.SharedLinkMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ModifySharedLinkSettingsError` """ arg = sharing.ModifySharedLinkSettingsArgs(url, @@ -3469,14 +3973,13 @@ class DropboxBase(object): """ The current user mounts the designated folder. Mount a shared folder for a user after they have been added as a member. Once mounted, the shared - folder will appear in their Dropbox. Apps must have full Dropbox access - to use this endpoint. + folder will appear in their Dropbox. :param str shared_folder_id: The ID of the shared folder to mount. :rtype: :class:`dropbox.sharing.SharedFolderMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.MountFolderError` """ arg = sharing.MountFolderArg(shared_folder_id) @@ -3493,14 +3996,13 @@ class DropboxBase(object): """ The current user relinquishes their membership in the designated file. Note that the current user may still have inherited access to this file - through the parent folder. Apps must have full Dropbox access to use - this endpoint. + through the parent folder. :param str file: The path or id for the file. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.RelinquishFileMembershipError` """ arg = sharing.RelinquishFileMembershipArg(file) @@ -3520,16 +4022,15 @@ class DropboxBase(object): folder and will no longer have access to the folder. A folder owner cannot relinquish membership in their own folder. This will run synchronously if leave_a_copy is false, and asynchronously if - leave_a_copy is true. Apps must have full Dropbox access to use this - endpoint. + leave_a_copy is true. :param str shared_folder_id: The ID for the shared folder. :param bool leave_a_copy: Keep a copy of the folder's contents upon relinquishing membership. :rtype: :class:`dropbox.sharing.LaunchEmptyResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.RelinquishFolderMembershipError` """ arg = sharing.RelinquishFolderMembershipArg(shared_folder_id, @@ -3555,9 +4056,9 @@ class DropboxBase(object): address. :type member: :class:`dropbox.sharing.MemberSelector` :rtype: :class:`dropbox.sharing.FileMemberActionIndividualResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.RemoveFileMemberError` """ warnings.warn( @@ -3587,9 +4088,9 @@ class DropboxBase(object): address. :type member: :class:`dropbox.sharing.MemberSelector` :rtype: :class:`dropbox.sharing.FileMemberRemoveActionResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.RemoveFileMemberError` """ arg = sharing.RemoveFileMemberArg(file, @@ -3608,8 +4109,7 @@ class DropboxBase(object): leave_a_copy): """ Allows an owner or editor (if the ACL update policy allows) of a shared - folder to remove another member. Apps must have full Dropbox access to - use this endpoint. + folder to remove another member. :param str shared_folder_id: The ID for the shared folder. :param member: The member to remove from the folder. @@ -3619,9 +4119,9 @@ class DropboxBase(object): Otherwise, it will be removed from their Dropbox. Also, this must be set to false when kicking a group. :rtype: :class:`dropbox.sharing.LaunchResultBase` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.RemoveFolderMemberError` """ arg = sharing.RemoveFolderMemberArg(shared_folder_id, @@ -3647,9 +4147,9 @@ class DropboxBase(object): :param str url: URL of the shared link. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.RevokeSharedLinkError` """ arg = sharing.RevokeSharedLinkArg(url) @@ -3661,6 +4161,36 @@ class DropboxBase(object): ) return None + def sharing_set_access_inheritance(self, + shared_folder_id, + access_inheritance=sharing.AccessInheritance.inherit): + """ + Change the inheritance policy of an existing Shared Folder. Only + permitted for shared folders in a shared team root. If a + ``ShareFolderLaunch.async_job_id`` is returned, you'll need to call + :meth:`sharing_check_share_job_status` until the action completes to get + the metadata for the folder. + + :param access_inheritance: The access inheritance settings for the + folder. + :type access_inheritance: :class:`dropbox.sharing.AccessInheritance` + :param str shared_folder_id: The ID for the shared folder. + :rtype: :class:`dropbox.sharing.ShareFolderLaunch` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.sharing.SetAccessInheritanceError` + """ + arg = sharing.SetAccessInheritanceArg(shared_folder_id, + access_inheritance) + r = self.request( + sharing.set_access_inheritance, + 'sharing', + arg, + None, + ) + return r + def sharing_share_folder(self, path, acl_update_policy=None, @@ -3668,6 +4198,7 @@ class DropboxBase(object): member_policy=None, shared_link_policy=None, viewer_info_policy=None, + access_inheritance=sharing.AccessInheritance.inherit, actions=None, link_settings=None): """ @@ -3676,8 +4207,7 @@ class DropboxBase(object): testing the async case repeatable, set `ShareFolderArg.force_async`. If a ``ShareFolderLaunch.async_job_id`` is returned, you'll need to call :meth:`sharing_check_share_job_status` until the action completes to get - the metadata for the folder. Apps must have full Dropbox access to use - this endpoint. + the metadata for the folder. :param Nullable actions: A list of `FolderAction`s corresponding to `FolderPermission`s that should appear in the response's @@ -3685,9 +4215,9 @@ class DropboxBase(object): the authenticated user can perform on the folder. :param Nullable link_settings: Settings on the link for this folder. :rtype: :class:`dropbox.sharing.ShareFolderLaunch` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.ShareFolderError` """ arg = sharing.ShareFolderArg(path, @@ -3696,6 +4226,7 @@ class DropboxBase(object): member_policy, shared_link_policy, viewer_info_policy, + access_inheritance, actions, link_settings) r = self.request( @@ -3712,16 +4243,15 @@ class DropboxBase(object): """ Transfer ownership of a shared folder to a member of the shared folder. User must have ``AccessLevel.owner`` access to the shared folder to - perform a transfer. Apps must have full Dropbox access to use this - endpoint. + perform a transfer. :param str shared_folder_id: The ID for the shared folder. :param str to_dropbox_id: A account or team member ID to transfer ownership to. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.TransferFolderError` """ arg = sharing.TransferFolderArg(shared_folder_id, @@ -3738,14 +4268,13 @@ class DropboxBase(object): shared_folder_id): """ The current user unmounts the designated folder. They can re-mount the - folder at a later time using :meth:`sharing_mount_folder`. Apps must - have full Dropbox access to use this endpoint. + folder at a later time using :meth:`sharing_mount_folder`. :param str shared_folder_id: The ID for the shared folder. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.UnmountFolderError` """ arg = sharing.UnmountFolderArg(shared_folder_id) @@ -3764,9 +4293,9 @@ class DropboxBase(object): :param str file: The file to unshare. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.UnshareFileError` """ arg = sharing.UnshareFileArg(file) @@ -3784,8 +4313,7 @@ class DropboxBase(object): """ Allows a shared folder owner to unshare the folder. You'll need to call :meth:`sharing_check_job_status` to determine if the action has - completed successfully. Apps must have full Dropbox access to use this - endpoint. + completed successfully. :param str shared_folder_id: The ID for the shared folder. :param bool leave_a_copy: If true, members of this shared folder will @@ -3793,9 +4321,9 @@ class DropboxBase(object): removed from their Dropbox. The current user, who is an owner, will always retain their copy. :rtype: :class:`dropbox.sharing.LaunchEmptyResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.UnshareFolderError` """ arg = sharing.UnshareFolderArg(shared_folder_id, @@ -3816,9 +4344,9 @@ class DropboxBase(object): Changes a member's access on a shared file. :rtype: :class:`dropbox.sharing.MemberAccessLevelResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.FileMemberActionError` """ arg = sharing.UpdateFileMemberArgs(file, @@ -3838,7 +4366,7 @@ class DropboxBase(object): access_level): """ Allows an owner or editor of a shared folder to update another member's - permissions. Apps must have full Dropbox access to use this endpoint. + permissions. :param str shared_folder_id: The ID for the shared folder. :param member: The member of the shared folder to update. Only the @@ -3848,9 +4376,9 @@ class DropboxBase(object): ``AccessLevel.owner`` is disallowed. :type access_level: :class:`dropbox.sharing.AccessLevel` :rtype: :class:`dropbox.sharing.MemberAccessLevelResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.UpdateFolderMemberError` """ arg = sharing.UpdateFolderMemberArg(shared_folder_id, @@ -3875,7 +4403,7 @@ class DropboxBase(object): """ Update the sharing policies for a shared folder. User must have ``AccessLevel.owner`` access to the shared folder to update its - policies. Apps must have full Dropbox access to use this endpoint. + policies. :param str shared_folder_id: The ID for the shared folder. :param Nullable member_policy: Who can be a member of this shared @@ -3893,9 +4421,9 @@ class DropboxBase(object): ``SharedFolderMetadata.permissions`` field describing the actions the authenticated user can perform on the folder. :rtype: :class:`dropbox.sharing.SharedFolderMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.sharing.UpdateFolderPolicyError` """ arg = sharing.UpdateFolderPolicyArg(shared_folder_id, @@ -3913,65 +4441,12 @@ class DropboxBase(object): ) return r + # ------------------------------------------ + # Routes in team namespace + # ------------------------------------------ # Routes in team_log namespace - def team_log_get_events(self, - limit=1000, - account_id=None, - time=None, - category=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. - :param Nullable category: Filter the returned events to a single - category. - :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, - category) - 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 @@ -3982,9 +4457,9 @@ class DropboxBase(object): :param str account_id: A user's account identifier. :rtype: :class:`dropbox.users.BasicAccount` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.users.GetAccountError` """ arg = users.GetAccountArg(account_id) @@ -4005,9 +4480,9 @@ class DropboxBase(object): :param list account_ids: List of user account identifiers. Should not contain any duplicate account IDs. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.users.GetAccountBatchError` """ arg = users.GetAccountBatchArg(account_ids) diff --git a/resources/lib/dropbox/base_team.py b/resources/lib/dropbox/base_team.py index 80d092a..cb01060 100644 --- a/resources/lib/dropbox/base_team.py +++ b/resources/lib/dropbox/base_team.py @@ -7,13 +7,15 @@ from abc import ABCMeta, abstractmethod import warnings from . import ( - async, + async_, auth, common, + contacts, file_properties, file_requests, files, paper, + seen_state, sharing, team, team_common, @@ -31,6 +33,160 @@ class DropboxTeamBase(object): def request(self, route, namespace, arg, arg_binary=None): pass + # ------------------------------------------ + # Routes in auth namespace + + # ------------------------------------------ + # Routes in contacts namespace + + # ------------------------------------------ + # Routes in file_properties namespace + + def file_properties_templates_add_for_team(self, + name, + description, + fields): + """ + Add a template associated with a team. See + :meth:`file_properties_properties_add` to add properties to a file or + folder. Note: this endpoint will create team-owned templates. + + :rtype: :class:`dropbox.file_properties.AddTemplateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_properties.ModifyTemplateError` + """ + arg = file_properties.AddTemplateArg(name, + description, + fields) + r = self.request( + file_properties.templates_add_for_team, + 'file_properties', + arg, + None, + ) + return r + + def file_properties_templates_get_for_team(self, + template_id): + """ + Get the schema for a specified template. + + :param str template_id: An identifier for template added by route See + :meth:`file_properties_templates_add_for_user` or + :meth:`file_properties_templates_add_for_team`. + :rtype: :class:`dropbox.file_properties.GetTemplateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_properties.TemplateError` + """ + arg = file_properties.GetTemplateArg(template_id) + r = self.request( + file_properties.templates_get_for_team, + 'file_properties', + arg, + None, + ) + return r + + def file_properties_templates_list_for_team(self): + """ + Get the template identifiers for a team. To get the schema of each + template use :meth:`file_properties_templates_get_for_team`. + + :rtype: :class:`dropbox.file_properties.ListTemplateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_properties.TemplateError` + """ + arg = None + r = self.request( + file_properties.templates_list_for_team, + 'file_properties', + arg, + None, + ) + return r + + def file_properties_templates_remove_for_team(self, + template_id): + """ + Permanently removes the specified template created from + :meth:`file_properties_templates_add_for_user`. All properties + associated with the template will also be removed. This action cannot be + undone. + + :param str template_id: An identifier for a template created by + :meth:`file_properties_templates_add_for_user` or + :meth:`file_properties_templates_add_for_team`. + :rtype: None + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_properties.TemplateError` + """ + arg = file_properties.RemoveTemplateArg(template_id) + r = self.request( + file_properties.templates_remove_for_team, + 'file_properties', + arg, + None, + ) + return None + + def file_properties_templates_update_for_team(self, + template_id, + name=None, + description=None, + add_fields=None): + """ + Update a template associated with a team. This route can update the + template name, the template description and add optional properties to + templates. + + :param str template_id: An identifier for template added by See + :meth:`file_properties_templates_add_for_user` or + :meth:`file_properties_templates_add_for_team`. + :param Nullable name: A display name for the template. template names + can be up to 256 bytes. + :param Nullable description: Description for the new template. Template + descriptions can be up to 1024 bytes. + :param Nullable add_fields: Property field templates to be added to the + group template. There can be up to 32 properties in a single + template. + :rtype: :class:`dropbox.file_properties.UpdateTemplateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.file_properties.ModifyTemplateError` + """ + arg = file_properties.UpdateTemplateArg(template_id, + name, + description, + add_fields) + r = self.request( + file_properties.templates_update_for_team, + 'file_properties', + arg, + None, + ) + return r + + # ------------------------------------------ + # Routes in file_requests namespace + + # ------------------------------------------ + # Routes in files namespace + + # ------------------------------------------ + # Routes in paper namespace + + # ------------------------------------------ + # Routes in sharing namespace + # ------------------------------------------ # Routes in team namespace @@ -50,9 +206,9 @@ class DropboxTeamBase(object): :param bool include_mobile_clients: Whether to list linked mobile devices of the team's member. :rtype: :class:`dropbox.team.ListMemberDevicesResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.ListMemberDevicesError` """ arg = team.ListMemberDevicesArg(team_member_id, @@ -73,7 +229,8 @@ class DropboxTeamBase(object): include_desktop_clients=True, include_mobile_clients=True): """ - List all device sessions of a team. + List all device sessions of a team. Permission : Team member file + access. :param Nullable cursor: At the first call to the :meth:`team_devices_list_members_devices` the cursor shouldn't be @@ -87,9 +244,9 @@ class DropboxTeamBase(object): :param bool include_mobile_clients: Whether to list mobile clients of the team members. :rtype: :class:`dropbox.team.ListMembersDevicesResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.ListMembersDevicesError` """ arg = team.ListMembersDevicesArg(cursor, @@ -110,7 +267,8 @@ class DropboxTeamBase(object): include_desktop_clients=True, include_mobile_clients=True): """ - List all device sessions of a team. + List all device sessions of a team. Permission : Team member file + access. :param Nullable cursor: At the first call to the :meth:`team_devices_list_team_devices` the cursor shouldn't be @@ -124,9 +282,9 @@ class DropboxTeamBase(object): :param bool include_mobile_clients: Whether to list mobile clients of the team members. :rtype: :class:`dropbox.team.ListTeamDevicesResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.ListTeamDevicesError` """ warnings.warn( @@ -152,9 +310,9 @@ class DropboxTeamBase(object): :type arg: :class:`dropbox.team.RevokeDeviceSessionArg` :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.RevokeDeviceSessionError` """ r = self.request( @@ -172,9 +330,9 @@ class DropboxTeamBase(object): :type revoke_devices: list :rtype: :class:`dropbox.team.RevokeDeviceSessionBatchResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.RevokeDeviceSessionBatchError` """ arg = team.RevokeDeviceSessionBatchArg(revoke_devices) @@ -197,9 +355,9 @@ class DropboxTeamBase(object): :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` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.FeaturesGetValuesBatchError` """ arg = team.FeaturesGetValuesBatchArg(features) @@ -240,9 +398,9 @@ class DropboxTeamBase(object): :param Nullable group_management_type: Whether the team can be managed by selected users, or only by team admins. :rtype: :class:`dropbox.team.GroupFullInfo` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupCreateError` """ arg = team.GroupCreateArg(group_name, @@ -268,9 +426,9 @@ class DropboxTeamBase(object): by external group ID. :type arg: :class:`dropbox.team.GroupSelector` :rtype: :class:`dropbox.team.LaunchEmptyResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupDeleteError` """ r = self.request( @@ -292,9 +450,9 @@ class DropboxTeamBase(object): group_ids, or external group IDs. :type arg: :class:`dropbox.team.GroupsSelector` :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupsGetInfoError` """ r = self.request( @@ -316,12 +474,12 @@ class DropboxTeamBase(object): :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.team.PollEmptyResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupsPollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( team.groups_job_status_get, 'team', @@ -335,7 +493,7 @@ class DropboxTeamBase(object): """ Lists groups on a team. Permission : Team Information. - :param long limit: Number of results to return per call. + :param int limit: Number of results to return per call. :rtype: :class:`dropbox.team.GroupsListResult` """ arg = team.GroupsListArg(limit) @@ -356,9 +514,9 @@ class DropboxTeamBase(object): :param str cursor: Indicates from what point to get the next set of groups. :rtype: :class:`dropbox.team.GroupsListResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupsListContinueError` """ arg = team.GroupsListContinueArg(cursor) @@ -384,9 +542,9 @@ class DropboxTeamBase(object): :type group: :class:`dropbox.team.GroupSelector` :param list members: List of users to be added to the group. :rtype: :class:`dropbox.team.GroupMembersChangeResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupMembersAddError` """ arg = team.GroupMembersAddArg(group, @@ -408,11 +566,11 @@ class DropboxTeamBase(object): :param group: The group whose members are to be listed. :type group: :class:`dropbox.team.GroupSelector` - :param long limit: Number of results to return per call. + :param int limit: Number of results to return per call. :rtype: :class:`dropbox.team.GroupsMembersListResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupSelectorError` """ arg = team.GroupsMembersListArg(group, @@ -435,9 +593,9 @@ class DropboxTeamBase(object): :param str cursor: Indicates from what point to get the next set of groups. :rtype: :class:`dropbox.team.GroupsMembersListResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupsMembersListContinueError` """ arg = team.GroupsMembersListContinueArg(cursor) @@ -465,9 +623,9 @@ class DropboxTeamBase(object): :type group: :class:`dropbox.team.GroupSelector` :param list users: List of users to be removed from the group. :rtype: :class:`dropbox.team.GroupMembersChangeResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupMembersRemoveError` """ arg = team.GroupMembersRemoveArg(group, @@ -497,9 +655,9 @@ class DropboxTeamBase(object): to be returned in the response. This may take a long time for large groups. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupMemberSetAccessTypeError` """ arg = team.GroupMembersSetAccessTypeArg(group, @@ -535,9 +693,9 @@ class DropboxTeamBase(object): :param Nullable new_group_management_type: Set new group management type, if provided. :rtype: :class:`dropbox.team.GroupFullInfo` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.GroupUpdateError` """ arg = team.GroupUpdateArgs(group, @@ -561,9 +719,9 @@ class DropboxTeamBase(object): :param str team_member_id: The team member id. :rtype: :class:`dropbox.team.ListMemberAppsResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.ListMemberAppsError` """ arg = team.ListMemberAppsArg(team_member_id) @@ -587,9 +745,9 @@ class DropboxTeamBase(object): cursor, the following requests should include the received cursors in order to receive the next sub list of the team applications. :rtype: :class:`dropbox.team.ListMembersAppsResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.ListMembersAppsError` """ arg = team.ListMembersAppsArg(cursor) @@ -613,9 +771,9 @@ class DropboxTeamBase(object): following requests should include the received cursors in order to receive the next sub list of the team applications. :rtype: :class:`dropbox.team.ListTeamAppsResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.ListTeamAppsError` """ warnings.warn( @@ -644,9 +802,9 @@ class DropboxTeamBase(object): :param bool keep_app_folder: Whether to keep the application dedicated folder (in case the application uses one). :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.RevokeLinkedAppError` """ arg = team.RevokeLinkedApiAppArg(app_id, @@ -667,9 +825,9 @@ class DropboxTeamBase(object): :type revoke_linked_app: list :rtype: :class:`dropbox.team.RevokeLinkedAppBatchResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.RevokeLinkedAppBatchError` """ arg = team.RevokeLinkedApiAppBatchArg(revoke_linked_app) @@ -681,6 +839,91 @@ class DropboxTeamBase(object): ) return r + def team_member_space_limits_excluded_users_add(self, + users=None): + """ + Add users to member space limits excluded users list. + + :param Nullable users: List of users to be added/removed. + :rtype: :class:`dropbox.team.ExcludedUsersUpdateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.ExcludedUsersUpdateError` + """ + arg = team.ExcludedUsersUpdateArg(users) + r = self.request( + team.member_space_limits_excluded_users_add, + 'team', + arg, + None, + ) + return r + + def team_member_space_limits_excluded_users_list(self, + limit=1000): + """ + List member space limits excluded users. + + :param int limit: Number of results to return per call. + :rtype: :class:`dropbox.team.ExcludedUsersListResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.ExcludedUsersListError` + """ + arg = team.ExcludedUsersListArg(limit) + r = self.request( + team.member_space_limits_excluded_users_list, + 'team', + arg, + None, + ) + return r + + def team_member_space_limits_excluded_users_list_continue(self, + cursor): + """ + Continue listing member space limits excluded users. + + :param str cursor: Indicates from what point to get the next set of + users. + :rtype: :class:`dropbox.team.ExcludedUsersListResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.ExcludedUsersListContinueError` + """ + arg = team.ExcludedUsersListContinueArg(cursor) + r = self.request( + team.member_space_limits_excluded_users_list_continue, + 'team', + arg, + None, + ) + return r + + def team_member_space_limits_excluded_users_remove(self, + users=None): + """ + Remove users from member space limits excluded users list. + + :param Nullable users: List of users to be added/removed. + :rtype: :class:`dropbox.team.ExcludedUsersUpdateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.ExcludedUsersUpdateError` + """ + arg = team.ExcludedUsersUpdateArg(users) + r = self.request( + team.member_space_limits_excluded_users_remove, + 'team', + arg, + None, + ) + return r + def team_member_space_limits_get_custom_quota(self, users): """ @@ -689,9 +932,9 @@ class DropboxTeamBase(object): :param list users: List of users. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.CustomQuotaError` """ arg = team.CustomQuotaUsersArg(users) @@ -711,9 +954,9 @@ class DropboxTeamBase(object): :param list users: List of users. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.CustomQuotaError` """ arg = team.CustomQuotaUsersArg(users) @@ -728,15 +971,15 @@ class DropboxTeamBase(object): def team_member_space_limits_set_custom_quota(self, users_and_quotas): """ - Set users custom quota. Custom quota has to be at least 25GB. A maximum + Set users custom quota. Custom quota has to be at least 15GB. A maximum of 1000 members can be specified in a single call. :param list users_and_quotas: List of users and their custom quotas. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: - :class:`dropbox.team.CustomQuotaError` + If this raises, ApiError will contain: + :class:`dropbox.team.SetCustomQuotaError` """ arg = team.SetCustomQuotaArg(users_and_quotas) r = self.request( @@ -788,12 +1031,12 @@ class DropboxTeamBase(object): :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.team.MembersAddJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( team.members_add_job_status_get, 'team', @@ -812,9 +1055,9 @@ class DropboxTeamBase(object): :param list members: List of team members. :rtype: list - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersGetInfoError` """ arg = team.MembersGetInfoArgs(members) @@ -832,12 +1075,12 @@ class DropboxTeamBase(object): """ Lists members of a team. Permission : Team information. - :param long limit: Number of results to return per call. + :param int limit: Number of results to return per call. :param bool include_removed: Whether to return removed members. :rtype: :class:`dropbox.team.MembersListResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersListError` """ arg = team.MembersListArg(limit, @@ -860,9 +1103,9 @@ class DropboxTeamBase(object): :param str cursor: Indicates from what point to get the next set of members. :rtype: :class:`dropbox.team.MembersListResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersListContinueError` """ arg = team.MembersListContinueArg(cursor) @@ -874,6 +1117,64 @@ class DropboxTeamBase(object): ) return r + def team_members_move_former_member_files(self, + user, + transfer_dest_id, + transfer_admin_id): + """ + Moves removed member's files to a different member. This endpoint + initiates an asynchronous job. To obtain the final result of the job, + the client should periodically poll + :meth:`team_members_move_former_member_files_job_status_check`. + Permission : Team member management. + + :param transfer_dest_id: Files from the deleted member account will be + transferred to this user. + :type transfer_dest_id: :class:`dropbox.team.UserSelectorArg` + :param transfer_admin_id: Errors during the transfer process will be + sent via email to this user. + :type transfer_admin_id: :class:`dropbox.team.UserSelectorArg` + :rtype: :class:`dropbox.team.LaunchEmptyResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.MembersTransferFormerMembersFilesError` + """ + arg = team.MembersDataTransferArg(user, + transfer_dest_id, + transfer_admin_id) + r = self.request( + team.members_move_former_member_files, + 'team', + arg, + None, + ) + return r + + def team_members_move_former_member_files_job_status_check(self, + async_job_id): + """ + Once an async_job_id is returned from + :meth:`team_members_move_former_member_files` , use this to poll the + status of the asynchronous request. Permission : Team member management. + + :param str async_job_id: Id of the asynchronous job. This is the value + of a response returned from the method that launched the job. + :rtype: :class:`dropbox.team.PollEmptyResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.PollError` + """ + arg = async_.PollArg(async_job_id) + r = self.request( + team.members_move_former_member_files_job_status_check, + 'team', + arg, + None, + ) + return r + def team_members_recover(self, user): """ @@ -884,9 +1185,9 @@ class DropboxTeamBase(object): :param user: Identity of user to recover. :type user: :class:`dropbox.team.UserSelectorArg` :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersRecoverError` """ arg = team.MembersRecoverArg(user) @@ -931,9 +1232,9 @@ class DropboxTeamBase(object): members. In order to keep the account the argument wipe_data should be set to False. :rtype: :class:`dropbox.team.LaunchEmptyResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersRemoveError` """ arg = team.MembersRemoveArg(user, @@ -959,12 +1260,12 @@ class DropboxTeamBase(object): :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.team.PollEmptyResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( team.members_remove_job_status_get, 'team', @@ -985,9 +1286,9 @@ class DropboxTeamBase(object): team_member_id, external_id or email. :type arg: :class:`dropbox.team.UserSelectorArg` :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersSendWelcomeError` """ r = self.request( @@ -1010,9 +1311,9 @@ class DropboxTeamBase(object): :param new_role: The new role of the member. :type new_role: :class:`dropbox.team.AdminTier` :rtype: :class:`dropbox.team.MembersSetPermissionsResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersSetPermissionsError` """ arg = team.MembersSetPermissionsArg(user, @@ -1031,7 +1332,8 @@ class DropboxTeamBase(object): new_external_id=None, new_given_name=None, new_surname=None, - new_persistent_id=None): + new_persistent_id=None, + new_is_directory_restricted=None): """ Updates a team member's profile. Permission : Team member management. @@ -1043,10 +1345,12 @@ class DropboxTeamBase(object): :param Nullable new_surname: New surname for member. :param Nullable new_persistent_id: New persistent ID. This field only available to teams using persistent ID SAML configuration. + :param Nullable new_is_directory_restricted: New value for whether the + user is a directory restricted user. :rtype: :class:`dropbox.team.TeamMemberInfo` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersSetProfileError` """ arg = team.MembersSetProfileArg(user, @@ -1054,7 +1358,8 @@ class DropboxTeamBase(object): new_external_id, new_given_name, new_surname, - new_persistent_id) + new_persistent_id, + new_is_directory_restricted) r = self.request( team.members_set_profile, 'team', @@ -1071,14 +1376,12 @@ class DropboxTeamBase(object): Exactly one of team_member_id, email, or external_id must be provided to identify the user account. - :param user: Identity of user to remove/suspend. - :type user: :class:`dropbox.team.UserSelectorArg` :param bool wipe_data: If provided, controls if the user's data will be deleted on their linked devices. :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersSuspendError` """ arg = team.MembersDeactivateArg(user, @@ -1101,9 +1404,9 @@ class DropboxTeamBase(object): :param user: Identity of user to unsuspend. :type user: :class:`dropbox.team.UserSelectorArg` :rtype: None - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.MembersUnsuspendError` """ arg = team.MembersUnsuspendArg(user) @@ -1125,8 +1428,12 @@ class DropboxTeamBase(object): folders may be owned by other users or other teams. Duplicates may occur in the list. - :param long limit: Specifying a value here has no effect. + :param int limit: Specifying a value here has no effect. :rtype: :class:`dropbox.team.TeamNamespacesListResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.TeamNamespacesListError` """ arg = team.TeamNamespacesListArg(limit) r = self.request( @@ -1147,9 +1454,9 @@ class DropboxTeamBase(object): :param str cursor: Indicates from what point to get the next set of team-accessible namespaces. :rtype: :class:`dropbox.team.TeamNamespacesListResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.TeamNamespacesListContinueError` """ arg = team.TeamNamespacesListContinueArg(cursor) @@ -1165,6 +1472,15 @@ class DropboxTeamBase(object): name, description, fields): + """ + Permission : Team member file access. + + :rtype: :class:`dropbox.team.AddTemplateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.ModifyTemplateError` + """ warnings.warn( 'properties/template/add is deprecated.', DeprecationWarning, @@ -1183,13 +1499,15 @@ class DropboxTeamBase(object): def team_properties_template_get(self, template_id): """ + Permission : Team member file access. + :param str template_id: An identifier for template added by route See :meth:`team_templates_add_for_user` or :meth:`team_templates_add_for_team`. :rtype: :class:`dropbox.team.GetTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.TemplateError` """ warnings.warn( @@ -1206,6 +1524,15 @@ class DropboxTeamBase(object): return r def team_properties_template_list(self): + """ + Permission : Team member file access. + + :rtype: :class:`dropbox.team.ListTemplateResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.TemplateError` + """ warnings.warn( 'properties/template/list is deprecated.', DeprecationWarning, @@ -1225,6 +1552,8 @@ class DropboxTeamBase(object): description=None, add_fields=None): """ + Permission : Team member file access. + :param str template_id: An identifier for template added by See :meth:`team_templates_add_for_user` or :meth:`team_templates_add_for_team`. @@ -1236,9 +1565,9 @@ class DropboxTeamBase(object): group template. There can be up to 32 properties in a single template. :rtype: :class:`dropbox.team.UpdateTemplateResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.ModifyTemplateError` """ warnings.warn( @@ -1266,9 +1595,9 @@ class DropboxTeamBase(object): :param Nullable start_date: Optional starting date (inclusive). :param Nullable end_date: Optional ending date (exclusive). :rtype: :class:`dropbox.team.GetActivityReport` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ arg = team.DateRange(start_date, @@ -1290,9 +1619,9 @@ class DropboxTeamBase(object): :param Nullable start_date: Optional starting date (inclusive). :param Nullable end_date: Optional ending date (exclusive). :rtype: :class:`dropbox.team.GetDevicesReport` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ arg = team.DateRange(start_date, @@ -1314,9 +1643,9 @@ class DropboxTeamBase(object): :param Nullable start_date: Optional starting date (inclusive). :param Nullable end_date: Optional ending date (exclusive). :rtype: :class:`dropbox.team.GetMembershipReport` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ arg = team.DateRange(start_date, @@ -1338,9 +1667,9 @@ class DropboxTeamBase(object): :param Nullable start_date: Optional starting date (inclusive). :param Nullable end_date: Optional ending date (exclusive). :rtype: :class:`dropbox.team.GetStorageReport` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.DateRangeError` """ arg = team.DateRange(start_date, @@ -1401,12 +1730,12 @@ class DropboxTeamBase(object): :param str async_job_id: Id of the asynchronous job. This is the value of a response returned from the method that launched the job. :rtype: :class:`dropbox.team.TeamFolderArchiveJobStatus` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.PollError` """ - arg = async.PollArg(async_job_id) + arg = async_.PollArg(async_job_id) r = self.request( team.team_folder_archive_check, 'team', @@ -1416,19 +1745,23 @@ class DropboxTeamBase(object): return r def team_team_folder_create(self, - name): + name, + sync_setting=None): """ Creates a new, active, team folder with no members. Permission : Team member file access. :param str name: Name for the new team folder. + :param Nullable sync_setting: The sync setting to apply to this team + folder. Only permitted if the team has team selective sync enabled. :rtype: :class:`dropbox.team.TeamFolderMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.TeamFolderCreateError` """ - arg = team.TeamFolderCreateArg(name) + arg = team.TeamFolderCreateArg(name, + sync_setting) r = self.request( team.team_folder_create, 'team', @@ -1460,11 +1793,11 @@ class DropboxTeamBase(object): """ Lists all team folders. Permission : Team member file access. - :param long limit: The maximum number of results to return per request. + :param int limit: The maximum number of results to return per request. :rtype: :class:`dropbox.team.TeamFolderListResult` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.TeamFolderListError` """ arg = team.TeamFolderListArg(limit) @@ -1486,9 +1819,9 @@ class DropboxTeamBase(object): :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` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.TeamFolderListContinueError` """ arg = team.TeamFolderListContinueArg(cursor) @@ -1527,9 +1860,9 @@ class DropboxTeamBase(object): :param str name: New team folder name. :rtype: :class:`dropbox.team.TeamFolderMetadata` - :raises: :class:`dropbox.exceptions.ApiError` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.TeamFolderRenameError` """ arg = team.TeamFolderRenameArg(team_folder_id, @@ -1542,15 +1875,45 @@ class DropboxTeamBase(object): ) return r + def team_team_folder_update_sync_settings(self, + team_folder_id, + sync_setting=None, + content_sync_settings=None): + """ + Updates the sync settings on a team folder or its contents. Use of this + endpoint requires that the team has team selective sync enabled. + + :param Nullable sync_setting: Sync setting to apply to the team folder + itself. Only meaningful if the team folder is not a shared team + root. + :param Nullable content_sync_settings: Sync settings to apply to + contents of this team folder. + :rtype: :class:`dropbox.team.TeamFolderMetadata` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team.TeamFolderUpdateSyncSettingsError` + """ + arg = team.TeamFolderUpdateSyncSettingsArg(team_folder_id, + sync_setting, + content_sync_settings) + r = self.request( + team.team_folder_update_sync_settings, + 'team', + arg, + 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` + :raises: :class:`.exceptions.ApiError` - If this raises, ApiError.reason is of type: + If this raises, ApiError will contain: :class:`dropbox.team.TokenGetAuthenticatedAdminError` """ arg = None @@ -1562,3 +1925,75 @@ class DropboxTeamBase(object): ) return r + # ------------------------------------------ + # Routes in team_log namespace + + def team_log_get_events(self, + limit=1000, + account_id=None, + time=None, + category=None): + """ + Retrieves team events. Events have a lifespan of two years. Events older + than two years will not be returned. Many attributes note 'may be + missing due to historical data gap'. Note that the file_operations + category and & analogous paper events are not available on all Dropbox + Business `plans `_. Use `features/get_values + `_ to + check for this feature. Permission : Team Auditing. + + :param int limit: The maximal number of results to return per call. Note + that some calls may not return ``limit`` number of events, and may + even return no events, even with `has_more` set to true. In this + case, callers should fetch again using + :meth:`team_log_get_events_continue`. + :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. + :param Nullable category: Filter the returned events to a single + category. + :rtype: :class:`dropbox.team_log.GetTeamEventsResult` + :raises: :class:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :class:`dropbox.team_log.GetTeamEventsError` + """ + arg = team_log.GetTeamEventsArg(limit, + account_id, + time, + category) + 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:`.exceptions.ApiError` + + If this raises, ApiError will contain: + :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 + diff --git a/resources/lib/dropbox/common.py b/resources/lib/dropbox/common.py index 2a26747..dc31b9e 100644 --- a/resources/lib/dropbox/common.py +++ b/resources/lib/dropbox/common.py @@ -1,110 +1,50 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 InvalidPathRootError(object): - """ - :ivar path_root: The latest path root id for user's team if the user is - still in a team. - """ - - __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 latest path root id for user's team if the user is still in a team. - - :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 'InvalidPathRootError(path_root={!r})'.format( - self._path_root_value, - ) - -InvalidPathRootError_validator = bv.Struct(InvalidPathRootError) - class PathRoot(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 home: Paths are relative to the authenticating user's home directory, - whether or not that user belongs to a team. - :ivar member_home: Paths are relative to the authenticating team member's - home directory. (This results in ``PathRootError.invalid`` if the user - does not belong to a team.). - :ivar str team: Paths are relative to the given team directory. (This - results in :field:`PathRootError.invalid` if the user is not a member of - the team associated with that path root id.). - :ivar user_home: Paths are relative to the user's home directory. (This - results in ``PathRootError.invalid`` if the belongs to a team.). - :ivar str namespace_id: Paths are relative to given namespace id (This - results in :field:`PathRootError.no_permission` if you don't have access - to this namespace.). + :ivar common.PathRoot.home: Paths are relative to the authenticating user's + home namespace, whether or not that user belongs to a team. + :ivar str common.PathRoot.root: Paths are relative to the authenticating + user's root namespace (This results in + :field:`PathRootError.invalid_root` if the user's root namespace has + changed.). + :ivar str common.PathRoot.namespace_id: Paths are relative to given + namespace id (This results in :field:`PathRootError.no_permission` if + you don't have access to this namespace.). """ _catch_all = 'other' # Attribute is overwritten below the class definition home = None # Attribute is overwritten below the class definition - member_home = None - # Attribute is overwritten below the class definition - user_home = None - # Attribute is overwritten below the class definition other = None @classmethod - def team(cls, val): + def root(cls, val): """ - Create an instance of this class set to the ``team`` tag with value + Create an instance of this class set to the ``root`` tag with value ``val``. :param str val: :rtype: PathRoot """ - return cls('team', val) + return cls('root', val) @classmethod def namespace_id(cls, val): @@ -125,29 +65,13 @@ class PathRoot(bb.Union): """ return self._tag == 'home' - def is_member_home(self): + def is_root(self): """ - Check if the union tag is ``member_home``. + Check if the union tag is ``root``. :rtype: bool """ - return self._tag == 'member_home' - - def is_team(self): - """ - Check if the union tag is ``team``. - - :rtype: bool - """ - return self._tag == 'team' - - def is_user_home(self): - """ - Check if the union tag is ``user_home``. - - :rtype: bool - """ - return self._tag == 'user_home' + return self._tag == 'root' def is_namespace_id(self): """ @@ -165,18 +89,18 @@ class PathRoot(bb.Union): """ return self._tag == 'other' - def get_team(self): + def get_root(self): """ - Paths are relative to the given team directory. (This results in - ``PathRootError.invalid`` if the user is not a member of the team - associated with that path root id.). + Paths are relative to the authenticating user's root namespace (This + results in ``PathRootError.invalid_root`` if the user's root namespace + has changed.). - Only call this if :meth:`is_team` is true. + Only call this if :meth:`is_root` is true. :rtype: str """ - if not self.is_team(): - raise AttributeError("tag 'team' not set") + if not self.is_root(): + raise AttributeError("tag 'root' not set") return self._value def get_namespace_id(self): @@ -193,6 +117,9 @@ class PathRoot(bb.Union): raise AttributeError("tag 'namespace_id' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PathRoot, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PathRoot(%r, %r)' % (self._tag, self._value) @@ -204,10 +131,11 @@ class PathRootError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar InvalidPathRootError invalid: The path root id value in - Dropbox-API-Path-Root header is no longer valid. - :ivar no_permission: You don't have permission to access the path root id in - Dropbox-API-Path-Root header. + :ivar RootInfo PathRootError.invalid_root: The root namespace id in + Dropbox-API-Path-Root header is not valid. The value of this error is + use's latest root info. + :ivar common.PathRootError.no_permission: You don't have permission to + access the namespace id in Dropbox-API-Path-Root header. """ _catch_all = 'other' @@ -217,23 +145,23 @@ class PathRootError(bb.Union): other = None @classmethod - def invalid(cls, val): + def invalid_root(cls, val): """ - Create an instance of this class set to the ``invalid`` tag with value - ``val``. + Create an instance of this class set to the ``invalid_root`` tag with + value ``val``. - :param InvalidPathRootError val: + :param RootInfo val: :rtype: PathRootError """ - return cls('invalid', val) + return cls('invalid_root', val) - def is_invalid(self): + def is_invalid_root(self): """ - Check if the union tag is ``invalid``. + Check if the union tag is ``invalid_root``. :rtype: bool """ - return self._tag == 'invalid' + return self._tag == 'invalid_root' def is_no_permission(self): """ @@ -251,66 +179,239 @@ class PathRootError(bb.Union): """ return self._tag == 'other' - def get_invalid(self): + def get_invalid_root(self): """ - The path root id value in Dropbox-API-Path-Root header is no longer - valid. + The root namespace id in Dropbox-API-Path-Root header is not valid. The + value of this error is use's latest root info. - Only call this if :meth:`is_invalid` is true. + Only call this if :meth:`is_invalid_root` is true. - :rtype: InvalidPathRootError + :rtype: RootInfo """ - if not self.is_invalid(): - raise AttributeError("tag 'invalid' not set") + if not self.is_invalid_root(): + raise AttributeError("tag 'invalid_root' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PathRootError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PathRootError(%r, %r)' % (self._tag, self._value) PathRootError_validator = bv.Union(PathRootError) +class RootInfo(bb.Struct): + """ + Information about current user's root. + + :ivar common.RootInfo.root_namespace_id: The namespace ID for user's root + namespace. It will be the namespace ID of the shared team root if the + user is member of a team with a separate team root. Otherwise it will be + same as ``RootInfo.home_namespace_id``. + :ivar common.RootInfo.home_namespace_id: The namespace ID for user's home + namespace. + """ + + __slots__ = [ + '_root_namespace_id_value', + '_root_namespace_id_present', + '_home_namespace_id_value', + '_home_namespace_id_present', + ] + + _has_required_fields = True + + def __init__(self, + root_namespace_id=None, + home_namespace_id=None): + self._root_namespace_id_value = None + self._root_namespace_id_present = False + self._home_namespace_id_value = None + self._home_namespace_id_present = False + if root_namespace_id is not None: + self.root_namespace_id = root_namespace_id + if home_namespace_id is not None: + self.home_namespace_id = home_namespace_id + + @property + def root_namespace_id(self): + """ + The namespace ID for user's root namespace. It will be the namespace ID + of the shared team root if the user is member of a team with a separate + team root. Otherwise it will be same as ``RootInfo.home_namespace_id``. + + :rtype: str + """ + if self._root_namespace_id_present: + return self._root_namespace_id_value + else: + raise AttributeError("missing required field 'root_namespace_id'") + + @root_namespace_id.setter + def root_namespace_id(self, val): + val = self._root_namespace_id_validator.validate(val) + self._root_namespace_id_value = val + self._root_namespace_id_present = True + + @root_namespace_id.deleter + def root_namespace_id(self): + self._root_namespace_id_value = None + self._root_namespace_id_present = False + + @property + def home_namespace_id(self): + """ + The namespace ID for user's home namespace. + + :rtype: str + """ + if self._home_namespace_id_present: + return self._home_namespace_id_value + else: + raise AttributeError("missing required field 'home_namespace_id'") + + @home_namespace_id.setter + def home_namespace_id(self, val): + val = self._home_namespace_id_validator.validate(val) + self._home_namespace_id_value = val + self._home_namespace_id_present = True + + @home_namespace_id.deleter + def home_namespace_id(self): + self._home_namespace_id_value = None + self._home_namespace_id_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RootInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RootInfo(root_namespace_id={!r}, home_namespace_id={!r})'.format( + self._root_namespace_id_value, + self._home_namespace_id_value, + ) + +RootInfo_validator = bv.StructTree(RootInfo) + +class TeamRootInfo(RootInfo): + """ + Root info when user is member of a team with a separate root namespace ID. + + :ivar common.TeamRootInfo.home_path: The path for user's home directory + under the shared team root. + """ + + __slots__ = [ + '_home_path_value', + '_home_path_present', + ] + + _has_required_fields = True + + def __init__(self, + root_namespace_id=None, + home_namespace_id=None, + home_path=None): + super(TeamRootInfo, self).__init__(root_namespace_id, + home_namespace_id) + self._home_path_value = None + self._home_path_present = False + if home_path is not None: + self.home_path = home_path + + @property + def home_path(self): + """ + The path for user's home directory under the shared team root. + + :rtype: str + """ + if self._home_path_present: + return self._home_path_value + else: + raise AttributeError("missing required field 'home_path'") + + @home_path.setter + def home_path(self, val): + val = self._home_path_validator.validate(val) + self._home_path_value = val + self._home_path_present = True + + @home_path.deleter + def home_path(self): + self._home_path_value = None + self._home_path_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamRootInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamRootInfo(root_namespace_id={!r}, home_namespace_id={!r}, home_path={!r})'.format( + self._root_namespace_id_value, + self._home_namespace_id_value, + self._home_path_value, + ) + +TeamRootInfo_validator = bv.Struct(TeamRootInfo) + +class UserRootInfo(RootInfo): + """ + Root info when user is not member of a team or the user is a member of a + team and the team does not have a separate root namespace. + """ + + __slots__ = [ + ] + + _has_required_fields = True + + def __init__(self, + root_namespace_id=None, + home_namespace_id=None): + super(UserRootInfo, self).__init__(root_namespace_id, + home_namespace_id) + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserRootInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'UserRootInfo(root_namespace_id={!r}, home_namespace_id={!r})'.format( + self._root_namespace_id_value, + self._home_namespace_id_value, + ) + +UserRootInfo_validator = bv.Struct(UserRootInfo) + Date_validator = bv.Timestamp(u'%Y-%m-%d') DisplayName_validator = bv.String(min_length=1, pattern=u'[^/:?*<>"|]*') -DisplayNameLegacy_validator = bv.String(min_length=1) +DisplayNameLegacy_validator = bv.String() DropboxTimestamp_validator = bv.Timestamp(u'%Y-%m-%dT%H:%M:%SZ') -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}$") +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}$") # A ISO639-1 code. LanguageCode_validator = bv.String(min_length=2) NamePart_validator = bv.String(min_length=1, max_length=100, pattern=u'[^/:?*<>"|]*') NamespaceId_validator = bv.String(pattern=u'[-_0-9a-zA-Z:]+') OptionalNamePart_validator = bv.String(max_length=100, pattern=u'[^/:?*<>"|]*') -PathRootId_validator = NamespaceId_validator SessionId_validator = bv.String() SharedFolderId_validator = NamespaceId_validator -InvalidPathRootError._path_root_validator = bv.Nullable(PathRootId_validator) -InvalidPathRootError._all_field_names_ = set(['path_root']) -InvalidPathRootError._all_fields_ = [('path_root', InvalidPathRootError._path_root_validator)] - PathRoot._home_validator = bv.Void() -PathRoot._member_home_validator = bv.Void() -PathRoot._team_validator = PathRootId_validator -PathRoot._user_home_validator = bv.Void() -PathRoot._namespace_id_validator = PathRootId_validator +PathRoot._root_validator = NamespaceId_validator +PathRoot._namespace_id_validator = NamespaceId_validator PathRoot._other_validator = bv.Void() PathRoot._tagmap = { 'home': PathRoot._home_validator, - 'member_home': PathRoot._member_home_validator, - 'team': PathRoot._team_validator, - 'user_home': PathRoot._user_home_validator, + 'root': PathRoot._root_validator, 'namespace_id': PathRoot._namespace_id_validator, 'other': PathRoot._other_validator, } PathRoot.home = PathRoot('home') -PathRoot.member_home = PathRoot('member_home') -PathRoot.user_home = PathRoot('user_home') PathRoot.other = PathRoot('other') -PathRootError._invalid_validator = InvalidPathRootError_validator +PathRootError._invalid_root_validator = RootInfo_validator PathRootError._no_permission_validator = bv.Void() PathRootError._other_validator = bv.Void() PathRootError._tagmap = { - 'invalid': PathRootError._invalid_validator, + 'invalid_root': PathRootError._invalid_root_validator, 'no_permission': PathRootError._no_permission_validator, 'other': PathRootError._other_validator, } @@ -318,6 +419,40 @@ PathRootError._tagmap = { PathRootError.no_permission = PathRootError('no_permission') PathRootError.other = PathRootError('other') +RootInfo._root_namespace_id_validator = NamespaceId_validator +RootInfo._home_namespace_id_validator = NamespaceId_validator +RootInfo._field_names_ = set([ + 'root_namespace_id', + 'home_namespace_id', +]) +RootInfo._all_field_names_ = RootInfo._field_names_ +RootInfo._fields_ = [ + ('root_namespace_id', RootInfo._root_namespace_id_validator), + ('home_namespace_id', RootInfo._home_namespace_id_validator), +] +RootInfo._all_fields_ = RootInfo._fields_ + +RootInfo._tag_to_subtype_ = { + (u'team',): TeamRootInfo_validator, + (u'user',): UserRootInfo_validator, +} +RootInfo._pytype_to_tag_and_subtype_ = { + TeamRootInfo: ((u'team',), TeamRootInfo_validator), + UserRootInfo: ((u'user',), UserRootInfo_validator), +} +RootInfo._is_catch_all_ = True + +TeamRootInfo._home_path_validator = bv.String() +TeamRootInfo._field_names_ = set(['home_path']) +TeamRootInfo._all_field_names_ = RootInfo._all_field_names_.union(TeamRootInfo._field_names_) +TeamRootInfo._fields_ = [('home_path', TeamRootInfo._home_path_validator)] +TeamRootInfo._all_fields_ = RootInfo._all_fields_ + TeamRootInfo._fields_ + +UserRootInfo._field_names_ = set([]) +UserRootInfo._all_field_names_ = RootInfo._all_field_names_.union(UserRootInfo._field_names_) +UserRootInfo._fields_ = [] +UserRootInfo._all_fields_ = RootInfo._all_fields_ + UserRootInfo._fields_ + ROUTES = { } diff --git a/resources/lib/dropbox/contacts.py b/resources/lib/dropbox/contacts.py new file mode 100644 index 0000000..e1f645d --- /dev/null +++ b/resources/lib/dropbox/contacts.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +# Auto-generated by Stone, do not modify. +# @generated +# flake8: noqa +# pylint: skip-file +try: + from . import stone_validators as bv + from . import stone_base as bb +except (ImportError, 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, + ) +except (ImportError, SystemError, ValueError): + import common + +class DeleteManualContactsArg(bb.Struct): + """ + :ivar contacts.DeleteManualContactsArg.email_addresses: List of manually + added contacts to be deleted. + """ + + __slots__ = [ + '_email_addresses_value', + '_email_addresses_present', + ] + + _has_required_fields = True + + def __init__(self, + email_addresses=None): + self._email_addresses_value = None + self._email_addresses_present = False + if email_addresses is not None: + self.email_addresses = email_addresses + + @property + def email_addresses(self): + """ + List of manually added contacts to be deleted. + + :rtype: list of [str] + """ + if self._email_addresses_present: + return self._email_addresses_value + else: + raise AttributeError("missing required field 'email_addresses'") + + @email_addresses.setter + def email_addresses(self, val): + val = self._email_addresses_validator.validate(val) + self._email_addresses_value = val + self._email_addresses_present = True + + @email_addresses.deleter + def email_addresses(self): + self._email_addresses_value = None + self._email_addresses_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteManualContactsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeleteManualContactsArg(email_addresses={!r})'.format( + self._email_addresses_value, + ) + +DeleteManualContactsArg_validator = bv.Struct(DeleteManualContactsArg) + +class DeleteManualContactsError(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 list of [str] contacts.DeleteManualContactsError.contacts_not_found: + Can't delete contacts from this list. Make sure the list only has + manually added contacts. The deletion was cancelled. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def contacts_not_found(cls, val): + """ + Create an instance of this class set to the ``contacts_not_found`` tag + with value ``val``. + + :param list of [str] val: + :rtype: DeleteManualContactsError + """ + return cls('contacts_not_found', val) + + def is_contacts_not_found(self): + """ + Check if the union tag is ``contacts_not_found``. + + :rtype: bool + """ + return self._tag == 'contacts_not_found' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_contacts_not_found(self): + """ + Can't delete contacts from this list. Make sure the list only has + manually added contacts. The deletion was cancelled. + + Only call this if :meth:`is_contacts_not_found` is true. + + :rtype: list of [str] + """ + if not self.is_contacts_not_found(): + raise AttributeError("tag 'contacts_not_found' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteManualContactsError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeleteManualContactsError(%r, %r)' % (self._tag, self._value) + +DeleteManualContactsError_validator = bv.Union(DeleteManualContactsError) + +DeleteManualContactsArg._email_addresses_validator = bv.List(common.EmailAddress_validator) +DeleteManualContactsArg._all_field_names_ = set(['email_addresses']) +DeleteManualContactsArg._all_fields_ = [('email_addresses', DeleteManualContactsArg._email_addresses_validator)] + +DeleteManualContactsError._contacts_not_found_validator = bv.List(common.EmailAddress_validator) +DeleteManualContactsError._other_validator = bv.Void() +DeleteManualContactsError._tagmap = { + 'contacts_not_found': DeleteManualContactsError._contacts_not_found_validator, + 'other': DeleteManualContactsError._other_validator, +} + +DeleteManualContactsError.other = DeleteManualContactsError('other') + +delete_manual_contacts = bb.Route( + 'delete_manual_contacts', + 1, + False, + bv.Void(), + bv.Void(), + bv.Void(), + {'host': u'api', + 'style': u'rpc'}, +) +delete_manual_contacts_batch = bb.Route( + 'delete_manual_contacts_batch', + 1, + False, + DeleteManualContactsArg_validator, + bv.Void(), + DeleteManualContactsError_validator, + {'host': u'api', + 'style': u'rpc'}, +) + +ROUTES = { + 'delete_manual_contacts': delete_manual_contacts, + 'delete_manual_contacts_batch': delete_manual_contacts_batch, +} + diff --git a/resources/lib/dropbox/dropbox.py b/resources/lib/dropbox/dropbox.py index 12f4c63..7eafb24 100644 --- a/resources/lib/dropbox/dropbox.py +++ b/resources/lib/dropbox/dropbox.py @@ -22,6 +22,11 @@ from .auth import ( AuthError_validator, RateLimitError_validator, ) +from .common import ( + PathRoot, + PathRoot_validator, + PathRootError_validator +) from .base import DropboxBase from .base_team import DropboxTeamBase from .exceptions import ( @@ -29,6 +34,7 @@ from .exceptions import ( AuthError, BadInputError, HttpError, + PathRootError, InternalServerError, RateLimitError, ) @@ -42,6 +48,9 @@ from .session import ( pinned_session, ) +PATH_ROOT_HEADER = 'Dropbox-API-Path-Root' +HTTP_STATUS_INVALID_PATH_ROOT = 422 + class RouteResult(object): """The successful result of a call to a route.""" @@ -117,7 +126,7 @@ class _DropboxTransport(object): _ROUTE_STYLE_RPC = 'rpc' # This is the default longest time we'll block on receiving data from the server - _DEFAULT_TIMEOUT = 30 + _DEFAULT_TIMEOUT = 100 def __init__(self, oauth2_access_token, @@ -182,6 +191,35 @@ class _DropboxTransport(object): self._timeout = timeout + def clone( + self, + oauth2_access_token=None, + max_retries_on_error=None, + max_retries_on_rate_limit=None, + user_agent=None, + session=None, + headers=None, + timeout=None): + """ + Creates a new copy of the Dropbox client with the same defaults unless modified by + arguments to clone() + + See constructor for original parameter descriptions. + + :return: New instance of Dropbox clent + :rtype: Dropbox + """ + + return self.__class__( + oauth2_access_token or self._oauth2_access_token, + max_retries_on_error or self._max_retries_on_error, + max_retries_on_rate_limit or self._max_retries_on_rate_limit, + user_agent or self._user_agent, + session or self._session, + headers or self._headers, + timeout or self._timeout + ) + def request(self, route, namespace, @@ -211,6 +249,8 @@ class _DropboxTransport(object): """ host = route.attrs['host'] or 'api' route_name = namespace + '/' + route.name + if route.version > 1: + route_name += '_v{}'.format(route.version) route_style = route.attrs['style'] or 'rpc' serialized_arg = stone_serializers.json_encode(route.arg_type, request_arg) @@ -421,6 +461,10 @@ class _DropboxTransport(object): err = stone_serializers.json_compat_obj_decode( AuthError_validator, r.json()['error']) raise AuthError(request_id, err) + elif r.status_code == HTTP_STATUS_INVALID_PATH_ROOT: + err = stone_serializers.json_compat_obj_decode( + PathRootError_validator, r.json()['error']) + raise PathRootError(request_id, err) elif r.status_code == 429: err = None if r.headers.get('content-type') == 'application/json': @@ -479,6 +523,28 @@ class _DropboxTransport(object): for c in http_resp.iter_content(chunksize): f.write(c) + def with_path_root(self, path_root): + """ + Creates a clone of the Dropbox instance with the Dropbox-API-Path-Root header + as the appropriate serialized instance of PathRoot. + + For more information, see + https://www.dropbox.com/developers/reference/namespace-guide#pathrootmodes + + :param PathRoot path_root: instance of PathRoot to serialize into the headers field + :return: A :class: `Dropbox` + :rtype: Dropbox + """ + + if not isinstance(path_root, PathRoot): + raise ValueError("path_root must be an instance of PathRoot") + + return self.clone( + headers={ + PATH_ROOT_HEADER: stone_serializers.json_encode(PathRoot_validator, path_root) + } + ) + class Dropbox(_DropboxTransport, DropboxBase): """ Use this class to make requests to the Dropbox API using a user's access @@ -493,22 +559,50 @@ class DropboxTeam(_DropboxTransport, DropboxTeamBase): token. Methods of this class are meant to act on the team, but there is also an :meth:`as_user` method for assuming a team member's identity. """ + def as_admin(self, team_member_id): + """ + Allows a team credential to assume the identity of an administrator on the team + and perform operations on any team-owned content. + + :param str team_member_id: team member id of administrator to perform actions with + :return: A :class:`Dropbox` object that can be used to query on behalf + of this admin of the team. + :rtype: Dropbox + """ + return self._get_dropbox_client_with_select_header('Dropbox-API-Select-Admin', + team_member_id) def as_user(self, team_member_id): """ Allows a team credential to assume the identity of a member of the team. + :param str team_member_id: team member id of team member to perform actions with :return: A :class:`Dropbox` object that can be used to query on behalf of this member of the team. :rtype: Dropbox """ + return self._get_dropbox_client_with_select_header('Dropbox-API-Select-User', + team_member_id) + + def _get_dropbox_client_with_select_header(self, select_header_name, team_member_id): + """ + Get Dropbox client with modified headers + + :param str select_header_name: Header name used to select users + :param str team_member_id: team member id of team member to perform actions with + :return: A :class:`Dropbox` object that can be used to query on behalf + of a member or admin of the team + :rtype: Dropbox + """ + new_headers = self._headers.copy() if self._headers else {} - new_headers['Dropbox-API-Select-User'] = team_member_id + new_headers[select_header_name] = team_member_id return Dropbox( self._oauth2_access_token, max_retries_on_error=self._max_retries_on_error, max_retries_on_rate_limit=self._max_retries_on_rate_limit, + timeout=self._timeout, user_agent=self._raw_user_agent, session=self._session, headers=new_headers, diff --git a/resources/lib/dropbox/exceptions.py b/resources/lib/dropbox/exceptions.py index 3dcead5..12ac045 100644 --- a/resources/lib/dropbox/exceptions.py +++ b/resources/lib/dropbox/exceptions.py @@ -46,6 +46,17 @@ class HttpError(DropboxException): self.status_code, self.body) +class PathRootError(HttpError): + """Error caused by an invalid path root.""" + + def __init__(self, request_id, error=None): + super(PathRootError, self).__init__(request_id, 422, None) + self.error = error + + def __repr__(self): + return 'PathRootError({!r}, {!r})'.format(self.request_id, self.error) + + class BadInputError(HttpError): """Errors due to bad input parameters to an API Operation.""" diff --git a/resources/lib/dropbox/file_properties.py b/resources/lib/dropbox/file_properties.py index f4a5ac7..252de5a 100644 --- a/resources/lib/dropbox/file_properties.py +++ b/resources/lib/dropbox/file_properties.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file """ @@ -14,22 +15,29 @@ Fields are added to a Dropbox file using a :type:`PropertyGroup`. Property group The :type:`PropertyGroupTemplate` is a way of restricting the possible key names and value types of the data within a property group. The possible key names and value types are explicitly enumerated using :type:`PropertyFieldTemplate` objects. You can think of a property group template as a class definition for a particular key/value metadata object, and the property groups themselves as the instantiations of these objects. + +Templates are owned either by a user/app pair or team/app pair. Templates and their associated properties can't be accessed by any app other than the app that created them, and even then, only when the app is linked with the owner of the template (either a user or team). + +User-owned templates are accessed via the user-auth file_properties/templates/*_for_user endpoints, while team-owned templates are accessed via the team-auth file_properties/templates/*_for_team endpoints. Properties associated with either type of template can be accessed via the user-auth properties/* endpoints. + +Finally, properties can be accessed from a number of endpoints that return metadata, including `files/get_metadata`, and `files/list_folder`. Properties can also be added during upload, using `files/upload`. """ try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 AddPropertiesArg(object): +class AddPropertiesArg(bb.Struct): """ - :ivar path: A unique identifier for the file or folder. - :ivar property_groups: The property groups which are to be added to a - Dropbox file. + :ivar file_properties.AddPropertiesArg.path: A unique identifier for the + file or folder. + :ivar file_properties.AddPropertiesArg.property_groups: The property groups + which are to be added to a Dropbox file. """ __slots__ = [ @@ -99,6 +107,9 @@ class AddPropertiesArg(object): self._property_groups_value = None self._property_groups_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddPropertiesArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddPropertiesArg(path={!r}, property_groups={!r})'.format( self._path_value, @@ -113,10 +124,10 @@ class TemplateError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str template_not_found: Template does not exist for the given - identifier. - :ivar restricted_content: You do not have permission to modify this - template. + :ivar str file_properties.TemplateError.template_not_found: Template does + not exist for the given identifier. + :ivar file_properties.TemplateError.restricted_content: You do not have + permission to modify this template. """ _catch_all = 'other' @@ -172,6 +183,9 @@ class TemplateError(bb.Union): raise AttributeError("tag 'template_not_found' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TemplateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TemplateError(%r, %r)' % (self._tag, self._value) @@ -183,8 +197,8 @@ class PropertiesError(TemplateError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar unsupported_folder: This folder cannot be tagged. Tagging folders is - not supported for team-owned templates. + :ivar file_properties.PropertiesError.unsupported_folder: This folder cannot + be tagged. Tagging folders is not supported for team-owned templates. """ # Attribute is overwritten below the class definition @@ -227,6 +241,9 @@ class PropertiesError(TemplateError): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertiesError(%r, %r)' % (self._tag, self._value) @@ -238,10 +255,11 @@ class InvalidPropertyGroupError(PropertiesError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar property_field_too_large: One or more of the supplied property field - values is too large. - :ivar does_not_fit_template: One or more of the supplied property fields - does not conform to the template specifications. + :ivar file_properties.InvalidPropertyGroupError.property_field_too_large: + One or more of the supplied property field values is too large. + :ivar file_properties.InvalidPropertyGroupError.does_not_fit_template: One + or more of the supplied property fields does not conform to the template + specifications. """ # Attribute is overwritten below the class definition @@ -265,6 +283,9 @@ class InvalidPropertyGroupError(PropertiesError): """ return self._tag == 'does_not_fit_template' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(InvalidPropertyGroupError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'InvalidPropertyGroupError(%r, %r)' % (self._tag, self._value) @@ -276,8 +297,8 @@ class AddPropertiesError(InvalidPropertyGroupError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar property_group_already_exists: A property group associated with this - template and file already exists. + :ivar file_properties.AddPropertiesError.property_group_already_exists: A + property group associated with this template and file already exists. """ # Attribute is overwritten below the class definition @@ -291,21 +312,25 @@ class AddPropertiesError(InvalidPropertyGroupError): """ return self._tag == 'property_group_already_exists' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddPropertiesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddPropertiesError(%r, %r)' % (self._tag, self._value) AddPropertiesError_validator = bv.Union(AddPropertiesError) -class PropertyGroupTemplate(object): +class PropertyGroupTemplate(bb.Struct): """ Defines how a property group may be structured. - :ivar name: Display name for the template. Template names can be up to 256 - bytes. - :ivar description: Description for the template. Template descriptions can - be up to 1024 bytes. - :ivar fields: Definitions of the property fields associated with this - template. There can be up to 32 properties in a single template. + :ivar file_properties.PropertyGroupTemplate.name: Display name for the + template. Template names can be up to 256 bytes. + :ivar file_properties.PropertyGroupTemplate.description: Description for the + template. Template descriptions can be up to 1024 bytes. + :ivar file_properties.PropertyGroupTemplate.fields: Definitions of the + property fields associated with this template. There can be up to 32 + properties in a single template. """ __slots__ = [ @@ -407,6 +432,9 @@ class PropertyGroupTemplate(object): self._fields_value = None self._fields_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertyGroupTemplate, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertyGroupTemplate(name={!r}, description={!r}, fields={!r})'.format( self._name_value, @@ -431,6 +459,9 @@ class AddTemplateArg(PropertyGroupTemplate): description, fields) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddTemplateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddTemplateArg(name={!r}, description={!r}, fields={!r})'.format( self._name_value, @@ -440,9 +471,10 @@ class AddTemplateArg(PropertyGroupTemplate): AddTemplateArg_validator = bv.Struct(AddTemplateArg) -class AddTemplateResult(object): +class AddTemplateResult(bb.Struct): """ - :ivar template_id: An identifier for template added by See + :ivar file_properties.AddTemplateResult.template_id: An identifier for + template added by See :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. @@ -488,6 +520,9 @@ class AddTemplateResult(object): self._template_id_value = None self._template_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddTemplateResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddTemplateResult(template_id={!r})'.format( self._template_id_value, @@ -495,9 +530,10 @@ class AddTemplateResult(object): AddTemplateResult_validator = bv.Struct(AddTemplateResult) -class GetTemplateArg(object): +class GetTemplateArg(bb.Struct): """ - :ivar template_id: An identifier for template added by route See + :ivar file_properties.GetTemplateArg.template_id: An identifier for template + added by route See :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. @@ -543,6 +579,9 @@ class GetTemplateArg(object): self._template_id_value = None self._template_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTemplateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTemplateArg(template_id={!r})'.format( self._template_id_value, @@ -565,6 +604,9 @@ class GetTemplateResult(PropertyGroupTemplate): description, fields) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTemplateResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTemplateResult(name={!r}, description={!r}, fields={!r})'.format( self._name_value, @@ -574,9 +616,10 @@ class GetTemplateResult(PropertyGroupTemplate): GetTemplateResult_validator = bv.Struct(GetTemplateResult) -class ListTemplateResult(object): +class ListTemplateResult(bb.Struct): """ - :ivar template_ids: List of identifiers for templates added by See + :ivar file_properties.ListTemplateResult.template_ids: List of identifiers + for templates added by See :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. @@ -622,6 +665,9 @@ class ListTemplateResult(object): self._template_ids_value = None self._template_ids_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListTemplateResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListTemplateResult(template_ids={!r})'.format( self._template_ids_value, @@ -637,7 +683,8 @@ class LogicalOperator(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar or_operator: Append a query with an "or" operator. + :ivar file_properties.LogicalOperator.or_operator: Append a query with an + "or" operator. """ _catch_all = 'other' @@ -662,6 +709,9 @@ class LogicalOperator(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LogicalOperator, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LogicalOperator(%r, %r)' % (self._tag, self._value) @@ -673,7 +723,8 @@ class LookUpPropertiesError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar property_group_not_found: No property group was found. + :ivar file_properties.LookUpPropertiesError.property_group_not_found: No + property group was found. """ _catch_all = 'other' @@ -698,6 +749,9 @@ class LookUpPropertiesError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LookUpPropertiesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LookUpPropertiesError(%r, %r)' % (self._tag, self._value) @@ -709,14 +763,15 @@ class LookupError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar not_found: There is nothing at the given path. - :ivar not_file: We were expecting a file, but the given path refers to - something that isn't a file. - :ivar not_folder: We were expecting a folder, but the given path refers to - something that isn't a folder. - :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 file_properties.LookupError.not_found: There is nothing at the given + path. + :ivar file_properties.LookupError.not_file: We were expecting a file, but + the given path refers to something that isn't a file. + :ivar file_properties.LookupError.not_folder: We were expecting a folder, + but the given path refers to something that isn't a folder. + :ivar file_properties.LookupError.restricted_content: The file cannot be + transferred because the content is restricted. For example, sometimes + there are legal restrictions due to copyright claims. """ _catch_all = 'other' @@ -800,6 +855,9 @@ class LookupError(bb.Union): raise AttributeError("tag 'malformed_path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LookupError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LookupError(%r, %r)' % (self._tag, self._value) @@ -811,13 +869,16 @@ class ModifyTemplateError(TemplateError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar conflicting_property_names: A property field key with that name - already exists in the template. - :ivar too_many_properties: There are too many properties in the changed - template. The maximum number of properties per template is 32. - :ivar too_many_templates: There are too many templates for the team. - :ivar template_attribute_too_large: The template name, description or one or - more of the property field keys is too large. + :ivar file_properties.ModifyTemplateError.conflicting_property_names: A + property field key with that name already exists in the template. + :ivar file_properties.ModifyTemplateError.too_many_properties: There are too + many properties in the changed template. The maximum number of + properties per template is 32. + :ivar file_properties.ModifyTemplateError.too_many_templates: There are too + many templates for the team. + :ivar file_properties.ModifyTemplateError.template_attribute_too_large: The + template name, description or one or more of the property field keys is + too large. """ # Attribute is overwritten below the class definition @@ -861,16 +922,20 @@ class ModifyTemplateError(TemplateError): """ return self._tag == 'template_attribute_too_large' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ModifyTemplateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ModifyTemplateError(%r, %r)' % (self._tag, self._value) ModifyTemplateError_validator = bv.Union(ModifyTemplateError) -class OverwritePropertyGroupArg(object): +class OverwritePropertyGroupArg(bb.Struct): """ - :ivar path: A unique identifier for the file or folder. - :ivar property_groups: The property groups "snapshot" updates to force - apply. + :ivar file_properties.OverwritePropertyGroupArg.path: A unique identifier + for the file or folder. + :ivar file_properties.OverwritePropertyGroupArg.property_groups: The + property groups "snapshot" updates to force apply. """ __slots__ = [ @@ -940,6 +1005,9 @@ class OverwritePropertyGroupArg(object): self._property_groups_value = None self._property_groups_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(OverwritePropertyGroupArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'OverwritePropertyGroupArg(path={!r}, property_groups={!r})'.format( self._path_value, @@ -948,11 +1016,11 @@ class OverwritePropertyGroupArg(object): OverwritePropertyGroupArg_validator = bv.Struct(OverwritePropertyGroupArg) -class PropertiesSearchArg(object): +class PropertiesSearchArg(bb.Struct): """ - :ivar queries: Queries to search. - :ivar template_filter: Filter results to contain only properties associated - with these template IDs. + :ivar file_properties.PropertiesSearchArg.queries: Queries to search. + :ivar file_properties.PropertiesSearchArg.template_filter: Filter results to + contain only properties associated with these template IDs. """ __slots__ = [ @@ -1023,6 +1091,9 @@ class PropertiesSearchArg(object): self._template_filter_value = None self._template_filter_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertiesSearchArg(queries={!r}, template_filter={!r})'.format( self._queries_value, @@ -1031,6 +1102,105 @@ class PropertiesSearchArg(object): PropertiesSearchArg_validator = bv.Struct(PropertiesSearchArg) +class PropertiesSearchContinueArg(bb.Struct): + """ + :ivar file_properties.PropertiesSearchContinueArg.cursor: The cursor + returned by your last call to + :meth:`dropbox.dropbox.Dropbox.file_properties_properties_search` or + :meth:`dropbox.dropbox.Dropbox.file_properties_properties_search_continue`. + """ + + __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): + """ + The cursor returned by your last call to + :meth:`dropbox.dropbox.Dropbox.file_properties_properties_search` or + :meth:`dropbox.dropbox.Dropbox.file_properties_properties_search_continue`. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PropertiesSearchContinueArg(cursor={!r})'.format( + self._cursor_value, + ) + +PropertiesSearchContinueArg_validator = bv.Struct(PropertiesSearchContinueArg) + +class PropertiesSearchContinueError(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 file_properties.PropertiesSearchContinueError.reset: Indicates that + the cursor has been invalidated. Call + :meth:`dropbox.dropbox.Dropbox.file_properties_properties_search` to + obtain a new cursor. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + reset = None + # Attribute is overwritten below the class definition + other = None + + def is_reset(self): + """ + Check if the union tag is ``reset``. + + :rtype: bool + """ + return self._tag == 'reset' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PropertiesSearchContinueError(%r, %r)' % (self._tag, self._value) + +PropertiesSearchContinueError_validator = bv.Union(PropertiesSearchContinueError) + class PropertiesSearchError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -1079,17 +1249,24 @@ class PropertiesSearchError(bb.Union): raise AttributeError("tag 'property_group_lookup' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertiesSearchError(%r, %r)' % (self._tag, self._value) PropertiesSearchError_validator = bv.Union(PropertiesSearchError) -class PropertiesSearchMatch(object): +class PropertiesSearchMatch(bb.Struct): """ - :ivar id: The ID for the matched file or folder. - :ivar path: The path for the matched file or folder. - :ivar property_groups: List of custom property groups associated with the - file. + :ivar file_properties.PropertiesSearchMatch.id: The ID for the matched file + or folder. + :ivar file_properties.PropertiesSearchMatch.path: The path for the matched + file or folder. + :ivar file_properties.PropertiesSearchMatch.is_deleted: Whether the file or + folder is deleted. + :ivar file_properties.PropertiesSearchMatch.property_groups: List of custom + property groups associated with the file. """ __slots__ = [ @@ -1097,6 +1274,8 @@ class PropertiesSearchMatch(object): '_id_present', '_path_value', '_path_present', + '_is_deleted_value', + '_is_deleted_present', '_property_groups_value', '_property_groups_present', ] @@ -1106,17 +1285,22 @@ class PropertiesSearchMatch(object): def __init__(self, id=None, path=None, + is_deleted=None, property_groups=None): self._id_value = None self._id_present = False self._path_value = None self._path_present = False + self._is_deleted_value = None + self._is_deleted_present = False self._property_groups_value = None self._property_groups_present = False if id is not None: self.id = id if path is not None: self.path = path + if is_deleted is not None: + self.is_deleted = is_deleted if property_groups is not None: self.property_groups = property_groups @@ -1166,6 +1350,29 @@ class PropertiesSearchMatch(object): self._path_value = None self._path_present = False + @property + def is_deleted(self): + """ + Whether the file or folder is deleted. + + :rtype: bool + """ + if self._is_deleted_present: + return self._is_deleted_value + else: + raise AttributeError("missing required field 'is_deleted'") + + @is_deleted.setter + def is_deleted(self, val): + val = self._is_deleted_validator.validate(val) + self._is_deleted_value = val + self._is_deleted_present = True + + @is_deleted.deleter + def is_deleted(self): + self._is_deleted_value = None + self._is_deleted_present = False + @property def property_groups(self): """ @@ -1189,10 +1396,14 @@ class PropertiesSearchMatch(object): self._property_groups_value = None self._property_groups_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchMatch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'PropertiesSearchMatch(id={!r}, path={!r}, property_groups={!r})'.format( + return 'PropertiesSearchMatch(id={!r}, path={!r}, is_deleted={!r}, property_groups={!r})'.format( self._id_value, self._path_value, + self._is_deleted_value, self._property_groups_value, ) @@ -1204,7 +1415,8 @@ class PropertiesSearchMode(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str field_name: Search for a value associated with this field name. + :ivar str file_properties.PropertiesSearchMode.field_name: Search for a + value associated with this field name. """ _catch_all = 'other' @@ -1250,16 +1462,22 @@ class PropertiesSearchMode(bb.Union): raise AttributeError("tag 'field_name' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchMode, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertiesSearchMode(%r, %r)' % (self._tag, self._value) PropertiesSearchMode_validator = bv.Union(PropertiesSearchMode) -class PropertiesSearchQuery(object): +class PropertiesSearchQuery(bb.Struct): """ - :ivar query: The property field value for which to search across templates. - :ivar mode: The mode with which to perform the search. - :ivar logical_operator: The logical operator with which to append the query. + :ivar file_properties.PropertiesSearchQuery.query: The property field value + for which to search across templates. + :ivar file_properties.PropertiesSearchQuery.mode: The mode with which to + perform the search. + :ivar file_properties.PropertiesSearchQuery.logical_operator: The logical + operator with which to append the query. """ __slots__ = [ @@ -1359,6 +1577,9 @@ class PropertiesSearchQuery(object): self._logical_operator_value = None self._logical_operator_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchQuery, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertiesSearchQuery(query={!r}, mode={!r}, logical_operator={!r})'.format( self._query_value, @@ -1368,24 +1589,36 @@ class PropertiesSearchQuery(object): PropertiesSearchQuery_validator = bv.Struct(PropertiesSearchQuery) -class PropertiesSearchResult(object): +class PropertiesSearchResult(bb.Struct): """ - :ivar matches: A list (possibly empty) of matches for the query. + :ivar file_properties.PropertiesSearchResult.matches: A list (possibly + empty) of matches for the query. + :ivar file_properties.PropertiesSearchResult.cursor: Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.file_properties_properties_search_continue` + to continue to receive search results. Cursor will be null when there + are no more results. """ __slots__ = [ '_matches_value', '_matches_present', + '_cursor_value', + '_cursor_present', ] _has_required_fields = True def __init__(self, - matches=None): + matches=None, + cursor=None): self._matches_value = None self._matches_present = False + self._cursor_value = None + self._cursor_present = False if matches is not None: self.matches = matches + if cursor is not None: + self.cursor = cursor @property def matches(self): @@ -1410,22 +1643,55 @@ class PropertiesSearchResult(object): self._matches_value = None self._matches_present = False + @property + def cursor(self): + """ + Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.file_properties_properties_search_continue` + to continue to receive search results. Cursor will be null when there + are no more results. + + :rtype: str + """ + if self._cursor_present: + return self._cursor_value + else: + return None + + @cursor.setter + def cursor(self, val): + if val is None: + del self.cursor + return + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertiesSearchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'PropertiesSearchResult(matches={!r})'.format( + return 'PropertiesSearchResult(matches={!r}, cursor={!r})'.format( self._matches_value, + self._cursor_value, ) PropertiesSearchResult_validator = bv.Struct(PropertiesSearchResult) -class PropertyField(object): +class PropertyField(bb.Struct): """ Raw key/value data to be associated with a Dropbox file. Property fields are added to Dropbox files as a :class:`PropertyGroup`. - :ivar name: Key of the property field associated with a file and template. - Keys can be up to 256 bytes. - :ivar value: Value of the property field associated with a file and - template. Values can be up to 1024 bytes. + :ivar file_properties.PropertyField.name: Key of the property field + associated with a file and template. Keys can be up to 256 bytes. + :ivar file_properties.PropertyField.value: Value of the property field + associated with a file and template. Values can be up to 1024 bytes. """ __slots__ = [ @@ -1497,6 +1763,9 @@ class PropertyField(object): self._value_value = None self._value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertyField, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertyField(name={!r}, value={!r})'.format( self._name_value, @@ -1505,17 +1774,18 @@ class PropertyField(object): PropertyField_validator = bv.Struct(PropertyField) -class PropertyFieldTemplate(object): +class PropertyFieldTemplate(bb.Struct): """ Defines how a single property field may be structured. Used exclusively by :class:`PropertyGroupTemplate`. - :ivar name: Key of the property field being described. Property field keys - can be up to 256 bytes. - :ivar description: Description of the property field. Property field - descriptions can be up to 1024 bytes. - :ivar type: Data type of the value of this property field. This type will be - enforced upon property creation and modifications. + :ivar file_properties.PropertyFieldTemplate.name: Key of the property field + being described. Property field keys can be up to 256 bytes. + :ivar file_properties.PropertyFieldTemplate.description: Description of the + property field. Property field descriptions can be up to 1024 bytes. + :ivar file_properties.PropertyFieldTemplate.type: Data type of the value of + this property field. This type will be enforced upon property creation + and modifications. """ __slots__ = [ @@ -1618,6 +1888,9 @@ class PropertyFieldTemplate(object): self._type_value = None self._type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertyFieldTemplate, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertyFieldTemplate(name={!r}, description={!r}, type={!r})'.format( self._name_value, @@ -1627,16 +1900,17 @@ class PropertyFieldTemplate(object): PropertyFieldTemplate_validator = bv.Struct(PropertyFieldTemplate) -class PropertyGroup(object): +class PropertyGroup(bb.Struct): """ A subset of the property fields described by the corresponding :class:`PropertyGroupTemplate`. Properties are always added to a Dropbox file as a :class:`PropertyGroup`. The possible key names and value types in this group are defined by the corresponding :class:`PropertyGroupTemplate`. - :ivar template_id: A unique identifier for the associated template. - :ivar fields: The actual properties associated with the template. There can - be up to 32 property types per template. + :ivar file_properties.PropertyGroup.template_id: A unique identifier for the + associated template. + :ivar file_properties.PropertyGroup.fields: The actual properties associated + with the template. There can be up to 32 property types per template. """ __slots__ = [ @@ -1707,6 +1981,9 @@ class PropertyGroup(object): self._fields_value = None self._fields_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertyGroup, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertyGroup(template_id={!r}, fields={!r})'.format( self._template_id_value, @@ -1715,14 +1992,15 @@ class PropertyGroup(object): PropertyGroup_validator = bv.Struct(PropertyGroup) -class PropertyGroupUpdate(object): +class PropertyGroupUpdate(bb.Struct): """ - :ivar template_id: A unique identifier for a property template. - :ivar add_or_update_fields: Property fields to update. If the property field - already exists, it is updated. If the property field doesn't exist, the - property group is added. - :ivar remove_fields: Property fields to remove (by name), provided they - exist. + :ivar file_properties.PropertyGroupUpdate.template_id: A unique identifier + for a property template. + :ivar file_properties.PropertyGroupUpdate.add_or_update_fields: Property + fields to update. If the property field already exists, it is updated. + If the property field doesn't exist, the property group is added. + :ivar file_properties.PropertyGroupUpdate.remove_fields: Property fields to + remove (by name), provided they exist. """ __slots__ = [ @@ -1830,6 +2108,9 @@ class PropertyGroupUpdate(object): self._remove_fields_value = None self._remove_fields_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertyGroupUpdate, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertyGroupUpdate(template_id={!r}, add_or_update_fields={!r}, remove_fields={!r})'.format( self._template_id_value, @@ -1847,8 +2128,8 @@ class PropertyType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar string: The associated property field will be of type string. Unicode - is supported. + :ivar file_properties.PropertyType.string: The associated property field + will be of type string. Unicode is supported. """ _catch_all = 'other' @@ -1873,15 +2154,20 @@ class PropertyType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PropertyType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PropertyType(%r, %r)' % (self._tag, self._value) PropertyType_validator = bv.Union(PropertyType) -class RemovePropertiesArg(object): +class RemovePropertiesArg(bb.Struct): """ - :ivar path: A unique identifier for the file or folder. - :ivar property_template_ids: A list of identifiers for a template created by + :ivar file_properties.RemovePropertiesArg.path: A unique identifier for the + file or folder. + :ivar file_properties.RemovePropertiesArg.property_template_ids: A list of + identifiers for a template created by :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. @@ -1957,6 +2243,9 @@ class RemovePropertiesArg(object): self._property_template_ids_value = None self._property_template_ids_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemovePropertiesArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemovePropertiesArg(path={!r}, property_template_ids={!r})'.format( self._path_value, @@ -2001,27 +2290,86 @@ class RemovePropertiesError(PropertiesError): raise AttributeError("tag 'property_group_lookup' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemovePropertiesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemovePropertiesError(%r, %r)' % (self._tag, self._value) RemovePropertiesError_validator = bv.Union(RemovePropertiesError) -class TemplateFilter(bb.Union): +class RemoveTemplateArg(bb.Struct): + """ + :ivar file_properties.RemoveTemplateArg.template_id: An identifier for a + template created by + :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` + or + :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. + """ + + __slots__ = [ + '_template_id_value', + '_template_id_present', + ] + + _has_required_fields = True + + def __init__(self, + template_id=None): + self._template_id_value = None + self._template_id_present = False + if template_id is not None: + self.template_id = template_id + + @property + def template_id(self): + """ + An identifier for a template created by + :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` + or + :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. + + :rtype: str + """ + if self._template_id_present: + return self._template_id_value + else: + raise AttributeError("missing required field 'template_id'") + + @template_id.setter + def template_id(self, val): + val = self._template_id_validator.validate(val) + self._template_id_value = val + self._template_id_present = True + + @template_id.deleter + def template_id(self): + self._template_id_value = None + self._template_id_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemoveTemplateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RemoveTemplateArg(template_id={!r})'.format( + self._template_id_value, + ) + +RemoveTemplateArg_validator = bv.Struct(RemoveTemplateArg) + +class TemplateFilterBase(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 filter_none: No templates will be filtered from the result (all + :ivar list of [str] file_properties.TemplateFilterBase.filter_some: Only + templates with an ID in the supplied list will be returned (a subset of templates will be returned). - :ivar list of [str] filter_some: Only templates with an ID in the supplied - list will be returned (a subset of templates will be returned). """ _catch_all = 'other' # Attribute is overwritten below the class definition - filter_none = None - # Attribute is overwritten below the class definition other = None @classmethod @@ -2031,18 +2379,10 @@ class TemplateFilter(bb.Union): value ``val``. :param list of [str] val: - :rtype: TemplateFilter + :rtype: TemplateFilterBase """ return cls('filter_some', val) - def is_filter_none(self): - """ - Check if the union tag is ``filter_none``. - - :rtype: bool - """ - return self._tag == 'filter_none' - def is_filter_some(self): """ Check if the union tag is ``filter_some``. @@ -2072,6 +2412,38 @@ class TemplateFilter(bb.Union): raise AttributeError("tag 'filter_some' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TemplateFilterBase, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TemplateFilterBase(%r, %r)' % (self._tag, self._value) + +TemplateFilterBase_validator = bv.Union(TemplateFilterBase) + +class TemplateFilter(TemplateFilterBase): + """ + 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 file_properties.TemplateFilter.filter_none: No templates will be + filtered from the result (all templates will be returned). + """ + + # Attribute is overwritten below the class definition + filter_none = None + + def is_filter_none(self): + """ + Check if the union tag is ``filter_none``. + + :rtype: bool + """ + return self._tag == 'filter_none' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TemplateFilter, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TemplateFilter(%r, %r)' % (self._tag, self._value) @@ -2083,8 +2455,10 @@ class TemplateOwnerType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user: Template will be associated with a user. - :ivar team: Template will be associated with a team. + :ivar file_properties.TemplateOwnerType.user: Template will be associated + with a user. + :ivar file_properties.TemplateOwnerType.team: Template will be associated + with a team. """ _catch_all = 'other' @@ -2119,15 +2493,20 @@ class TemplateOwnerType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TemplateOwnerType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TemplateOwnerType(%r, %r)' % (self._tag, self._value) TemplateOwnerType_validator = bv.Union(TemplateOwnerType) -class UpdatePropertiesArg(object): +class UpdatePropertiesArg(bb.Struct): """ - :ivar path: A unique identifier for the file or folder. - :ivar update_property_groups: The property groups "delta" updates to apply. + :ivar file_properties.UpdatePropertiesArg.path: A unique identifier for the + file or folder. + :ivar file_properties.UpdatePropertiesArg.update_property_groups: The + property groups "delta" updates to apply. """ __slots__ = [ @@ -2197,6 +2576,9 @@ class UpdatePropertiesArg(object): self._update_property_groups_value = None self._update_property_groups_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdatePropertiesArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdatePropertiesArg(path={!r}, update_property_groups={!r})'.format( self._path_value, @@ -2241,23 +2623,28 @@ class UpdatePropertiesError(InvalidPropertyGroupError): raise AttributeError("tag 'property_group_lookup' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdatePropertiesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdatePropertiesError(%r, %r)' % (self._tag, self._value) UpdatePropertiesError_validator = bv.Union(UpdatePropertiesError) -class UpdateTemplateArg(object): +class UpdateTemplateArg(bb.Struct): """ - :ivar template_id: An identifier for template added by See + :ivar file_properties.UpdateTemplateArg.template_id: An identifier for + template added by See :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. - :ivar name: A display name for the template. template names can be up to 256 - bytes. - :ivar description: Description for the new template. Template descriptions - can be up to 1024 bytes. - :ivar add_fields: Property field templates to be added to the group - template. There can be up to 32 properties in a single template. + :ivar file_properties.UpdateTemplateArg.name: A display name for the + template. template names can be up to 256 bytes. + :ivar file_properties.UpdateTemplateArg.description: Description for the new + template. Template descriptions can be up to 1024 bytes. + :ivar file_properties.UpdateTemplateArg.add_fields: Property field templates + to be added to the group template. There can be up to 32 properties in a + single template. """ __slots__ = [ @@ -2401,6 +2788,9 @@ class UpdateTemplateArg(object): self._add_fields_value = None self._add_fields_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateTemplateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateTemplateArg(template_id={!r}, name={!r}, description={!r}, add_fields={!r})'.format( self._template_id_value, @@ -2411,9 +2801,10 @@ class UpdateTemplateArg(object): UpdateTemplateArg_validator = bv.Struct(UpdateTemplateArg) -class UpdateTemplateResult(object): +class UpdateTemplateResult(bb.Struct): """ - :ivar template_id: An identifier for template added by route See + :ivar file_properties.UpdateTemplateResult.template_id: An identifier for + template added by route See :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_user` or :meth:`dropbox.dropbox.Dropbox.file_properties_templates_add_for_team`. @@ -2459,6 +2850,9 @@ class UpdateTemplateResult(object): self._template_id_value = None self._template_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateTemplateResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateTemplateResult(template_id={!r})'.format( self._template_id_value, @@ -2468,6 +2862,7 @@ UpdateTemplateResult_validator = bv.Struct(UpdateTemplateResult) Id_validator = bv.String(min_length=1) PathOrId_validator = bv.String(pattern=u'/(.|[\\r\\n])*|id:.*|(ns:[0-9]+(/.*)?)') +PropertiesSearchCursor_validator = bv.String(min_length=1) TemplateId_validator = bv.String(min_length=1, pattern=u'(/|ptid:).*') AddPropertiesArg._path_validator = PathOrId_validator AddPropertiesArg._property_groups_validator = bv.List(PropertyGroup_validator) @@ -2633,6 +3028,20 @@ PropertiesSearchArg._all_fields_ = [ ('template_filter', PropertiesSearchArg._template_filter_validator), ] +PropertiesSearchContinueArg._cursor_validator = PropertiesSearchCursor_validator +PropertiesSearchContinueArg._all_field_names_ = set(['cursor']) +PropertiesSearchContinueArg._all_fields_ = [('cursor', PropertiesSearchContinueArg._cursor_validator)] + +PropertiesSearchContinueError._reset_validator = bv.Void() +PropertiesSearchContinueError._other_validator = bv.Void() +PropertiesSearchContinueError._tagmap = { + 'reset': PropertiesSearchContinueError._reset_validator, + 'other': PropertiesSearchContinueError._other_validator, +} + +PropertiesSearchContinueError.reset = PropertiesSearchContinueError('reset') +PropertiesSearchContinueError.other = PropertiesSearchContinueError('other') + PropertiesSearchError._property_group_lookup_validator = LookUpPropertiesError_validator PropertiesSearchError._other_validator = bv.Void() PropertiesSearchError._tagmap = { @@ -2644,15 +3053,18 @@ PropertiesSearchError.other = PropertiesSearchError('other') PropertiesSearchMatch._id_validator = Id_validator PropertiesSearchMatch._path_validator = bv.String() +PropertiesSearchMatch._is_deleted_validator = bv.Boolean() PropertiesSearchMatch._property_groups_validator = bv.List(PropertyGroup_validator) PropertiesSearchMatch._all_field_names_ = set([ 'id', 'path', + 'is_deleted', 'property_groups', ]) PropertiesSearchMatch._all_fields_ = [ ('id', PropertiesSearchMatch._id_validator), ('path', PropertiesSearchMatch._path_validator), + ('is_deleted', PropertiesSearchMatch._is_deleted_validator), ('property_groups', PropertiesSearchMatch._property_groups_validator), ] @@ -2680,8 +3092,15 @@ PropertiesSearchQuery._all_fields_ = [ ] PropertiesSearchResult._matches_validator = bv.List(PropertiesSearchMatch_validator) -PropertiesSearchResult._all_field_names_ = set(['matches']) -PropertiesSearchResult._all_fields_ = [('matches', PropertiesSearchResult._matches_validator)] +PropertiesSearchResult._cursor_validator = bv.Nullable(PropertiesSearchCursor_validator) +PropertiesSearchResult._all_field_names_ = set([ + 'matches', + 'cursor', +]) +PropertiesSearchResult._all_fields_ = [ + ('matches', PropertiesSearchResult._matches_validator), + ('cursor', PropertiesSearchResult._cursor_validator), +] PropertyField._name_validator = bv.String() PropertyField._value_validator = bv.String() @@ -2760,17 +3179,26 @@ RemovePropertiesError._tagmap = { } RemovePropertiesError._tagmap.update(PropertiesError._tagmap) -TemplateFilter._filter_none_validator = bv.Void() -TemplateFilter._filter_some_validator = bv.List(TemplateId_validator, min_items=1) -TemplateFilter._other_validator = bv.Void() -TemplateFilter._tagmap = { - 'filter_none': TemplateFilter._filter_none_validator, - 'filter_some': TemplateFilter._filter_some_validator, - 'other': TemplateFilter._other_validator, +RemoveTemplateArg._template_id_validator = TemplateId_validator +RemoveTemplateArg._all_field_names_ = set(['template_id']) +RemoveTemplateArg._all_fields_ = [('template_id', RemoveTemplateArg._template_id_validator)] + +TemplateFilterBase._filter_some_validator = bv.List(TemplateId_validator, min_items=1) +TemplateFilterBase._other_validator = bv.Void() +TemplateFilterBase._tagmap = { + 'filter_some': TemplateFilterBase._filter_some_validator, + 'other': TemplateFilterBase._other_validator, } +TemplateFilterBase.other = TemplateFilterBase('other') + +TemplateFilter._filter_none_validator = bv.Void() +TemplateFilter._tagmap = { + 'filter_none': TemplateFilter._filter_none_validator, +} +TemplateFilter._tagmap.update(TemplateFilterBase._tagmap) + TemplateFilter.filter_none = TemplateFilter('filter_none') -TemplateFilter.other = TemplateFilter('other') TemplateOwnerType._user_validator = bv.Void() TemplateOwnerType._team_validator = bv.Void() @@ -2825,6 +3253,7 @@ UpdateTemplateResult._all_fields_ = [('template_id', UpdateTemplateResult._templ properties_add = bb.Route( 'properties/add', + 1, False, AddPropertiesArg_validator, bv.Void(), @@ -2834,6 +3263,7 @@ properties_add = bb.Route( ) properties_overwrite = bb.Route( 'properties/overwrite', + 1, False, OverwritePropertyGroupArg_validator, bv.Void(), @@ -2843,6 +3273,7 @@ properties_overwrite = bb.Route( ) properties_remove = bb.Route( 'properties/remove', + 1, False, RemovePropertiesArg_validator, bv.Void(), @@ -2852,6 +3283,7 @@ properties_remove = bb.Route( ) properties_search = bb.Route( 'properties/search', + 1, False, PropertiesSearchArg_validator, PropertiesSearchResult_validator, @@ -2859,8 +3291,19 @@ properties_search = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +properties_search_continue = bb.Route( + 'properties/search/continue', + 1, + False, + PropertiesSearchContinueArg_validator, + PropertiesSearchResult_validator, + PropertiesSearchContinueError_validator, + {'host': u'api', + 'style': u'rpc'}, +) properties_update = bb.Route( 'properties/update', + 1, False, UpdatePropertiesArg_validator, bv.Void(), @@ -2870,6 +3313,7 @@ properties_update = bb.Route( ) templates_add_for_team = bb.Route( 'templates/add_for_team', + 1, False, AddTemplateArg_validator, AddTemplateResult_validator, @@ -2879,6 +3323,7 @@ templates_add_for_team = bb.Route( ) templates_add_for_user = bb.Route( 'templates/add_for_user', + 1, False, AddTemplateArg_validator, AddTemplateResult_validator, @@ -2888,6 +3333,7 @@ templates_add_for_user = bb.Route( ) templates_get_for_team = bb.Route( 'templates/get_for_team', + 1, False, GetTemplateArg_validator, GetTemplateResult_validator, @@ -2897,6 +3343,7 @@ templates_get_for_team = bb.Route( ) templates_get_for_user = bb.Route( 'templates/get_for_user', + 1, False, GetTemplateArg_validator, GetTemplateResult_validator, @@ -2906,6 +3353,7 @@ templates_get_for_user = bb.Route( ) templates_list_for_team = bb.Route( 'templates/list_for_team', + 1, False, bv.Void(), ListTemplateResult_validator, @@ -2915,6 +3363,7 @@ templates_list_for_team = bb.Route( ) templates_list_for_user = bb.Route( 'templates/list_for_user', + 1, False, bv.Void(), ListTemplateResult_validator, @@ -2922,8 +3371,29 @@ templates_list_for_user = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +templates_remove_for_team = bb.Route( + 'templates/remove_for_team', + 1, + False, + RemoveTemplateArg_validator, + bv.Void(), + TemplateError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +templates_remove_for_user = bb.Route( + 'templates/remove_for_user', + 1, + False, + RemoveTemplateArg_validator, + bv.Void(), + TemplateError_validator, + {'host': u'api', + 'style': u'rpc'}, +) templates_update_for_team = bb.Route( 'templates/update_for_team', + 1, False, UpdateTemplateArg_validator, UpdateTemplateResult_validator, @@ -2933,6 +3403,7 @@ templates_update_for_team = bb.Route( ) templates_update_for_user = bb.Route( 'templates/update_for_user', + 1, False, UpdateTemplateArg_validator, UpdateTemplateResult_validator, @@ -2946,6 +3417,7 @@ ROUTES = { 'properties/overwrite': properties_overwrite, 'properties/remove': properties_remove, 'properties/search': properties_search, + 'properties/search/continue': properties_search_continue, 'properties/update': properties_update, 'templates/add_for_team': templates_add_for_team, 'templates/add_for_user': templates_add_for_user, @@ -2953,6 +3425,8 @@ ROUTES = { 'templates/get_for_user': templates_get_for_user, 'templates/list_for_team': templates_list_for_team, 'templates/list_for_user': templates_list_for_user, + 'templates/remove_for_team': templates_remove_for_team, + 'templates/remove_for_user': templates_remove_for_user, 'templates/update_for_team': templates_update_for_team, 'templates/update_for_user': templates_update_for_user, } diff --git a/resources/lib/dropbox/file_requests.py b/resources/lib/dropbox/file_requests.py index 874db8f..d2ea6f4 100644 --- a/resources/lib/dropbox/file_requests.py +++ b/resources/lib/dropbox/file_requests.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file """ @@ -9,7 +10,7 @@ This namespace contains endpoints and data types for file request operations. try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -20,23 +21,139 @@ try: common, files, ) -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): import common import files -class CreateFileRequestArgs(object): +class GeneralFileRequestsError(bb.Union): + """ + There is an error accessing the file requests functionality. + + 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 file_requests.GeneralFileRequestsError.disabled_for_team: This user's + Dropbox Business team doesn't allow file requests. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + disabled_for_team = None + # Attribute is overwritten below the class definition + other = None + + def is_disabled_for_team(self): + """ + Check if the union tag is ``disabled_for_team``. + + :rtype: bool + """ + return self._tag == 'disabled_for_team' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GeneralFileRequestsError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GeneralFileRequestsError(%r, %r)' % (self._tag, self._value) + +GeneralFileRequestsError_validator = bv.Union(GeneralFileRequestsError) + +class CountFileRequestsError(GeneralFileRequestsError): + """ + There was an error counting the file requests. + + 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. + """ + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CountFileRequestsError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CountFileRequestsError(%r, %r)' % (self._tag, self._value) + +CountFileRequestsError_validator = bv.Union(CountFileRequestsError) + +class CountFileRequestsResult(bb.Struct): + """ + Result for :meth:`dropbox.dropbox.Dropbox.file_requests_count`. + + :ivar file_requests.CountFileRequestsResult.file_request_count: The number + file requests owner by this user. + """ + + __slots__ = [ + '_file_request_count_value', + '_file_request_count_present', + ] + + _has_required_fields = True + + def __init__(self, + file_request_count=None): + self._file_request_count_value = None + self._file_request_count_present = False + if file_request_count is not None: + self.file_request_count = file_request_count + + @property + def file_request_count(self): + """ + The number file requests owner by this user. + + :rtype: int + """ + if self._file_request_count_present: + return self._file_request_count_value + else: + raise AttributeError("missing required field 'file_request_count'") + + @file_request_count.setter + def file_request_count(self, val): + val = self._file_request_count_validator.validate(val) + self._file_request_count_value = val + self._file_request_count_present = True + + @file_request_count.deleter + def file_request_count(self): + self._file_request_count_value = None + self._file_request_count_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CountFileRequestsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CountFileRequestsResult(file_request_count={!r})'.format( + self._file_request_count_value, + ) + +CountFileRequestsResult_validator = bv.Struct(CountFileRequestsResult) + +class CreateFileRequestArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.file_requests_create`. - :ivar title: The title of the file request. Must not be empty. - :ivar destination: The path of the folder in the Dropbox where uploaded - files will be sent. For apps with the app folder permission, this will - be relative to the app folder. - :ivar deadline: The deadline for the file request. Deadlines can only be set - by Pro and Business accounts. - :ivar open: Whether or not the file request should be open. If the file - request is closed, it will not accept any file submissions, but it can - be opened later. + :ivar file_requests.CreateFileRequestArgs.title: The title of the file + request. Must not be empty. + :ivar file_requests.CreateFileRequestArgs.destination: The path of the + folder in the Dropbox where uploaded files will be sent. For apps with + the app folder permission, this will be relative to the app folder. + :ivar file_requests.CreateFileRequestArgs.deadline: The deadline for the + file request. Deadlines can only be set by Professional and Business + accounts. + :ivar file_requests.CreateFileRequestArgs.open: Whether or not the file + request should be open. If the file request is closed, it will not + accept any file submissions, but it can be opened later. """ __slots__ = [ @@ -125,8 +242,8 @@ class CreateFileRequestArgs(object): @property def deadline(self): """ - The deadline for the file request. Deadlines can only be set by Pro and - Business accounts. + The deadline for the file request. Deadlines can only be set by + Professional and Business accounts. :rtype: FileRequestDeadline """ @@ -174,6 +291,9 @@ class CreateFileRequestArgs(object): self._open_value = None self._open_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFileRequestArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateFileRequestArgs(title={!r}, destination={!r}, deadline={!r}, open={!r})'.format( self._title_value, @@ -184,45 +304,6 @@ class CreateFileRequestArgs(object): CreateFileRequestArgs_validator = bv.Struct(CreateFileRequestArgs) -class GeneralFileRequestsError(bb.Union): - """ - There is an error accessing the file requests functionality. - - 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 disabled_for_team: This user's Dropbox Business team doesn't allow - file requests. - """ - - _catch_all = 'other' - # Attribute is overwritten below the class definition - disabled_for_team = None - # Attribute is overwritten below the class definition - other = None - - def is_disabled_for_team(self): - """ - Check if the union tag is ``disabled_for_team``. - - :rtype: bool - """ - return self._tag == 'disabled_for_team' - - def is_other(self): - """ - Check if the union tag is ``other``. - - :rtype: bool - """ - return self._tag == 'other' - - def __repr__(self): - return 'GeneralFileRequestsError(%r, %r)' % (self._tag, self._value) - -GeneralFileRequestsError_validator = bv.Union(GeneralFileRequestsError) - class FileRequestError(GeneralFileRequestsError): """ There is an error with the file request. @@ -231,20 +312,22 @@ class FileRequestError(GeneralFileRequestsError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar not_found: This file request ID was not found. - :ivar not_a_folder: The specified path is not a folder. - :ivar app_lacks_access: This file request is not accessible to this app. - Apps with the app folder permission can only access file requests in - their app folder. - :ivar no_permission: This user doesn't have permission to access or modify - this file request. - :ivar email_unverified: This user's email address is not verified. File - requests are only available on accounts with a verified email address. - Users can verify their email address `here - `_. - :ivar validation_error: There was an error validating the request. For - example, the title was invalid, or there were disallowed characters in - the destination path. + :ivar file_requests.FileRequestError.not_found: This file request ID was not + found. + :ivar file_requests.FileRequestError.not_a_folder: The specified path is not + a folder. + :ivar file_requests.FileRequestError.app_lacks_access: This file request is + not accessible to this app. Apps with the app folder permission can only + access file requests in their app folder. + :ivar file_requests.FileRequestError.no_permission: This user doesn't have + permission to access or modify this file request. + :ivar file_requests.FileRequestError.email_unverified: This user's email + address is not verified. File requests are only available on accounts + with a verified email address. Users can verify their email address + `here `_. + :ivar file_requests.FileRequestError.validation_error: There was an error + validating the request. For example, the title was invalid, or there + were disallowed characters in the destination path. """ # Attribute is overwritten below the class definition @@ -308,6 +391,9 @@ class FileRequestError(GeneralFileRequestsError): """ return self._tag == 'validation_error' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRequestError(%r, %r)' % (self._tag, self._value) @@ -321,10 +407,11 @@ class CreateFileRequestError(FileRequestError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_location: File requests are not available on the specified - folder. - :ivar rate_limit: The user has reached the rate limit for creating file - requests. The limit is currently 100 file requests per day. + :ivar file_requests.CreateFileRequestError.invalid_location: File requests + are not available on the specified folder. + :ivar file_requests.CreateFileRequestError.rate_limit: The user has reached + the rate limit for creating file requests. The limit is currently 100 + file requests per day. """ # Attribute is overwritten below the class definition @@ -348,29 +435,247 @@ class CreateFileRequestError(FileRequestError): """ return self._tag == 'rate_limit' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFileRequestError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateFileRequestError(%r, %r)' % (self._tag, self._value) CreateFileRequestError_validator = bv.Union(CreateFileRequestError) -class FileRequest(object): +class DeleteAllClosedFileRequestsError(FileRequestError): + """ + There was an error deleting all closed file requests. + + 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. + """ + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteAllClosedFileRequestsError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeleteAllClosedFileRequestsError(%r, %r)' % (self._tag, self._value) + +DeleteAllClosedFileRequestsError_validator = bv.Union(DeleteAllClosedFileRequestsError) + +class DeleteAllClosedFileRequestsResult(bb.Struct): + """ + Result for :meth:`dropbox.dropbox.Dropbox.file_requests_delete_all_closed`. + + :ivar file_requests.DeleteAllClosedFileRequestsResult.file_requests: The + file requests deleted for this user. + """ + + __slots__ = [ + '_file_requests_value', + '_file_requests_present', + ] + + _has_required_fields = True + + def __init__(self, + file_requests=None): + self._file_requests_value = None + self._file_requests_present = False + if file_requests is not None: + self.file_requests = file_requests + + @property + def file_requests(self): + """ + The file requests deleted for this user. + + :rtype: list of [FileRequest] + """ + if self._file_requests_present: + return self._file_requests_value + else: + raise AttributeError("missing required field 'file_requests'") + + @file_requests.setter + def file_requests(self, val): + val = self._file_requests_validator.validate(val) + self._file_requests_value = val + self._file_requests_present = True + + @file_requests.deleter + def file_requests(self): + self._file_requests_value = None + self._file_requests_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteAllClosedFileRequestsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeleteAllClosedFileRequestsResult(file_requests={!r})'.format( + self._file_requests_value, + ) + +DeleteAllClosedFileRequestsResult_validator = bv.Struct(DeleteAllClosedFileRequestsResult) + +class DeleteFileRequestArgs(bb.Struct): + """ + Arguments for :meth:`dropbox.dropbox.Dropbox.file_requests_delete`. + + :ivar file_requests.DeleteFileRequestArgs.ids: List IDs of the file requests + to delete. + """ + + __slots__ = [ + '_ids_value', + '_ids_present', + ] + + _has_required_fields = True + + def __init__(self, + ids=None): + self._ids_value = None + self._ids_present = False + if ids is not None: + self.ids = ids + + @property + def ids(self): + """ + List IDs of the file requests to delete. + + :rtype: list of [str] + """ + if self._ids_present: + return self._ids_value + else: + raise AttributeError("missing required field 'ids'") + + @ids.setter + def ids(self, val): + val = self._ids_validator.validate(val) + self._ids_value = val + self._ids_present = True + + @ids.deleter + def ids(self): + self._ids_value = None + self._ids_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteFileRequestArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeleteFileRequestArgs(ids={!r})'.format( + self._ids_value, + ) + +DeleteFileRequestArgs_validator = bv.Struct(DeleteFileRequestArgs) + +class DeleteFileRequestError(FileRequestError): + """ + There was an error deleting these file requests. + + 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 file_requests.DeleteFileRequestError.file_request_open: One or more + file requests currently open. + """ + + # Attribute is overwritten below the class definition + file_request_open = None + + def is_file_request_open(self): + """ + Check if the union tag is ``file_request_open``. + + :rtype: bool + """ + return self._tag == 'file_request_open' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteFileRequestError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeleteFileRequestError(%r, %r)' % (self._tag, self._value) + +DeleteFileRequestError_validator = bv.Union(DeleteFileRequestError) + +class DeleteFileRequestsResult(bb.Struct): + """ + Result for :meth:`dropbox.dropbox.Dropbox.file_requests_delete`. + + :ivar file_requests.DeleteFileRequestsResult.file_requests: The file + requests deleted by the request. + """ + + __slots__ = [ + '_file_requests_value', + '_file_requests_present', + ] + + _has_required_fields = True + + def __init__(self, + file_requests=None): + self._file_requests_value = None + self._file_requests_present = False + if file_requests is not None: + self.file_requests = file_requests + + @property + def file_requests(self): + """ + The file requests deleted by the request. + + :rtype: list of [FileRequest] + """ + if self._file_requests_present: + return self._file_requests_value + else: + raise AttributeError("missing required field 'file_requests'") + + @file_requests.setter + def file_requests(self, val): + val = self._file_requests_validator.validate(val) + self._file_requests_value = val + self._file_requests_present = True + + @file_requests.deleter + def file_requests(self): + self._file_requests_value = None + self._file_requests_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteFileRequestsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeleteFileRequestsResult(file_requests={!r})'.format( + self._file_requests_value, + ) + +DeleteFileRequestsResult_validator = bv.Struct(DeleteFileRequestsResult) + +class FileRequest(bb.Struct): """ A `file request `_ for receiving files into the user's Dropbox account. - :ivar id: The ID of the file request. - :ivar url: The URL of the file request. - :ivar title: The title of the file request. - :ivar destination: The path of the folder in the Dropbox where uploaded - files will be sent. This can be None if the destination was removed. For - apps with the app folder permission, this will be relative to the app - folder. - :ivar created: When this file request was created. - :ivar deadline: The deadline for this file request. Only set if the request - has a deadline. - :ivar is_open: Whether or not the file request is open. If the file request - is closed, it will not accept any more file submissions. - :ivar file_count: The number of files this file request has received. + :ivar file_requests.FileRequest.id: The ID of the file request. + :ivar file_requests.FileRequest.url: The URL of the file request. + :ivar file_requests.FileRequest.title: The title of the file request. + :ivar file_requests.FileRequest.destination: The path of the folder in the + Dropbox where uploaded files will be sent. This can be None if the + destination was removed. For apps with the app folder permission, this + will be relative to the app folder. + :ivar file_requests.FileRequest.created: When this file request was created. + :ivar file_requests.FileRequest.deadline: The deadline for this file + request. Only set if the request has a deadline. + :ivar file_requests.FileRequest.is_open: Whether or not the file request is + open. If the file request is closed, it will not accept any more file + submissions. + :ivar file_requests.FileRequest.file_count: The number of files this file + request has received. """ __slots__ = [ @@ -612,7 +917,7 @@ class FileRequest(object): """ The number of files this file request has received. - :rtype: long + :rtype: int """ if self._file_count_present: return self._file_count_value @@ -630,6 +935,9 @@ class FileRequest(object): self._file_count_value = None self._file_count_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequest, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRequest(id={!r}, url={!r}, title={!r}, created={!r}, is_open={!r}, file_count={!r}, destination={!r}, deadline={!r})'.format( self._id_value, @@ -644,11 +952,13 @@ class FileRequest(object): FileRequest_validator = bv.Struct(FileRequest) -class FileRequestDeadline(object): +class FileRequestDeadline(bb.Struct): """ - :ivar deadline: The deadline for this file request. - :ivar allow_late_uploads: If set, allow uploads after the deadline has - passed. These uploads will be marked overdue. + :ivar file_requests.FileRequestDeadline.deadline: The deadline for this file + request. + :ivar file_requests.FileRequestDeadline.allow_late_uploads: If set, allow + uploads after the deadline has passed. These uploads will be marked + overdue. """ __slots__ = [ @@ -698,8 +1008,8 @@ class FileRequestDeadline(object): @property def allow_late_uploads(self): """ - If set, allow uploads after the deadline has passed. These uploads will - be marked overdue. + If set, allow uploads after the deadline has passed. These uploads + will be marked overdue. :rtype: GracePeriod """ @@ -722,6 +1032,9 @@ class FileRequestDeadline(object): self._allow_late_uploads_value = None self._allow_late_uploads_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestDeadline, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRequestDeadline(deadline={!r}, allow_late_uploads={!r})'.format( self._deadline_value, @@ -730,11 +1043,12 @@ class FileRequestDeadline(object): FileRequestDeadline_validator = bv.Struct(FileRequestDeadline) -class GetFileRequestArgs(object): +class GetFileRequestArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.file_requests_get`. - :ivar id: The ID of the file request to retrieve. + :ivar file_requests.GetFileRequestArgs.id: The ID of the file request to + retrieve. """ __slots__ = [ @@ -774,6 +1088,9 @@ class GetFileRequestArgs(object): self._id_value = None self._id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetFileRequestArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetFileRequestArgs(id={!r})'.format( self._id_value, @@ -790,6 +1107,9 @@ class GetFileRequestError(FileRequestError): corresponding ``get_*`` method. """ + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetFileRequestError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetFileRequestError(%r, %r)' % (self._tag, self._value) @@ -864,11 +1184,154 @@ class GracePeriod(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GracePeriod, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GracePeriod(%r, %r)' % (self._tag, self._value) GracePeriod_validator = bv.Union(GracePeriod) +class ListFileRequestsArg(bb.Struct): + """ + Arguments for :meth:`dropbox.dropbox.Dropbox.file_requests_list`. + + :ivar file_requests.ListFileRequestsArg.limit: The maximum number of file + requests that should be returned per request. + """ + + __slots__ = [ + '_limit_value', + '_limit_present', + ] + + _has_required_fields = False + + def __init__(self, + limit=None): + self._limit_value = None + self._limit_present = False + if limit is not None: + self.limit = limit + + @property + def limit(self): + """ + The maximum number of file requests that should be returned per request. + + :rtype: int + """ + 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 + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileRequestsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ListFileRequestsArg(limit={!r})'.format( + self._limit_value, + ) + +ListFileRequestsArg_validator = bv.Struct(ListFileRequestsArg) + +class ListFileRequestsContinueArg(bb.Struct): + """ + :ivar file_requests.ListFileRequestsContinueArg.cursor: The cursor returned + by the previous API call specified in the endpoint description. + """ + + __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): + """ + The cursor returned by the previous API call specified in the endpoint + description. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileRequestsContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ListFileRequestsContinueArg(cursor={!r})'.format( + self._cursor_value, + ) + +ListFileRequestsContinueArg_validator = bv.Struct(ListFileRequestsContinueArg) + +class ListFileRequestsContinueError(GeneralFileRequestsError): + """ + There was an error retrieving the file requests. + + 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 file_requests.ListFileRequestsContinueError.invalid_cursor: The cursor + is invalid. + """ + + # Attribute is overwritten below the class definition + invalid_cursor = None + + def is_invalid_cursor(self): + """ + Check if the union tag is ``invalid_cursor``. + + :rtype: bool + """ + return self._tag == 'invalid_cursor' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileRequestsContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ListFileRequestsContinueError(%r, %r)' % (self._tag, self._value) + +ListFileRequestsContinueError_validator = bv.Union(ListFileRequestsContinueError) + class ListFileRequestsError(GeneralFileRequestsError): """ There was an error retrieving the file requests. @@ -878,17 +1341,21 @@ class ListFileRequestsError(GeneralFileRequestsError): corresponding ``get_*`` method. """ + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileRequestsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileRequestsError(%r, %r)' % (self._tag, self._value) ListFileRequestsError_validator = bv.Union(ListFileRequestsError) -class ListFileRequestsResult(object): +class ListFileRequestsResult(bb.Struct): """ Result for :meth:`dropbox.dropbox.Dropbox.file_requests_list`. - :ivar file_requests: The file requests owned by this user. Apps with the app - folder permission will only see file requests in their app folder. + :ivar file_requests.ListFileRequestsResult.file_requests: The file requests + owned by this user. Apps with the app folder permission will only see + file requests in their app folder. """ __slots__ = [ @@ -929,6 +1396,9 @@ class ListFileRequestsResult(object): self._file_requests_value = None self._file_requests_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileRequestsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileRequestsResult(file_requests={!r})'.format( self._file_requests_value, @@ -936,17 +1406,152 @@ class ListFileRequestsResult(object): ListFileRequestsResult_validator = bv.Struct(ListFileRequestsResult) -class UpdateFileRequestArgs(object): +class ListFileRequestsV2Result(bb.Struct): + """ + Result for :meth:`dropbox.dropbox.Dropbox.file_requests_list` and + :meth:`dropbox.dropbox.Dropbox.file_requests_list_continue`. + + :ivar file_requests.ListFileRequestsV2Result.file_requests: The file + requests owned by this user. Apps with the app folder permission will + only see file requests in their app folder. + :ivar file_requests.ListFileRequestsV2Result.cursor: Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.file_requests_list_continue` to obtain + additional file requests. + :ivar file_requests.ListFileRequestsV2Result.has_more: Is true if there are + additional file requests that have not been returned yet. An additional + call to :route:list/continue` can retrieve them. + """ + + __slots__ = [ + '_file_requests_value', + '_file_requests_present', + '_cursor_value', + '_cursor_present', + '_has_more_value', + '_has_more_present', + ] + + _has_required_fields = True + + def __init__(self, + file_requests=None, + cursor=None, + has_more=None): + self._file_requests_value = None + self._file_requests_present = False + self._cursor_value = None + self._cursor_present = False + self._has_more_value = None + self._has_more_present = False + if file_requests is not None: + self.file_requests = file_requests + if cursor is not None: + self.cursor = cursor + if has_more is not None: + self.has_more = has_more + + @property + def file_requests(self): + """ + The file requests owned by this user. Apps with the app folder + permission will only see file requests in their app folder. + + :rtype: list of [FileRequest] + """ + if self._file_requests_present: + return self._file_requests_value + else: + raise AttributeError("missing required field 'file_requests'") + + @file_requests.setter + def file_requests(self, val): + val = self._file_requests_validator.validate(val) + self._file_requests_value = val + self._file_requests_present = True + + @file_requests.deleter + def file_requests(self): + self._file_requests_value = None + self._file_requests_present = False + + @property + def cursor(self): + """ + Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.file_requests_list_continue` to obtain + additional file requests. + + :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 file requests that have not been + returned yet. An additional call to :route: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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileRequestsV2Result, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ListFileRequestsV2Result(file_requests={!r}, cursor={!r}, has_more={!r})'.format( + self._file_requests_value, + self._cursor_value, + self._has_more_value, + ) + +ListFileRequestsV2Result_validator = bv.Struct(ListFileRequestsV2Result) + +class UpdateFileRequestArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.file_requests_update`. - :ivar id: The ID of the file request to update. - :ivar title: The new title of the file request. Must not be empty. - :ivar destination: The new path of the folder in the Dropbox where uploaded - files will be sent. For apps with the app folder permission, this will - be relative to the app folder. - :ivar deadline: The new deadline for the file request. - :ivar open: Whether to set this file request as open or closed. + :ivar file_requests.UpdateFileRequestArgs.id: The ID of the file request to + update. + :ivar file_requests.UpdateFileRequestArgs.title: The new title of the file + request. Must not be empty. + :ivar file_requests.UpdateFileRequestArgs.destination: The new path of the + folder in the Dropbox where uploaded files will be sent. For apps with + the app folder permission, this will be relative to the app folder. + :ivar file_requests.UpdateFileRequestArgs.deadline: The new deadline for the + file request. Deadlines can only be set by Professional and Business + accounts. + :ivar file_requests.UpdateFileRequestArgs.open: Whether to set this file + request as open or closed. """ __slots__ = [ @@ -1071,7 +1676,8 @@ class UpdateFileRequestArgs(object): @property def deadline(self): """ - The new deadline for the file request. + The new deadline for the file request. Deadlines can only be set by + Professional and Business accounts. :rtype: UpdateFileRequestDeadline """ @@ -1117,6 +1723,9 @@ class UpdateFileRequestArgs(object): self._open_value = None self._open_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFileRequestArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateFileRequestArgs(id={!r}, title={!r}, destination={!r}, deadline={!r}, open={!r})'.format( self._id_value, @@ -1134,8 +1743,10 @@ class UpdateFileRequestDeadline(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar no_update: Do not change the file request's deadline. - :ivar Optional[FileRequestDeadline] update: If :val:`null`, the file + :ivar file_requests.UpdateFileRequestDeadline.no_update: Do not change the + file request's deadline. + :ivar Optional[FileRequestDeadline] + file_requests.UpdateFileRequestDeadline.update: If :val:`null`, the file request's deadline is cleared. """ @@ -1192,6 +1803,9 @@ class UpdateFileRequestDeadline(bb.Union): raise AttributeError("tag 'update' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFileRequestDeadline, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateFileRequestDeadline(%r, %r)' % (self._tag, self._value) @@ -1206,6 +1820,9 @@ class UpdateFileRequestError(FileRequestError): corresponding ``get_*`` method. """ + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFileRequestError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateFileRequestError(%r, %r)' % (self._tag, self._value) @@ -1213,6 +1830,24 @@ UpdateFileRequestError_validator = bv.Union(UpdateFileRequestError) FileRequestId_validator = bv.String(min_length=1, pattern=u'[-_0-9a-zA-Z]+') FileRequestValidationError_validator = bv.Nullable(bv.String()) +GeneralFileRequestsError._disabled_for_team_validator = bv.Void() +GeneralFileRequestsError._other_validator = bv.Void() +GeneralFileRequestsError._tagmap = { + 'disabled_for_team': GeneralFileRequestsError._disabled_for_team_validator, + 'other': GeneralFileRequestsError._other_validator, +} + +GeneralFileRequestsError.disabled_for_team = GeneralFileRequestsError('disabled_for_team') +GeneralFileRequestsError.other = GeneralFileRequestsError('other') + +CountFileRequestsError._tagmap = { +} +CountFileRequestsError._tagmap.update(GeneralFileRequestsError._tagmap) + +CountFileRequestsResult._file_request_count_validator = bv.UInt64() +CountFileRequestsResult._all_field_names_ = set(['file_request_count']) +CountFileRequestsResult._all_fields_ = [('file_request_count', CountFileRequestsResult._file_request_count_validator)] + CreateFileRequestArgs._title_validator = bv.String(min_length=1) CreateFileRequestArgs._destination_validator = files.Path_validator CreateFileRequestArgs._deadline_validator = bv.Nullable(FileRequestDeadline_validator) @@ -1230,16 +1865,6 @@ CreateFileRequestArgs._all_fields_ = [ ('open', CreateFileRequestArgs._open_validator), ] -GeneralFileRequestsError._disabled_for_team_validator = bv.Void() -GeneralFileRequestsError._other_validator = bv.Void() -GeneralFileRequestsError._tagmap = { - 'disabled_for_team': GeneralFileRequestsError._disabled_for_team_validator, - 'other': GeneralFileRequestsError._other_validator, -} - -GeneralFileRequestsError.disabled_for_team = GeneralFileRequestsError('disabled_for_team') -GeneralFileRequestsError.other = GeneralFileRequestsError('other') - FileRequestError._not_found_validator = bv.Void() FileRequestError._not_a_folder_validator = bv.Void() FileRequestError._app_lacks_access_validator = bv.Void() @@ -1274,6 +1899,30 @@ CreateFileRequestError._tagmap.update(FileRequestError._tagmap) CreateFileRequestError.invalid_location = CreateFileRequestError('invalid_location') CreateFileRequestError.rate_limit = CreateFileRequestError('rate_limit') +DeleteAllClosedFileRequestsError._tagmap = { +} +DeleteAllClosedFileRequestsError._tagmap.update(FileRequestError._tagmap) + +DeleteAllClosedFileRequestsResult._file_requests_validator = bv.List(FileRequest_validator) +DeleteAllClosedFileRequestsResult._all_field_names_ = set(['file_requests']) +DeleteAllClosedFileRequestsResult._all_fields_ = [('file_requests', DeleteAllClosedFileRequestsResult._file_requests_validator)] + +DeleteFileRequestArgs._ids_validator = bv.List(FileRequestId_validator) +DeleteFileRequestArgs._all_field_names_ = set(['ids']) +DeleteFileRequestArgs._all_fields_ = [('ids', DeleteFileRequestArgs._ids_validator)] + +DeleteFileRequestError._file_request_open_validator = bv.Void() +DeleteFileRequestError._tagmap = { + 'file_request_open': DeleteFileRequestError._file_request_open_validator, +} +DeleteFileRequestError._tagmap.update(FileRequestError._tagmap) + +DeleteFileRequestError.file_request_open = DeleteFileRequestError('file_request_open') + +DeleteFileRequestsResult._file_requests_validator = bv.List(FileRequest_validator) +DeleteFileRequestsResult._all_field_names_ = set(['file_requests']) +DeleteFileRequestsResult._all_fields_ = [('file_requests', DeleteFileRequestsResult._file_requests_validator)] + FileRequest._id_validator = FileRequestId_validator FileRequest._url_validator = bv.String(min_length=1) FileRequest._title_validator = bv.String(min_length=1) @@ -1344,6 +1993,22 @@ GracePeriod.thirty_days = GracePeriod('thirty_days') GracePeriod.always = GracePeriod('always') GracePeriod.other = GracePeriod('other') +ListFileRequestsArg._limit_validator = bv.UInt64() +ListFileRequestsArg._all_field_names_ = set(['limit']) +ListFileRequestsArg._all_fields_ = [('limit', ListFileRequestsArg._limit_validator)] + +ListFileRequestsContinueArg._cursor_validator = bv.String() +ListFileRequestsContinueArg._all_field_names_ = set(['cursor']) +ListFileRequestsContinueArg._all_fields_ = [('cursor', ListFileRequestsContinueArg._cursor_validator)] + +ListFileRequestsContinueError._invalid_cursor_validator = bv.Void() +ListFileRequestsContinueError._tagmap = { + 'invalid_cursor': ListFileRequestsContinueError._invalid_cursor_validator, +} +ListFileRequestsContinueError._tagmap.update(GeneralFileRequestsError._tagmap) + +ListFileRequestsContinueError.invalid_cursor = ListFileRequestsContinueError('invalid_cursor') + ListFileRequestsError._tagmap = { } ListFileRequestsError._tagmap.update(GeneralFileRequestsError._tagmap) @@ -1352,6 +2017,20 @@ ListFileRequestsResult._file_requests_validator = bv.List(FileRequest_validator) ListFileRequestsResult._all_field_names_ = set(['file_requests']) ListFileRequestsResult._all_fields_ = [('file_requests', ListFileRequestsResult._file_requests_validator)] +ListFileRequestsV2Result._file_requests_validator = bv.List(FileRequest_validator) +ListFileRequestsV2Result._cursor_validator = bv.String() +ListFileRequestsV2Result._has_more_validator = bv.Boolean() +ListFileRequestsV2Result._all_field_names_ = set([ + 'file_requests', + 'cursor', + 'has_more', +]) +ListFileRequestsV2Result._all_fields_ = [ + ('file_requests', ListFileRequestsV2Result._file_requests_validator), + ('cursor', ListFileRequestsV2Result._cursor_validator), + ('has_more', ListFileRequestsV2Result._has_more_validator), +] + UpdateFileRequestArgs._id_validator = FileRequestId_validator UpdateFileRequestArgs._title_validator = bv.Nullable(bv.String(min_length=1)) UpdateFileRequestArgs._destination_validator = bv.Nullable(files.Path_validator) @@ -1388,8 +2067,19 @@ UpdateFileRequestError._tagmap = { } UpdateFileRequestError._tagmap.update(FileRequestError._tagmap) +count = bb.Route( + 'count', + 1, + False, + bv.Void(), + CountFileRequestsResult_validator, + CountFileRequestsError_validator, + {'host': u'api', + 'style': u'rpc'}, +) create = bb.Route( 'create', + 1, False, CreateFileRequestArgs_validator, FileRequest_validator, @@ -1397,8 +2087,29 @@ create = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +delete = bb.Route( + 'delete', + 1, + False, + DeleteFileRequestArgs_validator, + DeleteFileRequestsResult_validator, + DeleteFileRequestError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +delete_all_closed = bb.Route( + 'delete_all_closed', + 1, + False, + bv.Void(), + DeleteAllClosedFileRequestsResult_validator, + DeleteAllClosedFileRequestsError_validator, + {'host': u'api', + 'style': u'rpc'}, +) get = bb.Route( 'get', + 1, False, GetFileRequestArgs_validator, FileRequest_validator, @@ -1406,8 +2117,19 @@ get = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +list_v2 = bb.Route( + 'list', + 2, + False, + ListFileRequestsArg_validator, + ListFileRequestsV2Result_validator, + ListFileRequestsError_validator, + {'host': u'api', + 'style': u'rpc'}, +) list = bb.Route( 'list', + 1, False, bv.Void(), ListFileRequestsResult_validator, @@ -1415,8 +2137,19 @@ list = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +list_continue = bb.Route( + 'list/continue', + 1, + False, + ListFileRequestsContinueArg_validator, + ListFileRequestsV2Result_validator, + ListFileRequestsContinueError_validator, + {'host': u'api', + 'style': u'rpc'}, +) update = bb.Route( 'update', + 1, False, UpdateFileRequestArgs_validator, FileRequest_validator, @@ -1426,9 +2159,14 @@ update = bb.Route( ) ROUTES = { + 'count': count, 'create': create, + 'delete': delete, + 'delete_all_closed': delete_all_closed, 'get': get, + 'list:2': list_v2, 'list': list, + 'list/continue': list_continue, 'update': update, } diff --git a/resources/lib/dropbox/files.py b/resources/lib/dropbox/files.py index 32c27bb..91b4362 100644 --- a/resources/lib/dropbox/files.py +++ b/resources/lib/dropbox/files.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file """ @@ -9,7 +10,7 @@ This namespace contains endpoints and data types for basic file operations. try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -17,28 +18,31 @@ except (SystemError, ValueError): try: from . import ( - async, + async_, common, file_properties, users_common, ) -except (SystemError, ValueError): - import async +except (ImportError, SystemError, ValueError): + import async_ import common import file_properties import users_common -class GetMetadataArg(object): +class GetMetadataArg(bb.Struct): """ - :ivar path: The path of a file or folder on Dropbox. - :ivar include_media_info: If true, ``FileMetadata.media_info`` is set for - photo and video. - :ivar include_deleted: If true, :class:`DeletedMetadata` will be returned - for deleted file or folder, otherwise ``LookupError.not_found`` will be - returned. - :ivar include_has_explicit_shared_members: If true, the results will include - a flag for each file indicating whether or not that file has any - explicit members. + :ivar files.GetMetadataArg.path: The path of a file or folder on Dropbox. + :ivar files.GetMetadataArg.include_media_info: If true, + ``FileMetadata.media_info`` is set for photo and video. + :ivar files.GetMetadataArg.include_deleted: If true, + :class:`DeletedMetadata` will be returned for deleted file or folder, + otherwise ``LookupError.not_found`` will be returned. + :ivar files.GetMetadataArg.include_has_explicit_shared_members: If true, the + results will include a flag for each file indicating whether or not + that file has any explicit members. + :ivar files.GetMetadataArg.include_property_groups: If set to a valid list + of template IDs, ``FileMetadata.property_groups`` is set if there exists + property data associated with the file and each of the listed templates. """ __slots__ = [ @@ -50,6 +54,8 @@ class GetMetadataArg(object): '_include_deleted_present', '_include_has_explicit_shared_members_value', '_include_has_explicit_shared_members_present', + '_include_property_groups_value', + '_include_property_groups_present', ] _has_required_fields = True @@ -58,7 +64,8 @@ class GetMetadataArg(object): path=None, include_media_info=None, include_deleted=None, - include_has_explicit_shared_members=None): + include_has_explicit_shared_members=None, + include_property_groups=None): self._path_value = None self._path_present = False self._include_media_info_value = None @@ -67,6 +74,8 @@ class GetMetadataArg(object): self._include_deleted_present = False self._include_has_explicit_shared_members_value = None self._include_has_explicit_shared_members_present = False + self._include_property_groups_value = None + self._include_property_groups_present = False if path is not None: self.path = path if include_media_info is not None: @@ -75,6 +84,8 @@ class GetMetadataArg(object): self.include_deleted = include_deleted if include_has_explicit_shared_members is not None: self.include_has_explicit_shared_members = include_has_explicit_shared_members + if include_property_groups is not None: + self.include_property_groups = include_property_groups @property def path(self): @@ -170,21 +181,53 @@ class GetMetadataArg(object): self._include_has_explicit_shared_members_value = None self._include_has_explicit_shared_members_present = False + @property + def include_property_groups(self): + """ + If set to a valid list of template IDs, ``FileMetadata.property_groups`` + is set if there exists property data associated with the file and each + of the listed templates. + + :rtype: file_properties.TemplateFilterBase + """ + if self._include_property_groups_present: + return self._include_property_groups_value + else: + return None + + @include_property_groups.setter + def include_property_groups(self, val): + if val is None: + del self.include_property_groups + return + self._include_property_groups_validator.validate_type_only(val) + self._include_property_groups_value = val + self._include_property_groups_present = True + + @include_property_groups.deleter + def include_property_groups(self): + self._include_property_groups_value = None + self._include_property_groups_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetMetadataArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'GetMetadataArg(path={!r}, include_media_info={!r}, include_deleted={!r}, include_has_explicit_shared_members={!r})'.format( + return 'GetMetadataArg(path={!r}, include_media_info={!r}, include_deleted={!r}, include_has_explicit_shared_members={!r}, include_property_groups={!r})'.format( self._path_value, self._include_media_info_value, self._include_deleted_value, self._include_has_explicit_shared_members_value, + self._include_property_groups_value, ) GetMetadataArg_validator = bv.Struct(GetMetadataArg) class AlphaGetMetadataArg(GetMetadataArg): """ - :ivar include_property_templates: If set to a valid list of template IDs, - ``FileMetadata.property_groups`` is set for files with custom - properties. + :ivar files.AlphaGetMetadataArg.include_property_templates: If set to a + valid list of template IDs, ``FileMetadata.property_groups`` is set for + files with custom properties. """ __slots__ = [ @@ -199,11 +242,13 @@ class AlphaGetMetadataArg(GetMetadataArg): include_media_info=None, include_deleted=None, include_has_explicit_shared_members=None, + include_property_groups=None, include_property_templates=None): super(AlphaGetMetadataArg, self).__init__(path, include_media_info, include_deleted, - include_has_explicit_shared_members) + include_has_explicit_shared_members, + include_property_groups) self._include_property_templates_value = None self._include_property_templates_present = False if include_property_templates is not None: @@ -236,12 +281,16 @@ class AlphaGetMetadataArg(GetMetadataArg): self._include_property_templates_value = None self._include_property_templates_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AlphaGetMetadataArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'AlphaGetMetadataArg(path={!r}, include_media_info={!r}, include_deleted={!r}, include_has_explicit_shared_members={!r}, include_property_templates={!r})'.format( + return 'AlphaGetMetadataArg(path={!r}, include_media_info={!r}, include_deleted={!r}, include_has_explicit_shared_members={!r}, include_property_groups={!r}, include_property_templates={!r})'.format( self._path_value, self._include_media_info_value, self._include_deleted_value, self._include_has_explicit_shared_members_value, + self._include_property_groups_value, self._include_property_templates_value, ) @@ -285,6 +334,9 @@ class GetMetadataError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetMetadataError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetMetadataError(%r, %r)' % (self._tag, self._value) @@ -303,7 +355,7 @@ class AlphaGetMetadataError(GetMetadataError): Create an instance of this class set to the ``properties_error`` tag with value ``val``. - :param file_properties.LookUpPropertiesError_validator val: + :param file_properties.LookUpPropertiesError val: :rtype: AlphaGetMetadataError """ return cls('properties_error', val) @@ -320,32 +372,43 @@ class AlphaGetMetadataError(GetMetadataError): """ Only call this if :meth:`is_properties_error` is true. - :rtype: file_properties.LookUpPropertiesError_validator + :rtype: file_properties.LookUpPropertiesError """ if not self.is_properties_error(): raise AttributeError("tag 'properties_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AlphaGetMetadataError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AlphaGetMetadataError(%r, %r)' % (self._tag, self._value) AlphaGetMetadataError_validator = bv.Union(AlphaGetMetadataError) -class CommitInfo(object): +class CommitInfo(bb.Struct): """ - :ivar path: Path in the user's Dropbox to save the file. - :ivar mode: Selects what to do if the file already exists. - :ivar autorename: If there's a conflict, as determined by ``mode``, have the - Dropbox server try to autorename the file to avoid conflict. - :ivar client_modified: The value to store as the ``client_modified`` - timestamp. Dropbox automatically records the time at which the file was - written to the Dropbox servers. It can also record an additional - timestamp, provided by Dropbox desktop clients, mobile clients, and API - apps of when the file was actually created or modified. - :ivar mute: Normally, users are made aware of any file modifications in - their Dropbox account via notifications in the client software. If - ``True``, this tells the clients that this modification shouldn't result - in a user notification. + :ivar files.CommitInfo.path: Path in the user's Dropbox to save the file. + :ivar files.CommitInfo.mode: Selects what to do if the file already exists. + :ivar files.CommitInfo.autorename: If there's a conflict, as determined by + ``mode``, have the Dropbox server try to autorename the file to avoid + conflict. + :ivar files.CommitInfo.client_modified: The value to store as the + ``client_modified`` timestamp. Dropbox automatically records the time at + which the file was written to the Dropbox servers. It can also record an + additional timestamp, provided by Dropbox desktop clients, mobile + clients, and API apps of when the file was actually created or modified. + :ivar files.CommitInfo.mute: Normally, users are made aware of any file + modifications in their Dropbox account via notifications in the client + software. If ``True``, this tells the clients that this modification + shouldn't result in a user notification. + :ivar files.CommitInfo.property_groups: List of custom properties to add to + file. + :ivar files.CommitInfo.strict_conflict: Be more strict about how each + :class:`WriteMode` detects conflict. For example, always return a + conflict error when ``mode`` = ``WriteMode.update`` and the given "rev" + doesn't match the existing file's "rev", even if the existing file has + been deleted. """ __slots__ = [ @@ -359,6 +422,10 @@ class CommitInfo(object): '_client_modified_present', '_mute_value', '_mute_present', + '_property_groups_value', + '_property_groups_present', + '_strict_conflict_value', + '_strict_conflict_present', ] _has_required_fields = True @@ -368,7 +435,9 @@ class CommitInfo(object): mode=None, autorename=None, client_modified=None, - mute=None): + mute=None, + property_groups=None, + strict_conflict=None): self._path_value = None self._path_present = False self._mode_value = None @@ -379,6 +448,10 @@ class CommitInfo(object): self._client_modified_present = False self._mute_value = None self._mute_present = False + self._property_groups_value = None + self._property_groups_present = False + self._strict_conflict_value = None + self._strict_conflict_present = False if path is not None: self.path = path if mode is not None: @@ -389,6 +462,10 @@ class CommitInfo(object): self.client_modified = client_modified if mute is not None: self.mute = mute + if property_groups is not None: + self.property_groups = property_groups + if strict_conflict is not None: + self.strict_conflict = strict_conflict @property def path(self): @@ -516,52 +593,12 @@ class CommitInfo(object): self._mute_value = None self._mute_present = False - def __repr__(self): - return 'CommitInfo(path={!r}, mode={!r}, autorename={!r}, client_modified={!r}, mute={!r})'.format( - self._path_value, - self._mode_value, - self._autorename_value, - self._client_modified_value, - self._mute_value, - ) - -CommitInfo_validator = bv.Struct(CommitInfo) - -class CommitInfoWithProperties(CommitInfo): - """ - :ivar property_groups: List of custom properties to add to file. - """ - - __slots__ = [ - '_property_groups_value', - '_property_groups_present', - ] - - _has_required_fields = True - - def __init__(self, - path=None, - mode=None, - autorename=None, - client_modified=None, - mute=None, - property_groups=None): - super(CommitInfoWithProperties, self).__init__(path, - mode, - autorename, - client_modified, - mute) - self._property_groups_value = None - self._property_groups_present = False - if property_groups is not None: - self.property_groups = property_groups - @property def property_groups(self): """ List of custom properties to add to file. - :rtype: list of [file_properties.PropertyGroup_validator] + :rtype: list of [file_properties.PropertyGroup] """ if self._property_groups_present: return self._property_groups_value @@ -582,23 +619,262 @@ class CommitInfoWithProperties(CommitInfo): self._property_groups_value = None self._property_groups_present = False + @property + def strict_conflict(self): + """ + Be more strict about how each :class:`WriteMode` detects conflict. For + example, always return a conflict error when ``mode`` = + ``WriteMode.update`` and the given "rev" doesn't match the existing + file's "rev", even if the existing file has been deleted. + + :rtype: bool + """ + if self._strict_conflict_present: + return self._strict_conflict_value + else: + return False + + @strict_conflict.setter + def strict_conflict(self, val): + val = self._strict_conflict_validator.validate(val) + self._strict_conflict_value = val + self._strict_conflict_present = True + + @strict_conflict.deleter + def strict_conflict(self): + self._strict_conflict_value = None + self._strict_conflict_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CommitInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'CommitInfoWithProperties(path={!r}, mode={!r}, autorename={!r}, client_modified={!r}, mute={!r}, property_groups={!r})'.format( + return 'CommitInfo(path={!r}, mode={!r}, autorename={!r}, client_modified={!r}, mute={!r}, property_groups={!r}, strict_conflict={!r})'.format( self._path_value, self._mode_value, self._autorename_value, self._client_modified_value, self._mute_value, self._property_groups_value, + self._strict_conflict_value, + ) + +CommitInfo_validator = bv.Struct(CommitInfo) + +class CommitInfoWithProperties(CommitInfo): + + __slots__ = [ + ] + + _has_required_fields = True + + def __init__(self, + path=None, + mode=None, + autorename=None, + client_modified=None, + mute=None, + property_groups=None, + strict_conflict=None): + super(CommitInfoWithProperties, self).__init__(path, + mode, + autorename, + client_modified, + mute, + property_groups, + strict_conflict) + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CommitInfoWithProperties, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CommitInfoWithProperties(path={!r}, mode={!r}, autorename={!r}, client_modified={!r}, mute={!r}, property_groups={!r}, strict_conflict={!r})'.format( + self._path_value, + self._mode_value, + self._autorename_value, + self._client_modified_value, + self._mute_value, + self._property_groups_value, + self._strict_conflict_value, ) CommitInfoWithProperties_validator = bv.Struct(CommitInfoWithProperties) -class CreateFolderArg(object): +class ContentSyncSetting(bb.Struct): """ - :ivar path: Path in the user's Dropbox to create. - :ivar autorename: If there's a conflict, have the Dropbox server try to - autorename the folder to avoid the conflict. + :ivar files.ContentSyncSetting.id: Id of the item this setting is applied + to. + :ivar files.ContentSyncSetting.sync_setting: Setting for this item. + """ + + __slots__ = [ + '_id_value', + '_id_present', + '_sync_setting_value', + '_sync_setting_present', + ] + + _has_required_fields = True + + def __init__(self, + id=None, + sync_setting=None): + self._id_value = None + self._id_present = False + self._sync_setting_value = None + self._sync_setting_present = False + if id is not None: + self.id = id + if sync_setting is not None: + self.sync_setting = sync_setting + + @property + def id(self): + """ + Id of the item this setting is applied to. + + :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 sync_setting(self): + """ + Setting for this item. + + :rtype: SyncSetting + """ + if self._sync_setting_present: + return self._sync_setting_value + else: + raise AttributeError("missing required field 'sync_setting'") + + @sync_setting.setter + def sync_setting(self, val): + self._sync_setting_validator.validate_type_only(val) + self._sync_setting_value = val + self._sync_setting_present = True + + @sync_setting.deleter + def sync_setting(self): + self._sync_setting_value = None + self._sync_setting_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ContentSyncSetting, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ContentSyncSetting(id={!r}, sync_setting={!r})'.format( + self._id_value, + self._sync_setting_value, + ) + +ContentSyncSetting_validator = bv.Struct(ContentSyncSetting) + +class ContentSyncSettingArg(bb.Struct): + """ + :ivar files.ContentSyncSettingArg.id: Id of the item this setting is applied + to. + :ivar files.ContentSyncSettingArg.sync_setting: Setting for this item. + """ + + __slots__ = [ + '_id_value', + '_id_present', + '_sync_setting_value', + '_sync_setting_present', + ] + + _has_required_fields = True + + def __init__(self, + id=None, + sync_setting=None): + self._id_value = None + self._id_present = False + self._sync_setting_value = None + self._sync_setting_present = False + if id is not None: + self.id = id + if sync_setting is not None: + self.sync_setting = sync_setting + + @property + def id(self): + """ + Id of the item this setting is applied to. + + :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 sync_setting(self): + """ + Setting for this item. + + :rtype: SyncSettingArg + """ + if self._sync_setting_present: + return self._sync_setting_value + else: + raise AttributeError("missing required field 'sync_setting'") + + @sync_setting.setter + def sync_setting(self, val): + self._sync_setting_validator.validate_type_only(val) + self._sync_setting_value = val + self._sync_setting_present = True + + @sync_setting.deleter + def sync_setting(self): + self._sync_setting_value = None + self._sync_setting_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ContentSyncSettingArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ContentSyncSettingArg(id={!r}, sync_setting={!r})'.format( + self._id_value, + self._sync_setting_value, + ) + +ContentSyncSettingArg_validator = bv.Struct(ContentSyncSettingArg) + +class CreateFolderArg(bb.Struct): + """ + :ivar files.CreateFolderArg.path: Path in the user's Dropbox to create. + :ivar files.CreateFolderArg.autorename: If there's a conflict, have the + Dropbox server try to autorename the folder to avoid the conflict. """ __slots__ = [ @@ -669,6 +945,9 @@ class CreateFolderArg(object): self._autorename_value = None self._autorename_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateFolderArg(path={!r}, autorename={!r})'.format( self._path_value, @@ -677,6 +956,579 @@ class CreateFolderArg(object): CreateFolderArg_validator = bv.Struct(CreateFolderArg) +class CreateFolderBatchArg(bb.Struct): + """ + :ivar files.CreateFolderBatchArg.paths: List of paths to be created in the + user's Dropbox. Duplicate path arguments in the batch are considered + only once. + :ivar files.CreateFolderBatchArg.autorename: If there's a conflict, have the + Dropbox server try to autorename the folder to avoid the conflict. + :ivar files.CreateFolderBatchArg.force_async: Whether to force the create to + happen asynchronously. + """ + + __slots__ = [ + '_paths_value', + '_paths_present', + '_autorename_value', + '_autorename_present', + '_force_async_value', + '_force_async_present', + ] + + _has_required_fields = True + + def __init__(self, + paths=None, + autorename=None, + force_async=None): + self._paths_value = None + self._paths_present = False + self._autorename_value = None + self._autorename_present = False + self._force_async_value = None + self._force_async_present = False + if paths is not None: + self.paths = paths + if autorename is not None: + self.autorename = autorename + if force_async is not None: + self.force_async = force_async + + @property + def paths(self): + """ + List of paths to be created in the user's Dropbox. Duplicate path + arguments in the batch are considered only once. + + :rtype: list of [str] + """ + if self._paths_present: + return self._paths_value + else: + raise AttributeError("missing required field 'paths'") + + @paths.setter + def paths(self, val): + val = self._paths_validator.validate(val) + self._paths_value = val + self._paths_present = True + + @paths.deleter + def paths(self): + self._paths_value = None + self._paths_present = False + + @property + def autorename(self): + """ + If there's a conflict, have the Dropbox server try to autorename the + folder to avoid the conflict. + + :rtype: bool + """ + if self._autorename_present: + return self._autorename_value + else: + return False + + @autorename.setter + def autorename(self, val): + val = self._autorename_validator.validate(val) + self._autorename_value = val + self._autorename_present = True + + @autorename.deleter + def autorename(self): + self._autorename_value = None + self._autorename_present = False + + @property + def force_async(self): + """ + Whether to force the create to happen asynchronously. + + :rtype: bool + """ + if self._force_async_present: + return self._force_async_value + else: + return False + + @force_async.setter + def force_async(self, val): + val = self._force_async_validator.validate(val) + self._force_async_value = val + self._force_async_present = True + + @force_async.deleter + def force_async(self): + self._force_async_value = None + self._force_async_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderBatchArg(paths={!r}, autorename={!r}, force_async={!r})'.format( + self._paths_value, + self._autorename_value, + self._force_async_value, + ) + +CreateFolderBatchArg_validator = bv.Struct(CreateFolderBatchArg) + +class CreateFolderBatchError(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 files.CreateFolderBatchError.too_many_files: The operation would + involve too many files or folders. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + too_many_files = None + # Attribute is overwritten below the class definition + other = None + + def is_too_many_files(self): + """ + Check if the union tag is ``too_many_files``. + + :rtype: bool + """ + return self._tag == 'too_many_files' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderBatchError(%r, %r)' % (self._tag, self._value) + +CreateFolderBatchError_validator = bv.Union(CreateFolderBatchError) + +class CreateFolderBatchJobStatus(async_.PollResultBase): + """ + 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 CreateFolderBatchResult CreateFolderBatchJobStatus.complete: The batch + create folder has finished. + :ivar CreateFolderBatchError CreateFolderBatchJobStatus.failed: The batch + create folder has failed. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def complete(cls, val): + """ + Create an instance of this class set to the ``complete`` tag with value + ``val``. + + :param CreateFolderBatchResult val: + :rtype: CreateFolderBatchJobStatus + """ + return cls('complete', val) + + @classmethod + def failed(cls, val): + """ + Create an instance of this class set to the ``failed`` tag with value + ``val``. + + :param CreateFolderBatchError val: + :rtype: CreateFolderBatchJobStatus + """ + return cls('failed', val) + + def is_complete(self): + """ + Check if the union tag is ``complete``. + + :rtype: bool + """ + return self._tag == 'complete' + + def is_failed(self): + """ + Check if the union tag is ``failed``. + + :rtype: bool + """ + return self._tag == 'failed' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_complete(self): + """ + The batch create folder has finished. + + Only call this if :meth:`is_complete` is true. + + :rtype: CreateFolderBatchResult + """ + if not self.is_complete(): + raise AttributeError("tag 'complete' not set") + return self._value + + def get_failed(self): + """ + The batch create folder has failed. + + Only call this if :meth:`is_failed` is true. + + :rtype: CreateFolderBatchError + """ + if not self.is_failed(): + raise AttributeError("tag 'failed' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderBatchJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderBatchJobStatus(%r, %r)' % (self._tag, self._value) + +CreateFolderBatchJobStatus_validator = bv.Union(CreateFolderBatchJobStatus) + +class CreateFolderBatchLaunch(async_.LaunchResultBase): + """ + Result returned by :meth:`dropbox.dropbox.Dropbox.files_create_folder_batch` + that may either launch an asynchronous job or complete synchronously. + + 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 complete(cls, val): + """ + Create an instance of this class set to the ``complete`` tag with value + ``val``. + + :param CreateFolderBatchResult val: + :rtype: CreateFolderBatchLaunch + """ + return cls('complete', val) + + def is_complete(self): + """ + Check if the union tag is ``complete``. + + :rtype: bool + """ + return self._tag == 'complete' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_complete(self): + """ + Only call this if :meth:`is_complete` is true. + + :rtype: CreateFolderBatchResult + """ + if not self.is_complete(): + raise AttributeError("tag 'complete' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderBatchLaunch, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderBatchLaunch(%r, %r)' % (self._tag, self._value) + +CreateFolderBatchLaunch_validator = bv.Union(CreateFolderBatchLaunch) + +class FileOpsResult(bb.Struct): + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileOpsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileOpsResult()' + +FileOpsResult_validator = bv.Struct(FileOpsResult) + +class CreateFolderBatchResult(FileOpsResult): + """ + :ivar files.CreateFolderBatchResult.entries: Each entry in + ``CreateFolderBatchArg.paths`` will appear at the same position inside + ``CreateFolderBatchResult.entries``. + """ + + __slots__ = [ + '_entries_value', + '_entries_present', + ] + + _has_required_fields = True + + def __init__(self, + entries=None): + super(CreateFolderBatchResult, self).__init__() + self._entries_value = None + self._entries_present = False + if entries is not None: + self.entries = entries + + @property + def entries(self): + """ + Each entry in ``CreateFolderBatchArg.paths`` will appear at the same + position inside ``CreateFolderBatchResult.entries``. + + :rtype: list of [CreateFolderBatchResultEntry] + """ + if self._entries_present: + return self._entries_value + else: + raise AttributeError("missing required field 'entries'") + + @entries.setter + def entries(self, val): + val = self._entries_validator.validate(val) + self._entries_value = val + self._entries_present = True + + @entries.deleter + def entries(self): + self._entries_value = None + self._entries_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderBatchResult(entries={!r})'.format( + self._entries_value, + ) + +CreateFolderBatchResult_validator = bv.Struct(CreateFolderBatchResult) + +class CreateFolderBatchResultEntry(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 = None + + @classmethod + def success(cls, val): + """ + Create an instance of this class set to the ``success`` tag with value + ``val``. + + :param CreateFolderEntryResult val: + :rtype: CreateFolderBatchResultEntry + """ + return cls('success', val) + + @classmethod + def failure(cls, val): + """ + Create an instance of this class set to the ``failure`` tag with value + ``val``. + + :param CreateFolderEntryError val: + :rtype: CreateFolderBatchResultEntry + """ + return cls('failure', val) + + def is_success(self): + """ + Check if the union tag is ``success``. + + :rtype: bool + """ + return self._tag == 'success' + + def is_failure(self): + """ + Check if the union tag is ``failure``. + + :rtype: bool + """ + return self._tag == 'failure' + + def get_success(self): + """ + Only call this if :meth:`is_success` is true. + + :rtype: CreateFolderEntryResult + """ + if not self.is_success(): + raise AttributeError("tag 'success' not set") + return self._value + + def get_failure(self): + """ + Only call this if :meth:`is_failure` is true. + + :rtype: CreateFolderEntryError + """ + if not self.is_failure(): + raise AttributeError("tag 'failure' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderBatchResultEntry, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderBatchResultEntry(%r, %r)' % (self._tag, self._value) + +CreateFolderBatchResultEntry_validator = bv.Union(CreateFolderBatchResultEntry) + +class CreateFolderEntryError(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 + other = None + + @classmethod + def path(cls, val): + """ + Create an instance of this class set to the ``path`` tag with value + ``val``. + + :param WriteError val: + :rtype: CreateFolderEntryError + """ + return cls('path', val) + + def is_path(self): + """ + Check if the union tag is ``path``. + + :rtype: bool + """ + return self._tag == 'path' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_path(self): + """ + Only call this if :meth:`is_path` is true. + + :rtype: WriteError + """ + if not self.is_path(): + raise AttributeError("tag 'path' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderEntryError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderEntryError(%r, %r)' % (self._tag, self._value) + +CreateFolderEntryError_validator = bv.Union(CreateFolderEntryError) + +class CreateFolderEntryResult(bb.Struct): + """ + :ivar files.CreateFolderEntryResult.metadata: Metadata of the created + folder. + """ + + __slots__ = [ + '_metadata_value', + '_metadata_present', + ] + + _has_required_fields = True + + def __init__(self, + metadata=None): + self._metadata_value = None + self._metadata_present = False + if metadata is not None: + self.metadata = metadata + + @property + def metadata(self): + """ + Metadata of the created folder. + + :rtype: FolderMetadata + """ + if self._metadata_present: + return self._metadata_value + else: + raise AttributeError("missing required field 'metadata'") + + @metadata.setter + def metadata(self, val): + self._metadata_validator.validate_type_only(val) + self._metadata_value = val + self._metadata_present = True + + @metadata.deleter + def metadata(self): + self._metadata_value = None + self._metadata_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderEntryResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderEntryResult(metadata={!r})'.format( + self._metadata_value, + ) + +CreateFolderEntryResult_validator = bv.Struct(CreateFolderEntryResult) + class CreateFolderError(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -715,29 +1567,17 @@ class CreateFolderError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateFolderError(%r, %r)' % (self._tag, self._value) CreateFolderError_validator = bv.Union(CreateFolderError) -class FileOpsResult(object): - - __slots__ = [ - ] - - _has_required_fields = False - - def __init__(self): - pass - - def __repr__(self): - return 'FileOpsResult()' - -FileOpsResult_validator = bv.Struct(FileOpsResult) - class CreateFolderResult(FileOpsResult): """ - :ivar metadata: Metadata of the created folder. + :ivar files.CreateFolderResult.metadata: Metadata of the created folder. """ __slots__ = [ @@ -778,6 +1618,9 @@ class CreateFolderResult(FileOpsResult): self._metadata_value = None self._metadata_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateFolderResult(metadata={!r})'.format( self._metadata_value, @@ -785,24 +1628,34 @@ class CreateFolderResult(FileOpsResult): CreateFolderResult_validator = bv.Struct(CreateFolderResult) -class DeleteArg(object): +class DeleteArg(bb.Struct): """ - :ivar path: Path in the user's Dropbox to delete. + :ivar files.DeleteArg.path: Path in the user's Dropbox to delete. + :ivar files.DeleteArg.parent_rev: Perform delete if given "rev" matches the + existing file's latest "rev". This field does not support deleting a + folder. """ __slots__ = [ '_path_value', '_path_present', + '_parent_rev_value', + '_parent_rev_present', ] _has_required_fields = True def __init__(self, - path=None): + path=None, + parent_rev=None): self._path_value = None self._path_present = False + self._parent_rev_value = None + self._parent_rev_present = False if path is not None: self.path = path + if parent_rev is not None: + self.parent_rev = parent_rev @property def path(self): @@ -827,14 +1680,45 @@ class DeleteArg(object): self._path_value = None self._path_present = False + @property + def parent_rev(self): + """ + Perform delete if given "rev" matches the existing file's latest "rev". + This field does not support deleting a folder. + + :rtype: str + """ + if self._parent_rev_present: + return self._parent_rev_value + else: + return None + + @parent_rev.setter + def parent_rev(self, val): + if val is None: + del self.parent_rev + return + val = self._parent_rev_validator.validate(val) + self._parent_rev_value = val + self._parent_rev_present = True + + @parent_rev.deleter + def parent_rev(self): + self._parent_rev_value = None + self._parent_rev_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'DeleteArg(path={!r})'.format( + return 'DeleteArg(path={!r}, parent_rev={!r})'.format( self._path_value, + self._parent_rev_value, ) DeleteArg_validator = bv.Struct(DeleteArg) -class DeleteBatchArg(object): +class DeleteBatchArg(bb.Struct): __slots__ = [ '_entries_value', @@ -871,6 +1755,9 @@ class DeleteBatchArg(object): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteBatchArg(entries={!r})'.format( self._entries_value, @@ -884,7 +1771,7 @@ class DeleteBatchError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar too_many_write_operations: Use + :ivar files.DeleteBatchError.too_many_write_operations: Use ``DeleteError.too_many_write_operations``. :meth:`dropbox.dropbox.Dropbox.files_delete_batch` now provides smaller granularity about which entry has failed because of this. @@ -912,19 +1799,24 @@ class DeleteBatchError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteBatchError(%r, %r)' % (self._tag, self._value) DeleteBatchError_validator = bv.Union(DeleteBatchError) -class DeleteBatchJobStatus(async.PollResultBase): +class DeleteBatchJobStatus(async_.PollResultBase): """ 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 DeleteBatchResult complete: The batch delete has finished. - :ivar DeleteBatchError failed: The batch delete has failed. + :ivar DeleteBatchResult DeleteBatchJobStatus.complete: The batch delete has + finished. + :ivar DeleteBatchError DeleteBatchJobStatus.failed: The batch delete has + failed. """ _catch_all = 'other' @@ -1001,12 +1893,15 @@ class DeleteBatchJobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteBatchJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteBatchJobStatus(%r, %r)' % (self._tag, self._value) DeleteBatchJobStatus_validator = bv.Union(DeleteBatchJobStatus) -class DeleteBatchLaunch(async.LaunchResultBase): +class DeleteBatchLaunch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox.Dropbox.files_delete_batch` that may either launch an asynchronous job or complete synchronously. @@ -1057,12 +1952,20 @@ class DeleteBatchLaunch(async.LaunchResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteBatchLaunch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteBatchLaunch(%r, %r)' % (self._tag, self._value) DeleteBatchLaunch_validator = bv.Union(DeleteBatchLaunch) class DeleteBatchResult(FileOpsResult): + """ + :ivar files.DeleteBatchResult.entries: Each entry in + ``DeleteBatchArg.entries`` will appear at the same position inside + ``DeleteBatchResult.entries``. + """ __slots__ = [ '_entries_value', @@ -1082,6 +1985,9 @@ class DeleteBatchResult(FileOpsResult): @property def entries(self): """ + Each entry in ``DeleteBatchArg.entries`` will appear at the same + position inside ``DeleteBatchResult.entries``. + :rtype: list of [DeleteBatchResultEntry] """ if self._entries_present: @@ -1100,6 +2006,9 @@ class DeleteBatchResult(FileOpsResult): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteBatchResult(entries={!r})'.format( self._entries_value, @@ -1107,9 +2016,9 @@ class DeleteBatchResult(FileOpsResult): DeleteBatchResult_validator = bv.Struct(DeleteBatchResult) -class DeleteBatchResultData(object): +class DeleteBatchResultData(bb.Struct): """ - :ivar metadata: Metadata of the deleted object. + :ivar files.DeleteBatchResultData.metadata: Metadata of the deleted object. """ __slots__ = [ @@ -1149,6 +2058,9 @@ class DeleteBatchResultData(object): self._metadata_value = None self._metadata_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteBatchResultData, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteBatchResultData(metadata={!r})'.format( self._metadata_value, @@ -1223,6 +2135,9 @@ class DeleteBatchResultEntry(bb.Union): raise AttributeError("tag 'failure' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteBatchResultEntry, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteBatchResultEntry(%r, %r)' % (self._tag, self._value) @@ -1234,10 +2149,10 @@ class DeleteError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar too_many_write_operations: There are too many write operations in - user's Dropbox. Please retry this request. - :ivar too_many_files: There are too many files in one request. Please retry - with fewer files. + :ivar files.DeleteError.too_many_write_operations: There are too many write + operations in user's Dropbox. Please retry this request. + :ivar files.DeleteError.too_many_files: There are too many files in one + request. Please retry with fewer files. """ _catch_all = 'other' @@ -1330,6 +2245,9 @@ class DeleteError(bb.Union): raise AttributeError("tag 'path_write' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteError(%r, %r)' % (self._tag, self._value) @@ -1337,7 +2255,7 @@ DeleteError_validator = bv.Union(DeleteError) class DeleteResult(FileOpsResult): """ - :ivar metadata: Metadata of the deleted object. + :ivar files.DeleteResult.metadata: Metadata of the deleted object. """ __slots__ = [ @@ -1378,6 +2296,9 @@ class DeleteResult(FileOpsResult): self._metadata_value = None self._metadata_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeleteResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeleteResult(metadata={!r})'.format( self._metadata_value, @@ -1385,23 +2306,23 @@ class DeleteResult(FileOpsResult): DeleteResult_validator = bv.Struct(DeleteResult) -class Metadata(object): +class Metadata(bb.Struct): """ Metadata for a file or folder. - :ivar name: The last component of the path (including extension). This never - contains a slash. - :ivar path_lower: The lowercased full path in the user's Dropbox. This - always starts with a slash. This field will be null if the file or - folder is not mounted. - :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, and at least the last path component will have the correct + :ivar files.Metadata.name: The last component of the path (including + extension). This never contains a slash. + :ivar files.Metadata.path_lower: The lowercased full path in the user's + Dropbox. This always starts with a slash. This field will be null if the + file or folder is not mounted. + :ivar files.Metadata.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, and at least the last path component will have the correct casing. Changes to only the casing of paths won't be returned by :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue`. This field will be null if the file or folder is not mounted. - :ivar parent_shared_folder_id: Please use + :ivar files.Metadata.parent_shared_folder_id: Please use ``FileSharingInfo.parent_shared_folder_id`` or ``FolderSharingInfo.parent_shared_folder_id`` instead. """ @@ -1551,6 +2472,9 @@ class Metadata(object): self._parent_shared_folder_id_value = None self._parent_shared_folder_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Metadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Metadata(name={!r}, path_lower={!r}, path_display={!r}, parent_shared_folder_id={!r})'.format( self._name_value, @@ -1582,6 +2506,9 @@ class DeletedMetadata(Metadata): path_display, parent_shared_folder_id) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeletedMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeletedMetadata(name={!r}, path_lower={!r}, path_display={!r}, parent_shared_folder_id={!r})'.format( self._name_value, @@ -1592,12 +2519,12 @@ class DeletedMetadata(Metadata): DeletedMetadata_validator = bv.Struct(DeletedMetadata) -class Dimensions(object): +class Dimensions(bb.Struct): """ Dimensions for a photo or video. - :ivar height: Height of the photo/video. - :ivar width: Width of the photo/video. + :ivar files.Dimensions.height: Height of the photo/video. + :ivar files.Dimensions.width: Width of the photo/video. """ __slots__ = [ @@ -1626,7 +2553,7 @@ class Dimensions(object): """ Height of the photo/video. - :rtype: long + :rtype: int """ if self._height_present: return self._height_value @@ -1649,7 +2576,7 @@ class Dimensions(object): """ Width of the photo/video. - :rtype: long + :rtype: int """ if self._width_present: return self._width_value @@ -1667,6 +2594,9 @@ class Dimensions(object): self._width_value = None self._width_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Dimensions, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Dimensions(height={!r}, width={!r})'.format( self._height_value, @@ -1675,10 +2605,10 @@ class Dimensions(object): Dimensions_validator = bv.Struct(Dimensions) -class DownloadArg(object): +class DownloadArg(bb.Struct): """ - :ivar path: The path of the file to download. - :ivar rev: Please specify revision in ``path`` instead. + :ivar files.DownloadArg.path: The path of the file to download. + :ivar files.DownloadArg.rev: Please specify revision in ``path`` instead. """ __slots__ = [ @@ -1751,6 +2681,9 @@ class DownloadArg(object): self._rev_value = None self._rev_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DownloadArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DownloadArg(path={!r}, rev={!r})'.format( self._path_value, @@ -1764,10 +2697,16 @@ class DownloadError(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 files.DownloadError.unsupported_file: This file type cannot be + downloaded directly; use :meth:`dropbox.dropbox.Dropbox.files_export` + instead. """ _catch_all = 'other' # Attribute is overwritten below the class definition + unsupported_file = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -1789,6 +2728,14 @@ class DownloadError(bb.Union): """ return self._tag == 'path' + def is_unsupported_file(self): + """ + Check if the union tag is ``unsupported_file``. + + :rtype: bool + """ + return self._tag == 'unsupported_file' + def is_other(self): """ Check if the union tag is ``other``. @@ -1807,40 +2754,628 @@ class DownloadError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DownloadError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DownloadError(%r, %r)' % (self._tag, self._value) DownloadError_validator = bv.Union(DownloadError) +class DownloadZipArg(bb.Struct): + """ + :ivar files.DownloadZipArg.path: The path of the folder to download. + """ + + __slots__ = [ + '_path_value', + '_path_present', + ] + + _has_required_fields = True + + def __init__(self, + path=None): + self._path_value = None + self._path_present = False + if path is not None: + self.path = path + + @property + def path(self): + """ + The path of the folder to download. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(DownloadZipArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DownloadZipArg(path={!r})'.format( + self._path_value, + ) + +DownloadZipArg_validator = bv.Struct(DownloadZipArg) + +class DownloadZipError(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 files.DownloadZipError.too_large: The folder or a file is too large to + download. + :ivar files.DownloadZipError.too_many_files: The folder has too many files + to download. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + too_large = None + # Attribute is overwritten below the class definition + too_many_files = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def path(cls, val): + """ + Create an instance of this class set to the ``path`` tag with value + ``val``. + + :param LookupError val: + :rtype: DownloadZipError + """ + return cls('path', val) + + def is_path(self): + """ + Check if the union tag is ``path``. + + :rtype: bool + """ + return self._tag == 'path' + + def is_too_large(self): + """ + Check if the union tag is ``too_large``. + + :rtype: bool + """ + return self._tag == 'too_large' + + def is_too_many_files(self): + """ + Check if the union tag is ``too_many_files``. + + :rtype: bool + """ + return self._tag == 'too_many_files' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_path(self): + """ + Only call this if :meth:`is_path` is true. + + :rtype: LookupError + """ + if not self.is_path(): + raise AttributeError("tag 'path' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DownloadZipError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DownloadZipError(%r, %r)' % (self._tag, self._value) + +DownloadZipError_validator = bv.Union(DownloadZipError) + +class DownloadZipResult(bb.Struct): + + __slots__ = [ + '_metadata_value', + '_metadata_present', + ] + + _has_required_fields = True + + def __init__(self, + metadata=None): + self._metadata_value = None + self._metadata_present = False + if metadata is not None: + self.metadata = metadata + + @property + def metadata(self): + """ + :rtype: FolderMetadata + """ + if self._metadata_present: + return self._metadata_value + else: + raise AttributeError("missing required field 'metadata'") + + @metadata.setter + def metadata(self, val): + self._metadata_validator.validate_type_only(val) + self._metadata_value = val + self._metadata_present = True + + @metadata.deleter + def metadata(self): + self._metadata_value = None + self._metadata_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DownloadZipResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DownloadZipResult(metadata={!r})'.format( + self._metadata_value, + ) + +DownloadZipResult_validator = bv.Struct(DownloadZipResult) + +class ExportArg(bb.Struct): + """ + :ivar files.ExportArg.path: The path of the file to be exported. + """ + + __slots__ = [ + '_path_value', + '_path_present', + ] + + _has_required_fields = True + + def __init__(self, + path=None): + self._path_value = None + self._path_present = False + if path is not None: + self.path = path + + @property + def path(self): + """ + The path of the file to be exported. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExportArg(path={!r})'.format( + self._path_value, + ) + +ExportArg_validator = bv.Struct(ExportArg) + +class ExportError(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 files.ExportError.non_exportable: This file type cannot be exported. + Use :meth:`dropbox.dropbox.Dropbox.files_download` instead. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + non_exportable = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def path(cls, val): + """ + Create an instance of this class set to the ``path`` tag with value + ``val``. + + :param LookupError val: + :rtype: ExportError + """ + return cls('path', val) + + def is_path(self): + """ + Check if the union tag is ``path``. + + :rtype: bool + """ + return self._tag == 'path' + + def is_non_exportable(self): + """ + Check if the union tag is ``non_exportable``. + + :rtype: bool + """ + return self._tag == 'non_exportable' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_path(self): + """ + Only call this if :meth:`is_path` is true. + + :rtype: LookupError + """ + if not self.is_path(): + raise AttributeError("tag 'path' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExportError(%r, %r)' % (self._tag, self._value) + +ExportError_validator = bv.Union(ExportError) + +class ExportInfo(bb.Struct): + """ + Export information for a file. + + :ivar files.ExportInfo.export_as: Format to which the file can be exported + to. + """ + + __slots__ = [ + '_export_as_value', + '_export_as_present', + ] + + _has_required_fields = False + + def __init__(self, + export_as=None): + self._export_as_value = None + self._export_as_present = False + if export_as is not None: + self.export_as = export_as + + @property + def export_as(self): + """ + Format to which the file can be exported to. + + :rtype: str + """ + if self._export_as_present: + return self._export_as_value + else: + return None + + @export_as.setter + def export_as(self, val): + if val is None: + del self.export_as + return + val = self._export_as_validator.validate(val) + self._export_as_value = val + self._export_as_present = True + + @export_as.deleter + def export_as(self): + self._export_as_value = None + self._export_as_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExportInfo(export_as={!r})'.format( + self._export_as_value, + ) + +ExportInfo_validator = bv.Struct(ExportInfo) + +class ExportMetadata(bb.Struct): + """ + :ivar files.ExportMetadata.name: The last component of the path (including + extension). This never contains a slash. + :ivar files.ExportMetadata.size: The file size in bytes. + :ivar files.ExportMetadata.export_hash: A hash based on the exported file + content. This field can be used to verify data integrity. Similar to + content hash. For more information see our `Content hash + `_ page. + """ + + __slots__ = [ + '_name_value', + '_name_present', + '_size_value', + '_size_present', + '_export_hash_value', + '_export_hash_present', + ] + + _has_required_fields = True + + def __init__(self, + name=None, + size=None, + export_hash=None): + self._name_value = None + self._name_present = False + self._size_value = None + self._size_present = False + self._export_hash_value = None + self._export_hash_present = False + if name is not None: + self.name = name + if size is not None: + self.size = size + if export_hash is not None: + self.export_hash = export_hash + + @property + def name(self): + """ + The last component of the path (including extension). This never + contains a slash. + + :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 size(self): + """ + The file size in bytes. + + :rtype: int + """ + if self._size_present: + return self._size_value + else: + raise AttributeError("missing required field 'size'") + + @size.setter + def size(self, val): + val = self._size_validator.validate(val) + self._size_value = val + self._size_present = True + + @size.deleter + def size(self): + self._size_value = None + self._size_present = False + + @property + def export_hash(self): + """ + A hash based on the exported file content. This field can be used to + verify data integrity. Similar to content hash. For more information see + our `Content hash + `_ page. + + :rtype: str + """ + if self._export_hash_present: + return self._export_hash_value + else: + return None + + @export_hash.setter + def export_hash(self, val): + if val is None: + del self.export_hash + return + val = self._export_hash_validator.validate(val) + self._export_hash_value = val + self._export_hash_present = True + + @export_hash.deleter + def export_hash(self): + self._export_hash_value = None + self._export_hash_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExportMetadata(name={!r}, size={!r}, export_hash={!r})'.format( + self._name_value, + self._size_value, + self._export_hash_value, + ) + +ExportMetadata_validator = bv.Struct(ExportMetadata) + +class ExportResult(bb.Struct): + """ + :ivar files.ExportResult.export_metadata: Metadata for the exported version + of the file. + :ivar files.ExportResult.file_metadata: Metadata for the original file. + """ + + __slots__ = [ + '_export_metadata_value', + '_export_metadata_present', + '_file_metadata_value', + '_file_metadata_present', + ] + + _has_required_fields = True + + def __init__(self, + export_metadata=None, + file_metadata=None): + self._export_metadata_value = None + self._export_metadata_present = False + self._file_metadata_value = None + self._file_metadata_present = False + if export_metadata is not None: + self.export_metadata = export_metadata + if file_metadata is not None: + self.file_metadata = file_metadata + + @property + def export_metadata(self): + """ + Metadata for the exported version of the file. + + :rtype: ExportMetadata + """ + if self._export_metadata_present: + return self._export_metadata_value + else: + raise AttributeError("missing required field 'export_metadata'") + + @export_metadata.setter + def export_metadata(self, val): + self._export_metadata_validator.validate_type_only(val) + self._export_metadata_value = val + self._export_metadata_present = True + + @export_metadata.deleter + def export_metadata(self): + self._export_metadata_value = None + self._export_metadata_present = False + + @property + def file_metadata(self): + """ + Metadata for the original file. + + :rtype: FileMetadata + """ + if self._file_metadata_present: + return self._file_metadata_value + else: + raise AttributeError("missing required field 'file_metadata'") + + @file_metadata.setter + def file_metadata(self, val): + self._file_metadata_validator.validate_type_only(val) + self._file_metadata_value = val + self._file_metadata_present = True + + @file_metadata.deleter + def file_metadata(self): + self._file_metadata_value = None + self._file_metadata_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExportResult(export_metadata={!r}, file_metadata={!r})'.format( + self._export_metadata_value, + self._file_metadata_value, + ) + +ExportResult_validator = bv.Struct(ExportResult) + class FileMetadata(Metadata): """ - :ivar id: A unique identifier for the file. - :ivar client_modified: For files, this is the modification time set by the - desktop client when the file was added to Dropbox. Since this time is - not verified (the Dropbox server stores whatever the desktop client - sends up), this should only be used for display purposes (such as - sorting) and not, for example, to determine if a file has changed or - not. - :ivar server_modified: The last time the file was modified on Dropbox. - :ivar rev: A unique identifier for the current revision of a file. This - field is the same rev as elsewhere in the API and can be used to detect - changes and avoid conflicts. - :ivar size: The file size in bytes. - :ivar media_info: Additional information if the file is a photo or video. - :ivar sharing_info: Set if this file is contained in a shared folder. - :ivar property_groups: Additional information if the file has custom - properties with the property template specified. - :ivar has_explicit_shared_members: This flag will only be present if - include_has_explicit_shared_members is true in + :ivar files.FileMetadata.id: A unique identifier for the file. + :ivar files.FileMetadata.client_modified: For files, this is the + modification time set by the desktop client when the file was added to + Dropbox. Since this time is not verified (the Dropbox server stores + whatever the desktop client sends up), this should only be used for + display purposes (such as sorting) and not, for example, to determine if + a file has changed or not. + :ivar files.FileMetadata.server_modified: The last time the file was + modified on Dropbox. + :ivar files.FileMetadata.rev: A unique identifier for the current revision + of a file. This field is the same rev as elsewhere in the API and can be + used to detect changes and avoid conflicts. + :ivar files.FileMetadata.size: The file size in bytes. + :ivar files.FileMetadata.media_info: Additional information if the file is a + photo or video. This field will not be set on entries returned by + :meth:`dropbox.dropbox.Dropbox.files_list_folder`, + :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue`, or + :meth:`dropbox.dropbox.Dropbox.files_get_thumbnail_batch`, starting + December 2, 2019. + :ivar files.FileMetadata.symlink_info: Set if this file is a symlink. + :ivar files.FileMetadata.sharing_info: Set if this file is contained in a + shared folder. + :ivar files.FileMetadata.is_downloadable: If true, file can be downloaded + directly; else the file must be exported. + :ivar files.FileMetadata.export_info: Information about format this file can + be exported to. This filed must be set if ``is_downloadable`` is set to + false. + :ivar files.FileMetadata.property_groups: Additional information if the file + has custom properties with the property template specified. + :ivar files.FileMetadata.has_explicit_shared_members: This flag will only be + present if include_has_explicit_shared_members is true in :meth:`dropbox.dropbox.Dropbox.files_list_folder` or :meth:`dropbox.dropbox.Dropbox.files_get_metadata`. If this flag is present, it will be true if this file has any explicit shared members. This is different from sharing_info in that this could be true in the case where a file has explicit members but is not contained within a shared folder. - :ivar content_hash: A hash of the file content. This field can be used to - verify data integrity. For more information see our `Content hash - `_ page. + :ivar files.FileMetadata.content_hash: A hash of the file content. This + field can be used to verify data integrity. For more information see our + `Content hash + `_ page. """ __slots__ = [ @@ -1856,8 +3391,14 @@ class FileMetadata(Metadata): '_size_present', '_media_info_value', '_media_info_present', + '_symlink_info_value', + '_symlink_info_present', '_sharing_info_value', '_sharing_info_present', + '_is_downloadable_value', + '_is_downloadable_present', + '_export_info_value', + '_export_info_present', '_property_groups_value', '_property_groups_present', '_has_explicit_shared_members_value', @@ -1879,7 +3420,10 @@ class FileMetadata(Metadata): path_display=None, parent_shared_folder_id=None, media_info=None, + symlink_info=None, sharing_info=None, + is_downloadable=None, + export_info=None, property_groups=None, has_explicit_shared_members=None, content_hash=None): @@ -1899,8 +3443,14 @@ class FileMetadata(Metadata): self._size_present = False self._media_info_value = None self._media_info_present = False + self._symlink_info_value = None + self._symlink_info_present = False self._sharing_info_value = None self._sharing_info_present = False + self._is_downloadable_value = None + self._is_downloadable_present = False + self._export_info_value = None + self._export_info_present = False self._property_groups_value = None self._property_groups_present = False self._has_explicit_shared_members_value = None @@ -1919,8 +3469,14 @@ class FileMetadata(Metadata): self.size = size if media_info is not None: self.media_info = media_info + if symlink_info is not None: + self.symlink_info = symlink_info if sharing_info is not None: self.sharing_info = sharing_info + if is_downloadable is not None: + self.is_downloadable = is_downloadable + if export_info is not None: + self.export_info = export_info if property_groups is not None: self.property_groups = property_groups if has_explicit_shared_members is not None: @@ -2031,7 +3587,7 @@ class FileMetadata(Metadata): """ The file size in bytes. - :rtype: long + :rtype: int """ if self._size_present: return self._size_value @@ -2052,7 +3608,12 @@ class FileMetadata(Metadata): @property def media_info(self): """ - Additional information if the file is a photo or video. + Additional information if the file is a photo or video. This field will + not be set on entries returned by + :meth:`dropbox.dropbox.Dropbox.files_list_folder`, + :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue`, or + :meth:`dropbox.dropbox.Dropbox.files_get_thumbnail_batch`, starting + December 2, 2019. :rtype: MediaInfo """ @@ -2075,6 +3636,32 @@ class FileMetadata(Metadata): self._media_info_value = None self._media_info_present = False + @property + def symlink_info(self): + """ + Set if this file is a symlink. + + :rtype: SymlinkInfo + """ + if self._symlink_info_present: + return self._symlink_info_value + else: + return None + + @symlink_info.setter + def symlink_info(self, val): + if val is None: + del self.symlink_info + return + self._symlink_info_validator.validate_type_only(val) + self._symlink_info_value = val + self._symlink_info_present = True + + @symlink_info.deleter + def symlink_info(self): + self._symlink_info_value = None + self._symlink_info_present = False + @property def sharing_info(self): """ @@ -2101,13 +3688,64 @@ class FileMetadata(Metadata): self._sharing_info_value = None self._sharing_info_present = False + @property + def is_downloadable(self): + """ + If true, file can be downloaded directly; else the file must be + exported. + + :rtype: bool + """ + if self._is_downloadable_present: + return self._is_downloadable_value + else: + return True + + @is_downloadable.setter + def is_downloadable(self, val): + val = self._is_downloadable_validator.validate(val) + self._is_downloadable_value = val + self._is_downloadable_present = True + + @is_downloadable.deleter + def is_downloadable(self): + self._is_downloadable_value = None + self._is_downloadable_present = False + + @property + def export_info(self): + """ + Information about format this file can be exported to. This filed must + be set if ``is_downloadable`` is set to false. + + :rtype: ExportInfo + """ + if self._export_info_present: + return self._export_info_value + else: + return None + + @export_info.setter + def export_info(self, val): + if val is None: + del self.export_info + return + self._export_info_validator.validate_type_only(val) + self._export_info_value = val + self._export_info_present = True + + @export_info.deleter + def export_info(self): + self._export_info_value = None + self._export_info_present = False + @property def property_groups(self): """ Additional information if the file has custom properties with the property template specified. - :rtype: list of [file_properties.PropertyGroup_validator] + :rtype: list of [file_properties.PropertyGroup] """ if self._property_groups_present: return self._property_groups_value @@ -2165,7 +3803,7 @@ class FileMetadata(Metadata): """ A hash of the file content. This field can be used to verify data integrity. For more information see our `Content hash - `_ page. + `_ page. :rtype: str """ @@ -2188,8 +3826,11 @@ class FileMetadata(Metadata): self._content_hash_value = None self._content_hash_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileMetadata(name={!r}, id={!r}, client_modified={!r}, server_modified={!r}, rev={!r}, size={!r}, path_lower={!r}, path_display={!r}, parent_shared_folder_id={!r}, media_info={!r}, sharing_info={!r}, property_groups={!r}, has_explicit_shared_members={!r}, content_hash={!r})'.format( + return 'FileMetadata(name={!r}, id={!r}, client_modified={!r}, server_modified={!r}, rev={!r}, size={!r}, path_lower={!r}, path_display={!r}, parent_shared_folder_id={!r}, media_info={!r}, symlink_info={!r}, sharing_info={!r}, is_downloadable={!r}, export_info={!r}, property_groups={!r}, has_explicit_shared_members={!r}, content_hash={!r})'.format( self._name_value, self._id_value, self._client_modified_value, @@ -2200,7 +3841,10 @@ class FileMetadata(Metadata): self._path_display_value, self._parent_shared_folder_id_value, self._media_info_value, + self._symlink_info_value, self._sharing_info_value, + self._is_downloadable_value, + self._export_info_value, self._property_groups_value, self._has_explicit_shared_members_value, self._content_hash_value, @@ -2208,12 +3852,12 @@ class FileMetadata(Metadata): FileMetadata_validator = bv.Struct(FileMetadata) -class SharingInfo(object): +class SharingInfo(bb.Struct): """ Sharing info for a file or folder. - :ivar read_only: True if the file or folder is inside a read-only shared - folder. + :ivar files.SharingInfo.read_only: True if the file or folder is inside a + read-only shared folder. """ __slots__ = [ @@ -2253,6 +3897,9 @@ class SharingInfo(object): self._read_only_value = None self._read_only_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingInfo(read_only={!r})'.format( self._read_only_value, @@ -2264,9 +3911,10 @@ class FileSharingInfo(SharingInfo): """ Sharing info for a file which is contained by a shared folder. - :ivar parent_shared_folder_id: ID of shared folder that holds this file. - :ivar modified_by: The last user who modified the file. This field will be - null if the user's account has been deleted. + :ivar files.FileSharingInfo.parent_shared_folder_id: ID of shared folder + that holds this file. + :ivar files.FileSharingInfo.modified_by: The last user who modified the + file. This field will be null if the user's account has been deleted. """ __slots__ = [ @@ -2342,6 +3990,9 @@ class FileSharingInfo(SharingInfo): self._modified_by_value = None self._modified_by_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileSharingInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileSharingInfo(read_only={!r}, parent_shared_folder_id={!r}, modified_by={!r})'.format( self._read_only_value, @@ -2353,12 +4004,15 @@ FileSharingInfo_validator = bv.Struct(FileSharingInfo) class FolderMetadata(Metadata): """ - :ivar id: A unique identifier for the folder. - :ivar shared_folder_id: Please use ``sharing_info`` instead. - :ivar sharing_info: Set if the folder is contained in a shared folder or is - a shared folder mount point. - :ivar property_groups: Additional information if the file has custom - properties with the property template specified. + :ivar files.FolderMetadata.id: A unique identifier for the folder. + :ivar files.FolderMetadata.shared_folder_id: Please use ``sharing_info`` + instead. + :ivar files.FolderMetadata.sharing_info: Set if the folder is contained in a + shared folder or is a shared folder mount point. + :ivar files.FolderMetadata.property_groups: Additional information if the + file has custom properties with the property template specified. Note + that only properties associated with user-owned templates, not + team-owned templates, can be attached to folders. """ __slots__ = [ @@ -2484,9 +4138,11 @@ class FolderMetadata(Metadata): def property_groups(self): """ Additional information if the file has custom properties with the - property template specified. + property template specified. Note that only properties associated with + user-owned templates, not team-owned templates, can be attached to + folders. - :rtype: list of [file_properties.PropertyGroup_validator] + :rtype: list of [file_properties.PropertyGroup] """ if self._property_groups_present: return self._property_groups_value @@ -2507,6 +4163,9 @@ class FolderMetadata(Metadata): self._property_groups_value = None self._property_groups_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderMetadata(name={!r}, id={!r}, path_lower={!r}, path_display={!r}, parent_shared_folder_id={!r}, shared_folder_id={!r}, sharing_info={!r}, property_groups={!r})'.format( self._name_value, @@ -2526,15 +4185,17 @@ class FolderSharingInfo(SharingInfo): Sharing info for a folder which is contained in a shared folder or is a shared folder mount point. - :ivar parent_shared_folder_id: Set if the folder is contained by a shared - folder. - :ivar shared_folder_id: If this folder is a shared folder mount point, the - ID of the shared folder mounted at this location. - :ivar traverse_only: Specifies that the folder can only be traversed and the - user can only see a limited subset of the contents of this folder - because they don't have read access to this folder. They do, however, - have access to some sub folder. - :ivar no_access: Specifies that the folder cannot be accessed by the user. + :ivar files.FolderSharingInfo.parent_shared_folder_id: Set if the folder is + contained by a shared folder. + :ivar files.FolderSharingInfo.shared_folder_id: If this folder is a shared + folder mount point, the ID of the shared folder mounted at this + location. + :ivar files.FolderSharingInfo.traverse_only: Specifies that the folder can + only be traversed and the user can only see a limited subset of the + contents of this folder because they don't have read access to this + folder. They do, however, have access to some sub folder. + :ivar files.FolderSharingInfo.no_access: Specifies that the folder cannot be + accessed by the user. """ __slots__ = [ @@ -2676,6 +4337,9 @@ class FolderSharingInfo(SharingInfo): self._no_access_value = None self._no_access_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderSharingInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderSharingInfo(read_only={!r}, parent_shared_folder_id={!r}, shared_folder_id={!r}, traverse_only={!r}, no_access={!r})'.format( self._read_only_value, @@ -2687,10 +4351,10 @@ class FolderSharingInfo(SharingInfo): FolderSharingInfo_validator = bv.Struct(FolderSharingInfo) -class GetCopyReferenceArg(object): +class GetCopyReferenceArg(bb.Struct): """ - :ivar path: The path to the file or folder you want to get a copy reference - to. + :ivar files.GetCopyReferenceArg.path: The path to the file or folder you + want to get a copy reference to. """ __slots__ = [ @@ -2730,6 +4394,9 @@ class GetCopyReferenceArg(object): self._path_value = None self._path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetCopyReferenceArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetCopyReferenceArg(path={!r})'.format( self._path_value, @@ -2785,18 +4452,22 @@ class GetCopyReferenceError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetCopyReferenceError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetCopyReferenceError(%r, %r)' % (self._tag, self._value) GetCopyReferenceError_validator = bv.Union(GetCopyReferenceError) -class GetCopyReferenceResult(object): +class GetCopyReferenceResult(bb.Struct): """ - :ivar metadata: Metadata of the file or folder. - :ivar copy_reference: A copy reference to the file or folder. - :ivar expires: The expiration date of the copy reference. This value is - currently set to be far enough in the future so that expiration is - effectively not an issue. + :ivar files.GetCopyReferenceResult.metadata: Metadata of the file or folder. + :ivar files.GetCopyReferenceResult.copy_reference: A copy reference to the + file or folder. + :ivar files.GetCopyReferenceResult.expires: The expiration date of the copy + reference. This value is currently set to be far enough in the future so + that expiration is effectively not an issue. """ __slots__ = [ @@ -2898,6 +4569,9 @@ class GetCopyReferenceResult(object): self._expires_value = None self._expires_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetCopyReferenceResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetCopyReferenceResult(metadata={!r}, copy_reference={!r}, expires={!r})'.format( self._metadata_value, @@ -2907,9 +4581,10 @@ class GetCopyReferenceResult(object): GetCopyReferenceResult_validator = bv.Struct(GetCopyReferenceResult) -class GetTemporaryLinkArg(object): +class GetTemporaryLinkArg(bb.Struct): """ - :ivar path: The path to the file you want a temporary link to. + :ivar files.GetTemporaryLinkArg.path: The path to the file you want a + temporary link to. """ __slots__ = [ @@ -2949,6 +4624,9 @@ class GetTemporaryLinkArg(object): self._path_value = None self._path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTemporaryLinkArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTemporaryLinkArg(path={!r})'.format( self._path_value, @@ -2961,10 +4639,20 @@ class GetTemporaryLinkError(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 files.GetTemporaryLinkError.email_not_verified: The user's email + address needs to be verified to use this functionality. + :ivar files.GetTemporaryLinkError.unsupported_file: Cannot get temporary + link to this file type; use :meth:`dropbox.dropbox.Dropbox.files_export` + instead. """ _catch_all = 'other' # Attribute is overwritten below the class definition + email_not_verified = None + # Attribute is overwritten below the class definition + unsupported_file = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -2986,6 +4674,22 @@ class GetTemporaryLinkError(bb.Union): """ return self._tag == 'path' + def is_email_not_verified(self): + """ + Check if the union tag is ``email_not_verified``. + + :rtype: bool + """ + return self._tag == 'email_not_verified' + + def is_unsupported_file(self): + """ + Check if the union tag is ``unsupported_file``. + + :rtype: bool + """ + return self._tag == 'unsupported_file' + def is_other(self): """ Check if the union tag is ``other``. @@ -3004,15 +4708,19 @@ class GetTemporaryLinkError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTemporaryLinkError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTemporaryLinkError(%r, %r)' % (self._tag, self._value) GetTemporaryLinkError_validator = bv.Union(GetTemporaryLinkError) -class GetTemporaryLinkResult(object): +class GetTemporaryLinkResult(bb.Struct): """ - :ivar metadata: Metadata of the file. - :ivar link: The temporary link which can be used to stream content the file. + :ivar files.GetTemporaryLinkResult.metadata: Metadata of the file. + :ivar files.GetTemporaryLinkResult.link: The temporary link which can be + used to stream content the file. """ __slots__ = [ @@ -3082,6 +4790,9 @@ class GetTemporaryLinkResult(object): self._link_value = None self._link_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTemporaryLinkResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTemporaryLinkResult(metadata={!r}, link={!r})'.format( self._metadata_value, @@ -3090,11 +4801,158 @@ class GetTemporaryLinkResult(object): GetTemporaryLinkResult_validator = bv.Struct(GetTemporaryLinkResult) -class GetThumbnailBatchArg(object): +class GetTemporaryUploadLinkArg(bb.Struct): + """ + :ivar files.GetTemporaryUploadLinkArg.commit_info: Contains the path and + other optional modifiers for the future upload commit. Equivalent to the + parameters provided to :meth:`dropbox.dropbox.Dropbox.files_upload`. + :ivar files.GetTemporaryUploadLinkArg.duration: How long before this link + expires, in seconds. Attempting to start an upload with this link + longer than this period of time after link creation will result in an + error. + """ + + __slots__ = [ + '_commit_info_value', + '_commit_info_present', + '_duration_value', + '_duration_present', + ] + + _has_required_fields = True + + def __init__(self, + commit_info=None, + duration=None): + self._commit_info_value = None + self._commit_info_present = False + self._duration_value = None + self._duration_present = False + if commit_info is not None: + self.commit_info = commit_info + if duration is not None: + self.duration = duration + + @property + def commit_info(self): + """ + Contains the path and other optional modifiers for the future upload + commit. Equivalent to the parameters provided to + :meth:`dropbox.dropbox.Dropbox.files_upload`. + + :rtype: CommitInfo + """ + if self._commit_info_present: + return self._commit_info_value + else: + raise AttributeError("missing required field 'commit_info'") + + @commit_info.setter + def commit_info(self, val): + self._commit_info_validator.validate_type_only(val) + self._commit_info_value = val + self._commit_info_present = True + + @commit_info.deleter + def commit_info(self): + self._commit_info_value = None + self._commit_info_present = False + + @property + def duration(self): + """ + How long before this link expires, in seconds. Attempting to start an + upload with this link longer than this period of time after link + creation will result in an error. + + :rtype: float + """ + if self._duration_present: + return self._duration_value + else: + return 14400.0 + + @duration.setter + def duration(self, val): + val = self._duration_validator.validate(val) + self._duration_value = val + self._duration_present = True + + @duration.deleter + def duration(self): + self._duration_value = None + self._duration_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTemporaryUploadLinkArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GetTemporaryUploadLinkArg(commit_info={!r}, duration={!r})'.format( + self._commit_info_value, + self._duration_value, + ) + +GetTemporaryUploadLinkArg_validator = bv.Struct(GetTemporaryUploadLinkArg) + +class GetTemporaryUploadLinkResult(bb.Struct): + """ + :ivar files.GetTemporaryUploadLinkResult.link: The temporary link which can + be used to stream a file to a Dropbox location. + """ + + __slots__ = [ + '_link_value', + '_link_present', + ] + + _has_required_fields = True + + def __init__(self, + link=None): + self._link_value = None + self._link_present = False + if link is not None: + self.link = link + + @property + def link(self): + """ + The temporary link which can be used to stream a file to a Dropbox + location. + + :rtype: str + """ + if self._link_present: + return self._link_value + else: + raise AttributeError("missing required field 'link'") + + @link.setter + def link(self, val): + val = self._link_validator.validate(val) + self._link_value = val + self._link_present = True + + @link.deleter + def link(self): + self._link_value = None + self._link_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTemporaryUploadLinkResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GetTemporaryUploadLinkResult(link={!r})'.format( + self._link_value, + ) + +GetTemporaryUploadLinkResult_validator = bv.Struct(GetTemporaryUploadLinkResult) + +class GetThumbnailBatchArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.files_get_thumbnail_batch`. - :ivar entries: List of files to get thumbnails. + :ivar files.GetThumbnailBatchArg.entries: List of files to get thumbnails. """ __slots__ = [ @@ -3134,6 +4992,9 @@ class GetThumbnailBatchArg(object): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetThumbnailBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetThumbnailBatchArg(entries={!r})'.format( self._entries_value, @@ -3147,7 +5008,8 @@ class GetThumbnailBatchError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar too_many_files: The operation involves more than 25 files. + :ivar files.GetThumbnailBatchError.too_many_files: The operation involves + more than 25 files. """ _catch_all = 'other' @@ -3172,14 +5034,18 @@ class GetThumbnailBatchError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetThumbnailBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetThumbnailBatchError(%r, %r)' % (self._tag, self._value) GetThumbnailBatchError_validator = bv.Union(GetThumbnailBatchError) -class GetThumbnailBatchResult(object): +class GetThumbnailBatchResult(bb.Struct): """ - :ivar entries: List of files and their thumbnails. + :ivar files.GetThumbnailBatchResult.entries: List of files and their + thumbnails. """ __slots__ = [ @@ -3219,6 +5085,9 @@ class GetThumbnailBatchResult(object): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetThumbnailBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetThumbnailBatchResult(entries={!r})'.format( self._entries_value, @@ -3226,7 +5095,11 @@ class GetThumbnailBatchResult(object): GetThumbnailBatchResult_validator = bv.Struct(GetThumbnailBatchResult) -class GetThumbnailBatchResultData(object): +class GetThumbnailBatchResultData(bb.Struct): + """ + :ivar files.GetThumbnailBatchResultData.thumbnail: A string containing the + base64-encoded thumbnail data for this file. + """ __slots__ = [ '_metadata_value', @@ -3273,6 +5146,8 @@ class GetThumbnailBatchResultData(object): @property def thumbnail(self): """ + A string containing the base64-encoded thumbnail data for this file. + :rtype: str """ if self._thumbnail_present: @@ -3291,6 +5166,9 @@ class GetThumbnailBatchResultData(object): self._thumbnail_value = None self._thumbnail_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetThumbnailBatchResultData, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetThumbnailBatchResultData(metadata={!r}, thumbnail={!r})'.format( self._metadata_value, @@ -3305,7 +5183,8 @@ class GetThumbnailBatchResultEntry(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar ThumbnailError failure: The result for this file if it was an error. + :ivar ThumbnailError GetThumbnailBatchResultEntry.failure: The result for + this file if it was an error. """ _catch_all = 'other' @@ -3380,17 +5259,20 @@ class GetThumbnailBatchResultEntry(bb.Union): raise AttributeError("tag 'failure' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetThumbnailBatchResultEntry, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetThumbnailBatchResultEntry(%r, %r)' % (self._tag, self._value) GetThumbnailBatchResultEntry_validator = bv.Union(GetThumbnailBatchResultEntry) -class GpsCoordinates(object): +class GpsCoordinates(bb.Struct): """ GPS coordinates for a photo or video. - :ivar latitude: Latitude of the GPS coordinates. - :ivar longitude: Longitude of the GPS coordinates. + :ivar files.GpsCoordinates.latitude: Latitude of the GPS coordinates. + :ivar files.GpsCoordinates.longitude: Longitude of the GPS coordinates. """ __slots__ = [ @@ -3460,6 +5342,9 @@ class GpsCoordinates(object): self._longitude_value = None self._longitude_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GpsCoordinates, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GpsCoordinates(latitude={!r}, longitude={!r})'.format( self._latitude_value, @@ -3468,29 +5353,36 @@ class GpsCoordinates(object): GpsCoordinates_validator = bv.Struct(GpsCoordinates) -class ListFolderArg(object): +class ListFolderArg(bb.Struct): """ - :ivar path: A unique identifier for the file. - :ivar recursive: If true, the list folder operation will be applied - recursively to all subfolders and the response will contain contents of - all subfolders. - :ivar include_media_info: If true, ``FileMetadata.media_info`` is set for - photo and video. - :ivar include_deleted: If true, the results will include entries for files - and folders that used to exist but were deleted. - :ivar include_has_explicit_shared_members: If true, the results will include - a flag for each file indicating whether or not that file has any - explicit members. - :ivar include_mounted_folders: If true, the results will include entries - under mounted folders which includes app folder, shared folder and team - folder. - :ivar limit: The maximum number of results to return per request. Note: This - is an approximate number and there can be slightly more entries returned - in some cases. - :ivar shared_link: A shared link to list the contents of. If the link is - password-protected, the password must be provided. If this field is - present, ``ListFolderArg.path`` will be relative to root of the shared - link. Only non-recursive mode is supported for shared link. + :ivar files.ListFolderArg.path: A unique identifier for the file. + :ivar files.ListFolderArg.recursive: If true, the list folder operation will + be applied recursively to all subfolders and the response will contain + contents of all subfolders. + :ivar files.ListFolderArg.include_media_info: If true, + ``FileMetadata.media_info`` is set for photo and video. This parameter + will no longer have an effect starting December 2, 2019. + :ivar files.ListFolderArg.include_deleted: If true, the results will include + entries for files and folders that used to exist but were deleted. + :ivar files.ListFolderArg.include_has_explicit_shared_members: If true, the + results will include a flag for each file indicating whether or not + that file has any explicit members. + :ivar files.ListFolderArg.include_mounted_folders: If true, the results will + include entries under mounted folders which includes app folder, shared + folder and team folder. + :ivar files.ListFolderArg.limit: The maximum number of results to return per + request. Note: This is an approximate number and there can be slightly + more entries returned in some cases. + :ivar files.ListFolderArg.shared_link: A shared link to list the contents + of. If the link is password-protected, the password must be provided. If + this field is present, ``ListFolderArg.path`` will be relative to root + of the shared link. Only non-recursive mode is supported for shared + link. + :ivar files.ListFolderArg.include_property_groups: If set to a valid list of + template IDs, ``FileMetadata.property_groups`` is set if there exists + property data associated with the file and each of the listed templates. + :ivar files.ListFolderArg.include_non_downloadable_files: If true, include + files that are not downloadable, i.e. Google Docs. """ __slots__ = [ @@ -3510,6 +5402,10 @@ class ListFolderArg(object): '_limit_present', '_shared_link_value', '_shared_link_present', + '_include_property_groups_value', + '_include_property_groups_present', + '_include_non_downloadable_files_value', + '_include_non_downloadable_files_present', ] _has_required_fields = True @@ -3522,7 +5418,9 @@ class ListFolderArg(object): include_has_explicit_shared_members=None, include_mounted_folders=None, limit=None, - shared_link=None): + shared_link=None, + include_property_groups=None, + include_non_downloadable_files=None): self._path_value = None self._path_present = False self._recursive_value = None @@ -3539,6 +5437,10 @@ class ListFolderArg(object): self._limit_present = False self._shared_link_value = None self._shared_link_present = False + self._include_property_groups_value = None + self._include_property_groups_present = False + self._include_non_downloadable_files_value = None + self._include_non_downloadable_files_present = False if path is not None: self.path = path if recursive is not None: @@ -3555,6 +5457,10 @@ class ListFolderArg(object): self.limit = limit if shared_link is not None: self.shared_link = shared_link + if include_property_groups is not None: + self.include_property_groups = include_property_groups + if include_non_downloadable_files is not None: + self.include_non_downloadable_files = include_non_downloadable_files @property def path(self): @@ -3606,7 +5512,8 @@ class ListFolderArg(object): @property def include_media_info(self): """ - If true, ``FileMetadata.media_info`` is set for photo and video. + If true, ``FileMetadata.media_info`` is set for photo and video. This + parameter will no longer have an effect starting December 2, 2019. :rtype: bool """ @@ -3705,7 +5612,7 @@ class ListFolderArg(object): approximate number and there can be slightly more entries returned in some cases. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -3755,8 +5662,62 @@ class ListFolderArg(object): self._shared_link_value = None self._shared_link_present = False + @property + def include_property_groups(self): + """ + If set to a valid list of template IDs, ``FileMetadata.property_groups`` + is set if there exists property data associated with the file and each + of the listed templates. + + :rtype: file_properties.TemplateFilterBase + """ + if self._include_property_groups_present: + return self._include_property_groups_value + else: + return None + + @include_property_groups.setter + def include_property_groups(self, val): + if val is None: + del self.include_property_groups + return + self._include_property_groups_validator.validate_type_only(val) + self._include_property_groups_value = val + self._include_property_groups_present = True + + @include_property_groups.deleter + def include_property_groups(self): + self._include_property_groups_value = None + self._include_property_groups_present = False + + @property + def include_non_downloadable_files(self): + """ + If true, include files that are not downloadable, i.e. Google Docs. + + :rtype: bool + """ + if self._include_non_downloadable_files_present: + return self._include_non_downloadable_files_value + else: + return True + + @include_non_downloadable_files.setter + def include_non_downloadable_files(self, val): + val = self._include_non_downloadable_files_validator.validate(val) + self._include_non_downloadable_files_value = val + self._include_non_downloadable_files_present = True + + @include_non_downloadable_files.deleter + def include_non_downloadable_files(self): + self._include_non_downloadable_files_value = None + self._include_non_downloadable_files_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'ListFolderArg(path={!r}, recursive={!r}, include_media_info={!r}, include_deleted={!r}, include_has_explicit_shared_members={!r}, include_mounted_folders={!r}, limit={!r}, shared_link={!r})'.format( + return 'ListFolderArg(path={!r}, recursive={!r}, include_media_info={!r}, include_deleted={!r}, include_has_explicit_shared_members={!r}, include_mounted_folders={!r}, limit={!r}, shared_link={!r}, include_property_groups={!r}, include_non_downloadable_files={!r})'.format( self._path_value, self._recursive_value, self._include_media_info_value, @@ -3765,14 +5726,16 @@ class ListFolderArg(object): self._include_mounted_folders_value, self._limit_value, self._shared_link_value, + self._include_property_groups_value, + self._include_non_downloadable_files_value, ) ListFolderArg_validator = bv.Struct(ListFolderArg) -class ListFolderContinueArg(object): +class ListFolderContinueArg(bb.Struct): """ - :ivar cursor: The cursor returned by your last call to - :meth:`dropbox.dropbox.Dropbox.files_list_folder` or + :ivar files.ListFolderContinueArg.cursor: The cursor returned by your last + call to :meth:`dropbox.dropbox.Dropbox.files_list_folder` or :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue`. """ @@ -3815,6 +5778,9 @@ class ListFolderContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderContinueArg(cursor={!r})'.format( self._cursor_value, @@ -3828,9 +5794,9 @@ class ListFolderContinueError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar reset: Indicates that the cursor has been invalidated. Call - :meth:`dropbox.dropbox.Dropbox.files_list_folder` to obtain a new - cursor. + :ivar files.ListFolderContinueError.reset: Indicates that the cursor has + been invalidated. Call :meth:`dropbox.dropbox.Dropbox.files_list_folder` + to obtain a new cursor. """ _catch_all = 'other' @@ -3884,6 +5850,9 @@ class ListFolderContinueError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderContinueError(%r, %r)' % (self._tag, self._value) @@ -3937,14 +5906,17 @@ class ListFolderError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderError(%r, %r)' % (self._tag, self._value) ListFolderError_validator = bv.Union(ListFolderError) -class ListFolderGetLatestCursorResult(object): +class ListFolderGetLatestCursorResult(bb.Struct): """ - :ivar cursor: Pass the cursor into + :ivar files.ListFolderGetLatestCursorResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to see what's changed in the folder since your previous query. """ @@ -3988,6 +5960,9 @@ class ListFolderGetLatestCursorResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderGetLatestCursorResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderGetLatestCursorResult(cursor={!r})'.format( self._cursor_value, @@ -3995,18 +5970,18 @@ class ListFolderGetLatestCursorResult(object): ListFolderGetLatestCursorResult_validator = bv.Struct(ListFolderGetLatestCursorResult) -class ListFolderLongpollArg(object): +class ListFolderLongpollArg(bb.Struct): """ - :ivar cursor: A cursor as returned by + :ivar files.ListFolderLongpollArg.cursor: A cursor as returned by :meth:`dropbox.dropbox.Dropbox.files_list_folder` or :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue`. Cursors retrieved by setting ``ListFolderArg.include_media_info`` to ``True`` are not supported. - :ivar timeout: A timeout in seconds. The request will block for at most this - length of time, plus up to 90 seconds of random jitter added to avoid - the thundering herd problem. Care should be taken when using this - parameter, as some network infrastructure does not support long - timeouts. + :ivar files.ListFolderLongpollArg.timeout: A timeout in seconds. The request + will block for at most this length of time, plus up to 90 seconds of + random jitter added to avoid the thundering herd problem. Care should be + taken when using this parameter, as some network infrastructure does not + support long timeouts. """ __slots__ = [ @@ -4065,7 +6040,7 @@ class ListFolderLongpollArg(object): thundering herd problem. Care should be taken when using this parameter, as some network infrastructure does not support long timeouts. - :rtype: long + :rtype: int """ if self._timeout_present: return self._timeout_value @@ -4083,6 +6058,9 @@ class ListFolderLongpollArg(object): self._timeout_value = None self._timeout_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderLongpollArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderLongpollArg(cursor={!r}, timeout={!r})'.format( self._cursor_value, @@ -4097,9 +6075,9 @@ class ListFolderLongpollError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar reset: Indicates that the cursor has been invalidated. Call - :meth:`dropbox.dropbox.Dropbox.files_list_folder` to obtain a new - cursor. + :ivar files.ListFolderLongpollError.reset: Indicates that the cursor has + been invalidated. Call :meth:`dropbox.dropbox.Dropbox.files_list_folder` + to obtain a new cursor. """ _catch_all = 'other' @@ -4124,19 +6102,23 @@ class ListFolderLongpollError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderLongpollError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderLongpollError(%r, %r)' % (self._tag, self._value) ListFolderLongpollError_validator = bv.Union(ListFolderLongpollError) -class ListFolderLongpollResult(object): +class ListFolderLongpollResult(bb.Struct): """ - :ivar changes: Indicates whether new changes are available. If true, call + :ivar files.ListFolderLongpollResult.changes: Indicates whether new changes + are available. If true, call :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to retrieve the changes. - :ivar backoff: If present, backoff for at least this many seconds before - calling :meth:`dropbox.dropbox.Dropbox.files_list_folder_longpoll` - again. + :ivar files.ListFolderLongpollResult.backoff: If present, backoff for at + least this many seconds before calling + :meth:`dropbox.dropbox.Dropbox.files_list_folder_longpoll` again. """ __slots__ = [ @@ -4191,7 +6173,7 @@ class ListFolderLongpollResult(object): If present, backoff for at least this many seconds before calling :meth:`dropbox.dropbox.Dropbox.files_list_folder_longpoll` again. - :rtype: long + :rtype: int """ if self._backoff_present: return self._backoff_value @@ -4212,6 +6194,9 @@ class ListFolderLongpollResult(object): self._backoff_value = None self._backoff_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderLongpollResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderLongpollResult(changes={!r}, backoff={!r})'.format( self._changes_value, @@ -4220,15 +6205,17 @@ class ListFolderLongpollResult(object): ListFolderLongpollResult_validator = bv.Struct(ListFolderLongpollResult) -class ListFolderResult(object): +class ListFolderResult(bb.Struct): """ - :ivar entries: The files and (direct) subfolders in the folder. - :ivar cursor: Pass the cursor into + :ivar files.ListFolderResult.entries: The files and (direct) subfolders in + the folder. + :ivar files.ListFolderResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to see what's changed in the folder since your previous query. - :ivar has_more: If true, then there are more entries available. Pass the - cursor to :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to - retrieve the rest. + :ivar files.ListFolderResult.has_more: If true, then there are more entries + available. Pass the cursor to + :meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to retrieve + the rest. """ __slots__ = [ @@ -4332,6 +6319,9 @@ class ListFolderResult(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderResult(entries={!r}, cursor={!r}, has_more={!r})'.format( self._entries_value, @@ -4341,12 +6331,14 @@ class ListFolderResult(object): ListFolderResult_validator = bv.Struct(ListFolderResult) -class ListRevisionsArg(object): +class ListRevisionsArg(bb.Struct): """ - :ivar path: The path to the file you want to see the revisions of. - :ivar mode: Determines the behavior of the API in listing the revisions for - a given file path or id. - :ivar limit: The maximum number of revision entries returned. + :ivar files.ListRevisionsArg.path: The path to the file you want to see the + revisions of. + :ivar files.ListRevisionsArg.mode: Determines the behavior of the API in + listing the revisions for a given file path or id. + :ivar files.ListRevisionsArg.limit: The maximum number of revision entries + returned. """ __slots__ = [ @@ -4429,7 +6421,7 @@ class ListRevisionsArg(object): """ The maximum number of revision entries returned. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -4447,6 +6439,9 @@ class ListRevisionsArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListRevisionsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListRevisionsArg(path={!r}, mode={!r}, limit={!r})'.format( self._path_value, @@ -4504,6 +6499,9 @@ class ListRevisionsError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListRevisionsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListRevisionsError(%r, %r)' % (self._tag, self._value) @@ -4515,10 +6513,11 @@ class ListRevisionsMode(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar path: Returns revisions with the same file path as identified by the - latest file entry at the given file path or id. - :ivar id: Returns revisions with the same file id as identified by the - latest file entry at the given file path or id. + :ivar files.ListRevisionsMode.path: Returns revisions with the same file + path as identified by the latest file entry at the given file path or + id. + :ivar files.ListRevisionsMode.id: Returns revisions with the same file id as + identified by the latest file entry at the given file path or id. """ _catch_all = 'other' @@ -4553,18 +6552,22 @@ class ListRevisionsMode(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListRevisionsMode, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListRevisionsMode(%r, %r)' % (self._tag, self._value) ListRevisionsMode_validator = bv.Union(ListRevisionsMode) -class ListRevisionsResult(object): +class ListRevisionsResult(bb.Struct): """ - :ivar is_deleted: If the file identified by the latest revision in the - response is either deleted or moved. - :ivar server_deleted: The time of deletion if the file was deleted. - :ivar entries: The revisions for the file. Only revisions that are not - deleted will show up here. + :ivar files.ListRevisionsResult.is_deleted: If the file identified by the + latest revision in the response is either deleted or moved. + :ivar files.ListRevisionsResult.server_deleted: The time of deletion if the + file was deleted. + :ivar files.ListRevisionsResult.entries: The revisions for the file. Only + revisions that are not deleted will show up here. """ __slots__ = [ @@ -4669,6 +6672,9 @@ class ListRevisionsResult(object): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListRevisionsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListRevisionsResult(is_deleted={!r}, entries={!r}, server_deleted={!r})'.format( self._is_deleted_value, @@ -4684,14 +6690,21 @@ class LookupError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar not_found: There is nothing at the given path. - :ivar not_file: We were expecting a file, but the given path refers to - something that isn't a file. - :ivar not_folder: We were expecting a folder, but the given path refers to - something that isn't a folder. - :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 Optional[str] files.LookupError.malformed_path: The given path does + not satisfy the required path format. Please refer to the :link:`Path + formats documentation + https://www.dropbox.com/developers/documentation/http/documentation#path-formats` + for more information. + :ivar files.LookupError.not_found: There is nothing at the given path. + :ivar files.LookupError.not_file: We were expecting a file, but the given + path refers to something that isn't a file. + :ivar files.LookupError.not_folder: We were expecting a folder, but the + given path refers to something that isn't a folder. + :ivar files.LookupError.restricted_content: The file cannot be transferred + because the content is restricted. For example, sometimes there are + legal restrictions due to copyright claims. + :ivar files.LookupError.unsupported_content_type: This operation is not + supported for this content type. """ _catch_all = 'other' @@ -4704,6 +6717,8 @@ class LookupError(bb.Union): # Attribute is overwritten below the class definition restricted_content = None # Attribute is overwritten below the class definition + unsupported_content_type = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -4757,6 +6772,14 @@ class LookupError(bb.Union): """ return self._tag == 'restricted_content' + def is_unsupported_content_type(self): + """ + Check if the union tag is ``unsupported_content_type``. + + :rtype: bool + """ + return self._tag == 'unsupported_content_type' + def is_other(self): """ Check if the union tag is ``other``. @@ -4767,6 +6790,11 @@ class LookupError(bb.Union): def get_malformed_path(self): """ + The given path does not satisfy the required path format. Please refer + to the `Path formats documentation + `_ + for more information. + Only call this if :meth:`is_malformed_path` is true. :rtype: Optional[str] @@ -4775,6 +6803,9 @@ class LookupError(bb.Union): raise AttributeError("tag 'malformed_path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LookupError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LookupError(%r, %r)' % (self._tag, self._value) @@ -4786,9 +6817,9 @@ class MediaInfo(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar pending: Indicate the photo/video is still under processing and - metadata is not available yet. - :ivar MediaMetadata metadata: The metadata for the photo/video. + :ivar files.MediaInfo.pending: Indicate the photo/video is still under + processing and metadata is not available yet. + :ivar MediaMetadata MediaInfo.metadata: The metadata for the photo/video. """ _catch_all = None @@ -4834,18 +6865,22 @@ class MediaInfo(bb.Union): raise AttributeError("tag 'metadata' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MediaInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MediaInfo(%r, %r)' % (self._tag, self._value) MediaInfo_validator = bv.Union(MediaInfo) -class MediaMetadata(object): +class MediaMetadata(bb.Struct): """ Metadata for a photo or video. - :ivar dimensions: Dimension of the photo/video. - :ivar location: The GPS coordinate of the photo/video. - :ivar time_taken: The timestamp when the photo/video is taken. + :ivar files.MediaMetadata.dimensions: Dimension of the photo/video. + :ivar files.MediaMetadata.location: The GPS coordinate of the photo/video. + :ivar files.MediaMetadata.time_taken: The timestamp when the photo/video is + taken. """ __slots__ = [ @@ -4954,6 +6989,9 @@ class MediaMetadata(object): self._time_taken_value = None self._time_taken_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MediaMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MediaMetadata(dimensions={!r}, location={!r}, time_taken={!r})'.format( self._dimensions_value, @@ -4963,6 +7001,156 @@ class MediaMetadata(object): MediaMetadata_validator = bv.StructTree(MediaMetadata) +class RelocationBatchArgBase(bb.Struct): + """ + :ivar files.RelocationBatchArgBase.entries: List of entries to be moved or + copied. Each entry is :class:`RelocationPath`. + :ivar files.RelocationBatchArgBase.autorename: If there's a conflict with + any file, have the Dropbox server try to autorename that file to avoid + the conflict. + """ + + __slots__ = [ + '_entries_value', + '_entries_present', + '_autorename_value', + '_autorename_present', + ] + + _has_required_fields = True + + def __init__(self, + entries=None, + autorename=None): + self._entries_value = None + self._entries_present = False + self._autorename_value = None + self._autorename_present = False + if entries is not None: + self.entries = entries + if autorename is not None: + self.autorename = autorename + + @property + def entries(self): + """ + List of entries to be moved or copied. Each entry is + :class:`RelocationPath`. + + :rtype: list of [RelocationPath] + """ + if self._entries_present: + return self._entries_value + else: + raise AttributeError("missing required field 'entries'") + + @entries.setter + def entries(self, val): + val = self._entries_validator.validate(val) + self._entries_value = val + self._entries_present = True + + @entries.deleter + def entries(self): + self._entries_value = None + self._entries_present = False + + @property + def autorename(self): + """ + If there's a conflict with any file, have the Dropbox server try to + autorename that file to avoid the conflict. + + :rtype: bool + """ + if self._autorename_present: + return self._autorename_value + else: + return False + + @autorename.setter + def autorename(self, val): + val = self._autorename_validator.validate(val) + self._autorename_value = val + self._autorename_present = True + + @autorename.deleter + def autorename(self): + self._autorename_value = None + self._autorename_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchArgBase, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RelocationBatchArgBase(entries={!r}, autorename={!r})'.format( + self._entries_value, + self._autorename_value, + ) + +RelocationBatchArgBase_validator = bv.Struct(RelocationBatchArgBase) + +class MoveBatchArg(RelocationBatchArgBase): + """ + :ivar files.MoveBatchArg.allow_ownership_transfer: Allow moves by owner even + if it would result in an ownership transfer for the content being moved. + This does not apply to copies. + """ + + __slots__ = [ + '_allow_ownership_transfer_value', + '_allow_ownership_transfer_present', + ] + + _has_required_fields = True + + def __init__(self, + entries=None, + autorename=None, + allow_ownership_transfer=None): + super(MoveBatchArg, self).__init__(entries, + autorename) + self._allow_ownership_transfer_value = None + self._allow_ownership_transfer_present = False + if allow_ownership_transfer is not None: + self.allow_ownership_transfer = allow_ownership_transfer + + @property + def allow_ownership_transfer(self): + """ + Allow moves by owner even if it would result in an ownership transfer + for the content being moved. This does not apply to copies. + + :rtype: bool + """ + if self._allow_ownership_transfer_present: + return self._allow_ownership_transfer_value + else: + return False + + @allow_ownership_transfer.setter + def allow_ownership_transfer(self, val): + val = self._allow_ownership_transfer_validator.validate(val) + self._allow_ownership_transfer_value = val + self._allow_ownership_transfer_present = True + + @allow_ownership_transfer.deleter + def allow_ownership_transfer(self): + self._allow_ownership_transfer_value = None + self._allow_ownership_transfer_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MoveBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MoveBatchArg(entries={!r}, autorename={!r}, allow_ownership_transfer={!r})'.format( + self._entries_value, + self._autorename_value, + self._allow_ownership_transfer_value, + ) + +MoveBatchArg_validator = bv.Struct(MoveBatchArg) + class PhotoMetadata(MediaMetadata): """ Metadata for a photo. @@ -4981,6 +7169,9 @@ class PhotoMetadata(MediaMetadata): location, time_taken) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PhotoMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PhotoMetadata(dimensions={!r}, location={!r}, time_taken={!r})'.format( self._dimensions_value, @@ -4990,10 +7181,10 @@ class PhotoMetadata(MediaMetadata): PhotoMetadata_validator = bv.Struct(PhotoMetadata) -class PreviewArg(object): +class PreviewArg(bb.Struct): """ - :ivar path: The path of the file to preview. - :ivar rev: Please specify revision in ``path`` instead. + :ivar files.PreviewArg.path: The path of the file to preview. + :ivar files.PreviewArg.rev: Please specify revision in ``path`` instead. """ __slots__ = [ @@ -5066,6 +7257,9 @@ class PreviewArg(object): self._rev_value = None self._rev_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PreviewArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PreviewArg(path={!r}, rev={!r})'.format( self._path_value, @@ -5080,14 +7274,14 @@ class PreviewError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar LookupError path: An error occurs when downloading metadata for the - file. - :ivar in_progress: This preview generation is still in progress and the file - is not ready for preview yet. - :ivar unsupported_extension: The file extension is not supported preview - generation. - :ivar unsupported_content: The file content is not supported for preview - generation. + :ivar LookupError PreviewError.path: An error occurs when downloading + metadata for the file. + :ivar files.PreviewError.in_progress: This preview generation is still in + progress and the file is not ready for preview yet. + :ivar files.PreviewError.unsupported_extension: The file extension is not + supported preview generation. + :ivar files.PreviewError.unsupported_content: The file content is not + supported for preview generation. """ _catch_all = None @@ -5153,15 +7347,20 @@ class PreviewError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PreviewError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PreviewError(%r, %r)' % (self._tag, self._value) PreviewError_validator = bv.Union(PreviewError) -class RelocationPath(object): +class RelocationPath(bb.Struct): """ - :ivar from_path: Path in the user's Dropbox to be copied or moved. - :ivar to_path: Path in the user's Dropbox that is the destination. + :ivar files.RelocationPath.from_path: Path in the user's Dropbox to be + copied or moved. + :ivar files.RelocationPath.to_path: Path in the user's Dropbox that is the + destination. """ __slots__ = [ @@ -5231,6 +7430,9 @@ class RelocationPath(object): self._to_path_value = None self._to_path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationPath, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationPath(from_path={!r}, to_path={!r})'.format( self._from_path_value, @@ -5241,16 +7443,16 @@ RelocationPath_validator = bv.Struct(RelocationPath) class RelocationArg(RelocationPath): """ - :ivar allow_shared_folder: If true, + :ivar files.RelocationArg.allow_shared_folder: If true, :meth:`dropbox.dropbox.Dropbox.files_copy` will copy contents in shared folder, otherwise ``RelocationError.cant_copy_shared_folder`` will be returned if ``from_path`` contains shared folder. This field is always true for :meth:`dropbox.dropbox.Dropbox.files_move`. - :ivar autorename: If there's a conflict, have the Dropbox server try to - autorename the file to avoid the conflict. - :ivar allow_ownership_transfer: Allow moves by owner even if it would result - in an ownership transfer for the content being moved. This does not - apply to copies. + :ivar files.RelocationArg.autorename: If there's a conflict, have the + Dropbox server try to autorename the file to avoid the conflict. + :ivar files.RelocationArg.allow_ownership_transfer: Allow moves by owner + even if it would result in an ownership transfer for the content being + moved. This does not apply to copies. """ __slots__ = [ @@ -5359,6 +7561,9 @@ class RelocationArg(RelocationPath): self._allow_ownership_transfer_value = None self._allow_ownership_transfer_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationArg(from_path={!r}, to_path={!r}, allow_shared_folder={!r}, autorename={!r}, allow_ownership_transfer={!r})'.format( self._from_path_value, @@ -5370,30 +7575,22 @@ class RelocationArg(RelocationPath): RelocationArg_validator = bv.Struct(RelocationArg) -class RelocationBatchArg(object): +class RelocationBatchArg(RelocationBatchArgBase): """ - :ivar entries: List of entries to be moved or copied. Each entry is - :class:`RelocationPath`. - :ivar allow_shared_folder: If true, + :ivar files.RelocationBatchArg.allow_shared_folder: If true, :meth:`dropbox.dropbox.Dropbox.files_copy_batch` will copy contents in shared folder, otherwise ``RelocationError.cant_copy_shared_folder`` will be returned if ``RelocationPath.from_path`` contains shared folder. This field is always true for :meth:`dropbox.dropbox.Dropbox.files_move_batch`. - :ivar autorename: If there's a conflict with any file, have the Dropbox - server try to autorename that file to avoid the conflict. - :ivar allow_ownership_transfer: Allow moves by owner even if it would result - in an ownership transfer for the content being moved. This does not - apply to copies. + :ivar files.RelocationBatchArg.allow_ownership_transfer: Allow moves by + owner even if it would result in an ownership transfer for the content + being moved. This does not apply to copies. """ __slots__ = [ - '_entries_value', - '_entries_present', '_allow_shared_folder_value', '_allow_shared_folder_present', - '_autorename_value', - '_autorename_present', '_allow_ownership_transfer_value', '_allow_ownership_transfer_present', ] @@ -5402,57 +7599,27 @@ class RelocationBatchArg(object): def __init__(self, entries=None, - allow_shared_folder=None, autorename=None, + allow_shared_folder=None, allow_ownership_transfer=None): - self._entries_value = None - self._entries_present = False + super(RelocationBatchArg, self).__init__(entries, + autorename) self._allow_shared_folder_value = None self._allow_shared_folder_present = False - self._autorename_value = None - self._autorename_present = False self._allow_ownership_transfer_value = None self._allow_ownership_transfer_present = False - if entries is not None: - self.entries = entries if allow_shared_folder is not None: self.allow_shared_folder = allow_shared_folder - if autorename is not None: - self.autorename = autorename if allow_ownership_transfer is not None: self.allow_ownership_transfer = allow_ownership_transfer - @property - def entries(self): - """ - List of entries to be moved or copied. Each entry is - :class:`RelocationPath`. - - :rtype: list of [RelocationPath] - """ - if self._entries_present: - return self._entries_value - else: - raise AttributeError("missing required field 'entries'") - - @entries.setter - def entries(self, val): - val = self._entries_validator.validate(val) - self._entries_value = val - self._entries_present = True - - @entries.deleter - def entries(self): - self._entries_value = None - self._entries_present = False - @property def allow_shared_folder(self): """ If true, :meth:`dropbox.dropbox.Dropbox.files_copy_batch` will copy contents in shared folder, otherwise ``RelocationError.cant_copy_shared_folder`` will be returned if - ``RelocationPath.from_path`` contains shared folder. This field is + ``RelocationPath.from_path`` contains shared folder. This field is always true for :meth:`dropbox.dropbox.Dropbox.files_move_batch`. :rtype: bool @@ -5473,30 +7640,6 @@ class RelocationBatchArg(object): self._allow_shared_folder_value = None self._allow_shared_folder_present = False - @property - def autorename(self): - """ - If there's a conflict with any file, have the Dropbox server try to - autorename that file to avoid the conflict. - - :rtype: bool - """ - if self._autorename_present: - return self._autorename_value - else: - return False - - @autorename.setter - def autorename(self, val): - val = self._autorename_validator.validate(val) - self._autorename_value = val - self._autorename_present = True - - @autorename.deleter - def autorename(self): - self._autorename_value = None - self._autorename_present = False - @property def allow_ownership_transfer(self): """ @@ -5521,11 +7664,14 @@ class RelocationBatchArg(object): self._allow_ownership_transfer_value = None self._allow_ownership_transfer_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'RelocationBatchArg(entries={!r}, allow_shared_folder={!r}, autorename={!r}, allow_ownership_transfer={!r})'.format( + return 'RelocationBatchArg(entries={!r}, autorename={!r}, allow_shared_folder={!r}, allow_ownership_transfer={!r})'.format( self._entries_value, - self._allow_shared_folder_value, self._autorename_value, + self._allow_shared_folder_value, self._allow_ownership_transfer_value, ) @@ -5537,17 +7683,27 @@ class RelocationError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar cant_copy_shared_folder: Shared folders can't be copied. - :ivar cant_nest_shared_folder: Your move operation would result in nested - shared folders. This is not allowed. - :ivar cant_move_folder_into_itself: You cannot move a folder into itself. - :ivar too_many_files: The operation would involve more than 10,000 files and - folders. - :ivar duplicated_or_nested_paths: There are duplicated/nested paths among - ``RelocationArg.from_path`` and ``RelocationArg.to_path``. - :ivar cant_transfer_ownership: Your move operation would result in an - ownership transfer. You may reissue the request with the field - ``RelocationArg.allow_ownership_transfer`` to true. + :ivar files.RelocationError.cant_copy_shared_folder: Shared folders can't be + copied. + :ivar files.RelocationError.cant_nest_shared_folder: Your move operation + would result in nested shared folders. This is not allowed. + :ivar files.RelocationError.cant_move_folder_into_itself: You cannot move a + folder into itself. + :ivar files.RelocationError.too_many_files: The operation would involve more + than 10,000 files and folders. + :ivar files.RelocationError.duplicated_or_nested_paths: There are + duplicated/nested paths among ``RelocationArg.from_path`` and + ``RelocationArg.to_path``. + :ivar files.RelocationError.cant_transfer_ownership: Your move operation + would result in an ownership transfer. You may reissue the request with + the field ``RelocationArg.allow_ownership_transfer`` to true. + :ivar files.RelocationError.insufficient_quota: The current user does not + have enough space to move or copy the files. + :ivar files.RelocationError.internal_error: Something went wrong with the + job on Dropbox's end. You'll need to verify that the action you were + taking succeeded, and if not, try again. This should happen very rarely. + :ivar files.RelocationError.cant_move_shared_folder: Can't move the shared + folder to the given destination. """ _catch_all = 'other' @@ -5564,6 +7720,12 @@ class RelocationError(bb.Union): # Attribute is overwritten below the class definition cant_transfer_ownership = None # Attribute is overwritten below the class definition + insufficient_quota = None + # Attribute is overwritten below the class definition + internal_error = None + # Attribute is overwritten below the class definition + cant_move_shared_folder = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -5671,6 +7833,30 @@ class RelocationError(bb.Union): """ return self._tag == 'cant_transfer_ownership' + def is_insufficient_quota(self): + """ + Check if the union tag is ``insufficient_quota``. + + :rtype: bool + """ + return self._tag == 'insufficient_quota' + + def is_internal_error(self): + """ + Check if the union tag is ``internal_error``. + + :rtype: bool + """ + return self._tag == 'internal_error' + + def is_cant_move_shared_folder(self): + """ + Check if the union tag is ``cant_move_shared_folder``. + + :rtype: bool + """ + return self._tag == 'cant_move_shared_folder' + def is_other(self): """ Check if the union tag is ``other``. @@ -5709,6 +7895,9 @@ class RelocationError(bb.Union): raise AttributeError("tag 'to' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationError(%r, %r)' % (self._tag, self._value) @@ -5720,8 +7909,8 @@ class RelocationBatchError(RelocationError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar too_many_write_operations: There are too many write operations in - user's Dropbox. Please retry this request. + :ivar files.RelocationBatchError.too_many_write_operations: There are too + many write operations in user's Dropbox. Please retry this request. """ # Attribute is overwritten below the class definition @@ -5735,21 +7924,111 @@ class RelocationBatchError(RelocationError): """ return self._tag == 'too_many_write_operations' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationBatchError(%r, %r)' % (self._tag, self._value) RelocationBatchError_validator = bv.Union(RelocationBatchError) -class RelocationBatchJobStatus(async.PollResultBase): +class RelocationBatchErrorEntry(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 RelocationBatchResult complete: The copy or move batch job has - finished. - :ivar RelocationBatchError failed: The copy or move batch job has failed - with exception. + :ivar RelocationError RelocationBatchErrorEntry.relocation_error: User + errors that retry won't help. + :ivar files.RelocationBatchErrorEntry.internal_error: Something went wrong + with the job on Dropbox's end. You'll need to verify that the action you + were taking succeeded, and if not, try again. This should happen very + rarely. + :ivar files.RelocationBatchErrorEntry.too_many_write_operations: There are + too many write operations in user's Dropbox. Please retry this request. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + internal_error = None + # Attribute is overwritten below the class definition + too_many_write_operations = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def relocation_error(cls, val): + """ + Create an instance of this class set to the ``relocation_error`` tag + with value ``val``. + + :param RelocationError val: + :rtype: RelocationBatchErrorEntry + """ + return cls('relocation_error', val) + + def is_relocation_error(self): + """ + Check if the union tag is ``relocation_error``. + + :rtype: bool + """ + return self._tag == 'relocation_error' + + def is_internal_error(self): + """ + Check if the union tag is ``internal_error``. + + :rtype: bool + """ + return self._tag == 'internal_error' + + 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``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_relocation_error(self): + """ + User errors that retry won't help. + + Only call this if :meth:`is_relocation_error` is true. + + :rtype: RelocationError + """ + if not self.is_relocation_error(): + raise AttributeError("tag 'relocation_error' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchErrorEntry, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RelocationBatchErrorEntry(%r, %r)' % (self._tag, self._value) + +RelocationBatchErrorEntry_validator = bv.Union(RelocationBatchErrorEntry) + +class RelocationBatchJobStatus(async_.PollResultBase): + """ + 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 RelocationBatchResult RelocationBatchJobStatus.complete: The copy or + move batch job has finished. + :ivar RelocationBatchError RelocationBatchJobStatus.failed: The copy or move + batch job has failed with exception. """ @classmethod @@ -5814,12 +8093,15 @@ class RelocationBatchJobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationBatchJobStatus(%r, %r)' % (self._tag, self._value) RelocationBatchJobStatus_validator = bv.Union(RelocationBatchJobStatus) -class RelocationBatchLaunch(async.LaunchResultBase): +class RelocationBatchLaunch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox.Dropbox.files_copy_batch` or :meth:`dropbox.dropbox.Dropbox.files_move_batch` that may either launch an @@ -5871,6 +8153,9 @@ class RelocationBatchLaunch(async.LaunchResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchLaunch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationBatchLaunch(%r, %r)' % (self._tag, self._value) @@ -5914,6 +8199,9 @@ class RelocationBatchResult(FileOpsResult): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationBatchResult(entries={!r})'.format( self._entries_value, @@ -5921,9 +8209,10 @@ class RelocationBatchResult(FileOpsResult): RelocationBatchResult_validator = bv.Struct(RelocationBatchResult) -class RelocationBatchResultData(object): +class RelocationBatchResultData(bb.Struct): """ - :ivar metadata: Metadata of the relocated object. + :ivar files.RelocationBatchResultData.metadata: Metadata of the relocated + object. """ __slots__ = [ @@ -5963,6 +8252,9 @@ class RelocationBatchResultData(object): self._metadata_value = None self._metadata_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchResultData, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationBatchResultData(metadata={!r})'.format( self._metadata_value, @@ -5970,9 +8262,251 @@ class RelocationBatchResultData(object): RelocationBatchResultData_validator = bv.Struct(RelocationBatchResultData) +class RelocationBatchResultEntry(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 + other = None + + @classmethod + def success(cls, val): + """ + Create an instance of this class set to the ``success`` tag with value + ``val``. + + :param Metadata val: + :rtype: RelocationBatchResultEntry + """ + return cls('success', val) + + @classmethod + def failure(cls, val): + """ + Create an instance of this class set to the ``failure`` tag with value + ``val``. + + :param RelocationBatchErrorEntry val: + :rtype: RelocationBatchResultEntry + """ + return cls('failure', val) + + def is_success(self): + """ + Check if the union tag is ``success``. + + :rtype: bool + """ + return self._tag == 'success' + + def is_failure(self): + """ + Check if the union tag is ``failure``. + + :rtype: bool + """ + return self._tag == 'failure' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_success(self): + """ + Only call this if :meth:`is_success` is true. + + :rtype: Metadata + """ + if not self.is_success(): + raise AttributeError("tag 'success' not set") + return self._value + + def get_failure(self): + """ + Only call this if :meth:`is_failure` is true. + + :rtype: RelocationBatchErrorEntry + """ + if not self.is_failure(): + raise AttributeError("tag 'failure' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchResultEntry, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RelocationBatchResultEntry(%r, %r)' % (self._tag, self._value) + +RelocationBatchResultEntry_validator = bv.Union(RelocationBatchResultEntry) + +class RelocationBatchV2JobStatus(async_.PollResultBase): + """ + Result returned by :meth:`dropbox.dropbox.Dropbox.files_copy_batch_check` or + :meth:`dropbox.dropbox.Dropbox.files_move_batch_check` that may either be in + progress or completed with result for each entry. + + 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 RelocationBatchV2Result RelocationBatchV2JobStatus.complete: The copy + or move batch job has finished. + """ + + @classmethod + def complete(cls, val): + """ + Create an instance of this class set to the ``complete`` tag with value + ``val``. + + :param RelocationBatchV2Result val: + :rtype: RelocationBatchV2JobStatus + """ + return cls('complete', val) + + def is_complete(self): + """ + Check if the union tag is ``complete``. + + :rtype: bool + """ + return self._tag == 'complete' + + def get_complete(self): + """ + The copy or move batch job has finished. + + Only call this if :meth:`is_complete` is true. + + :rtype: RelocationBatchV2Result + """ + if not self.is_complete(): + raise AttributeError("tag 'complete' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchV2JobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RelocationBatchV2JobStatus(%r, %r)' % (self._tag, self._value) + +RelocationBatchV2JobStatus_validator = bv.Union(RelocationBatchV2JobStatus) + +class RelocationBatchV2Launch(async_.LaunchResultBase): + """ + Result returned by :meth:`dropbox.dropbox.Dropbox.files_copy_batch` or + :meth:`dropbox.dropbox.Dropbox.files_move_batch` that may either launch an + asynchronous job or complete synchronously. + + 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. + """ + + @classmethod + def complete(cls, val): + """ + Create an instance of this class set to the ``complete`` tag with value + ``val``. + + :param RelocationBatchV2Result val: + :rtype: RelocationBatchV2Launch + """ + return cls('complete', val) + + def is_complete(self): + """ + Check if the union tag is ``complete``. + + :rtype: bool + """ + return self._tag == 'complete' + + def get_complete(self): + """ + Only call this if :meth:`is_complete` is true. + + :rtype: RelocationBatchV2Result + """ + if not self.is_complete(): + raise AttributeError("tag 'complete' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchV2Launch, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RelocationBatchV2Launch(%r, %r)' % (self._tag, self._value) + +RelocationBatchV2Launch_validator = bv.Union(RelocationBatchV2Launch) + +class RelocationBatchV2Result(FileOpsResult): + """ + :ivar files.RelocationBatchV2Result.entries: Each entry in + CopyBatchArg.entries or ``MoveBatchArg.entries`` will appear at the same + position inside ``RelocationBatchV2Result.entries``. + """ + + __slots__ = [ + '_entries_value', + '_entries_present', + ] + + _has_required_fields = True + + def __init__(self, + entries=None): + super(RelocationBatchV2Result, self).__init__() + self._entries_value = None + self._entries_present = False + if entries is not None: + self.entries = entries + + @property + def entries(self): + """ + Each entry in CopyBatchArg.entries or ``MoveBatchArg.entries`` will + appear at the same position inside ``RelocationBatchV2Result.entries``. + + :rtype: list of [RelocationBatchResultEntry] + """ + if self._entries_present: + return self._entries_value + else: + raise AttributeError("missing required field 'entries'") + + @entries.setter + def entries(self, val): + val = self._entries_validator.validate(val) + self._entries_value = val + self._entries_present = True + + @entries.deleter + def entries(self): + self._entries_value = None + self._entries_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationBatchV2Result, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RelocationBatchV2Result(entries={!r})'.format( + self._entries_value, + ) + +RelocationBatchV2Result_validator = bv.Struct(RelocationBatchV2Result) + class RelocationResult(FileOpsResult): """ - :ivar metadata: Metadata of the relocated object. + :ivar files.RelocationResult.metadata: Metadata of the relocated object. """ __slots__ = [ @@ -6013,6 +8547,9 @@ class RelocationResult(FileOpsResult): self._metadata_value = None self._metadata_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocationResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocationResult(metadata={!r})'.format( self._metadata_value, @@ -6020,10 +8557,10 @@ class RelocationResult(FileOpsResult): RelocationResult_validator = bv.Struct(RelocationResult) -class RestoreArg(object): +class RestoreArg(bb.Struct): """ - :ivar path: The path to the file you want to restore. - :ivar rev: The revision to restore for the file. + :ivar files.RestoreArg.path: The path to save the restored file. + :ivar files.RestoreArg.rev: The revision to restore. """ __slots__ = [ @@ -6050,7 +8587,7 @@ class RestoreArg(object): @property def path(self): """ - The path to the file you want to restore. + The path to save the restored file. :rtype: str """ @@ -6073,7 +8610,7 @@ class RestoreArg(object): @property def rev(self): """ - The revision to restore for the file. + The revision to restore. :rtype: str """ @@ -6093,6 +8630,9 @@ class RestoreArg(object): self._rev_value = None self._rev_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RestoreArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RestoreArg(path={!r}, rev={!r})'.format( self._path_value, @@ -6107,12 +8647,12 @@ class RestoreError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar LookupError path_lookup: An error occurs when downloading metadata for - the file. - :ivar WriteError path_write: An error occurs when trying to restore the file - to that path. - :ivar invalid_revision: The revision is invalid. It may point to a different - file. + :ivar LookupError RestoreError.path_lookup: An error occurs when downloading + metadata for the file. + :ivar WriteError RestoreError.path_write: An error occurs when trying to + restore the file to that path. + :ivar files.RestoreError.invalid_revision: The revision is invalid. It may + not exist. """ _catch_all = 'other' @@ -6199,16 +8739,20 @@ class RestoreError(bb.Union): raise AttributeError("tag 'path_write' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RestoreError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RestoreError(%r, %r)' % (self._tag, self._value) RestoreError_validator = bv.Union(RestoreError) -class SaveCopyReferenceArg(object): +class SaveCopyReferenceArg(bb.Struct): """ - :ivar copy_reference: A copy reference returned by - :meth:`dropbox.dropbox.Dropbox.files_copy_reference_get`. - :ivar path: Path in the user's Dropbox that is the destination. + :ivar files.SaveCopyReferenceArg.copy_reference: A copy reference returned + by :meth:`dropbox.dropbox.Dropbox.files_copy_reference_get`. + :ivar files.SaveCopyReferenceArg.path: Path in the user's Dropbox that is + the destination. """ __slots__ = [ @@ -6279,6 +8823,9 @@ class SaveCopyReferenceArg(object): self._path_value = None self._path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SaveCopyReferenceArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SaveCopyReferenceArg(copy_reference={!r}, path={!r})'.format( self._copy_reference_value, @@ -6293,13 +8840,16 @@ class SaveCopyReferenceError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_copy_reference: The copy reference is invalid. - :ivar no_permission: You don't have permission to save the given copy - reference. Please make sure this app is same app which created the copy - reference and the source user is still linked to the app. - :ivar not_found: The file referenced by the copy reference cannot be found. - :ivar too_many_files: The operation would involve more than 10,000 files and - folders. + :ivar files.SaveCopyReferenceError.invalid_copy_reference: The copy + reference is invalid. + :ivar files.SaveCopyReferenceError.no_permission: You don't have permission + to save the given copy reference. Please make sure this app is same app + which created the copy reference and the source user is still linked to + the app. + :ivar files.SaveCopyReferenceError.not_found: The file referenced by the + copy reference cannot be found. + :ivar files.SaveCopyReferenceError.too_many_files: The operation would + involve more than 10,000 files and folders. """ _catch_all = 'other' @@ -6383,15 +8933,18 @@ class SaveCopyReferenceError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SaveCopyReferenceError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SaveCopyReferenceError(%r, %r)' % (self._tag, self._value) SaveCopyReferenceError_validator = bv.Union(SaveCopyReferenceError) -class SaveCopyReferenceResult(object): +class SaveCopyReferenceResult(bb.Struct): """ - :ivar metadata: The metadata of the saved file or folder in the user's - Dropbox. + :ivar files.SaveCopyReferenceResult.metadata: The metadata of the saved file + or folder in the user's Dropbox. """ __slots__ = [ @@ -6431,6 +8984,9 @@ class SaveCopyReferenceResult(object): self._metadata_value = None self._metadata_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SaveCopyReferenceResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SaveCopyReferenceResult(metadata={!r})'.format( self._metadata_value, @@ -6438,10 +8994,11 @@ class SaveCopyReferenceResult(object): SaveCopyReferenceResult_validator = bv.Struct(SaveCopyReferenceResult) -class SaveUrlArg(object): +class SaveUrlArg(bb.Struct): """ - :ivar path: The path in Dropbox where the URL will be saved to. - :ivar url: The URL to be saved. + :ivar files.SaveUrlArg.path: The path in Dropbox where the URL will be saved + to. + :ivar files.SaveUrlArg.url: The URL to be saved. """ __slots__ = [ @@ -6511,6 +9068,9 @@ class SaveUrlArg(object): self._url_value = None self._url_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SaveUrlArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SaveUrlArg(path={!r}, url={!r})'.format( self._path_value, @@ -6525,9 +9085,11 @@ class SaveUrlError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar download_failed: Failed downloading the given URL. - :ivar invalid_url: The given URL is invalid. - :ivar not_found: The file where the URL is saved to no longer exists. + :ivar files.SaveUrlError.download_failed: Failed downloading the given URL. + The url may be password-protected / the password provided was incorrect. + :ivar files.SaveUrlError.invalid_url: The given URL is invalid. + :ivar files.SaveUrlError.not_found: The file where the URL is saved to no + longer exists. """ _catch_all = 'other' @@ -6601,18 +9163,22 @@ class SaveUrlError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SaveUrlError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SaveUrlError(%r, %r)' % (self._tag, self._value) SaveUrlError_validator = bv.Union(SaveUrlError) -class SaveUrlJobStatus(async.PollResultBase): +class SaveUrlJobStatus(async_.PollResultBase): """ 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 FileMetadata complete: Metadata of the file where the URL is saved to. + :ivar FileMetadata SaveUrlJobStatus.complete: Metadata of the file where the + URL is saved to. """ @classmethod @@ -6675,18 +9241,22 @@ class SaveUrlJobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SaveUrlJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SaveUrlJobStatus(%r, %r)' % (self._tag, self._value) SaveUrlJobStatus_validator = bv.Union(SaveUrlJobStatus) -class SaveUrlResult(async.LaunchResultBase): +class SaveUrlResult(async_.LaunchResultBase): """ 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 FileMetadata complete: Metadata of the file where the URL is saved to. + :ivar FileMetadata SaveUrlResult.complete: Metadata of the file where the + URL is saved to. """ @classmethod @@ -6720,23 +9290,28 @@ class SaveUrlResult(async.LaunchResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SaveUrlResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SaveUrlResult(%r, %r)' % (self._tag, self._value) SaveUrlResult_validator = bv.Union(SaveUrlResult) -class SearchArg(object): +class SearchArg(bb.Struct): """ - :ivar path: The path in the user's Dropbox to search. Should probably be a - folder. - :ivar query: The string to search for. The search string is split on spaces - into multiple tokens. For file name searching, the last token is used - for prefix matching (i.e. "bat c" matches "bat cave" but not "batman - car"). - :ivar start: The starting index within the search results (used for paging). - :ivar max_results: The maximum number of search results to return. - :ivar mode: The search mode (filename, filename_and_content, or - deleted_filename). Note that searching file content is only available + :ivar files.SearchArg.path: The path in the user's Dropbox to search. Should + probably be a folder. + :ivar files.SearchArg.query: The string to search for. The search string is + split on spaces into multiple tokens. For file name searching, the last + token is used for prefix matching (i.e. "bat c" matches "bat cave" but + not "batman car"). + :ivar files.SearchArg.start: The starting index within the search results + (used for paging). + :ivar files.SearchArg.max_results: The maximum number of search results to + return. + :ivar files.SearchArg.mode: The search mode (filename, filename_and_content, + or deleted_filename). Note that searching file content is only available for Dropbox Business accounts. """ @@ -6835,7 +9410,7 @@ class SearchArg(object): """ The starting index within the search results (used for paging). - :rtype: long + :rtype: int """ if self._start_present: return self._start_value @@ -6858,7 +9433,7 @@ class SearchArg(object): """ The maximum number of search results to return. - :rtype: long + :rtype: int """ if self._max_results_present: return self._max_results_value @@ -6901,6 +9476,9 @@ class SearchArg(object): self._mode_value = None self._mode_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SearchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SearchArg(path={!r}, query={!r}, start={!r}, max_results={!r}, mode={!r})'.format( self._path_value, @@ -6960,15 +9538,19 @@ class SearchError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SearchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SearchError(%r, %r)' % (self._tag, self._value) SearchError_validator = bv.Union(SearchError) -class SearchMatch(object): +class SearchMatch(bb.Struct): """ - :ivar match_type: The type of the match. - :ivar metadata: The metadata for the matched file or folder. + :ivar files.SearchMatch.match_type: The type of the match. + :ivar files.SearchMatch.metadata: The metadata for the matched file or + folder. """ __slots__ = [ @@ -7038,6 +9620,9 @@ class SearchMatch(object): self._metadata_value = None self._metadata_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SearchMatch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SearchMatch(match_type={!r}, metadata={!r})'.format( self._match_type_value, @@ -7054,10 +9639,12 @@ class SearchMatchType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar filename: This item was matched on its file or folder name. - :ivar content: This item was matched based on its file contents. - :ivar both: This item was matched based on both its contents and its file - name. + :ivar files.SearchMatchType.filename: This item was matched on its file or + folder name. + :ivar files.SearchMatchType.content: This item was matched based on its file + contents. + :ivar files.SearchMatchType.both: This item was matched based on both its + contents and its file name. """ _catch_all = None @@ -7092,6 +9679,9 @@ class SearchMatchType(bb.Union): """ return self._tag == 'both' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SearchMatchType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SearchMatchType(%r, %r)' % (self._tag, self._value) @@ -7103,10 +9693,11 @@ class SearchMode(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar filename: Search file and folder names. - :ivar filename_and_content: Search file and folder names as well as file - contents. - :ivar deleted_filename: Search for deleted file and folder names. + :ivar files.SearchMode.filename: Search file and folder names. + :ivar files.SearchMode.filename_and_content: Search file and folder names as + well as file contents. + :ivar files.SearchMode.deleted_filename: Search for deleted file and folder + names. """ _catch_all = None @@ -7141,20 +9732,24 @@ class SearchMode(bb.Union): """ return self._tag == 'deleted_filename' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SearchMode, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SearchMode(%r, %r)' % (self._tag, self._value) SearchMode_validator = bv.Union(SearchMode) -class SearchResult(object): +class SearchResult(bb.Struct): """ - :ivar matches: A list (possibly empty) of matches for the query. - :ivar more: Used for paging. If true, indicates there is another page of - results available that can be fetched by calling + :ivar files.SearchResult.matches: A list (possibly empty) of matches for the + query. + :ivar files.SearchResult.more: Used for paging. If true, indicates there is + another page of results available that can be fetched by calling :meth:`dropbox.dropbox.Dropbox.files_search` again. - :ivar start: Used for paging. Value to set the start argument to when - calling :meth:`dropbox.dropbox.Dropbox.files_search` to fetch the next - page of results. + :ivar files.SearchResult.start: Used for paging. Value to set the start + argument to when calling :meth:`dropbox.dropbox.Dropbox.files_search` to + fetch the next page of results. """ __slots__ = [ @@ -7240,7 +9835,7 @@ class SearchResult(object): :meth:`dropbox.dropbox.Dropbox.files_search` to fetch the next page of results. - :rtype: long + :rtype: int """ if self._start_present: return self._start_value @@ -7258,6 +9853,9 @@ class SearchResult(object): self._start_value = None self._start_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SearchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SearchResult(matches={!r}, more={!r}, start={!r})'.format( self._matches_value, @@ -7267,10 +9865,10 @@ class SearchResult(object): SearchResult_validator = bv.Struct(SearchResult) -class SharedLink(object): +class SharedLink(bb.Struct): """ - :ivar url: Shared link url. - :ivar password: Password for the shared link. + :ivar files.SharedLink.url: Shared link url. + :ivar files.SharedLink.password: Password for the shared link. """ __slots__ = [ @@ -7343,6 +9941,9 @@ class SharedLink(object): self._password_value = None self._password_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLink, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedLink(url={!r}, password={!r})'.format( self._url_value, @@ -7351,13 +9952,268 @@ class SharedLink(object): SharedLink_validator = bv.Struct(SharedLink) -class ThumbnailArg(object): +class SymlinkInfo(bb.Struct): """ - :ivar path: The path to the image file you want to thumbnail. - :ivar format: The format for the thumbnail image, jpeg (default) or png. For - images that are photos, jpeg should be preferred, while png is better - for screenshots and digital arts. - :ivar size: The size for the thumbnail image. + :ivar files.SymlinkInfo.target: The target this symlink points to. + """ + + __slots__ = [ + '_target_value', + '_target_present', + ] + + _has_required_fields = True + + def __init__(self, + target=None): + self._target_value = None + self._target_present = False + if target is not None: + self.target = target + + @property + def target(self): + """ + The target this symlink points to. + + :rtype: str + """ + if self._target_present: + return self._target_value + else: + raise AttributeError("missing required field 'target'") + + @target.setter + def target(self, val): + val = self._target_validator.validate(val) + self._target_value = val + self._target_present = True + + @target.deleter + def target(self): + self._target_value = None + self._target_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SymlinkInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SymlinkInfo(target={!r})'.format( + self._target_value, + ) + +SymlinkInfo_validator = bv.Struct(SymlinkInfo) + +class SyncSetting(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 files.SyncSetting.default: On first sync to members' computers, the + specified folder will follow its parent folder's setting or otherwise + follow default sync behavior. + :ivar files.SyncSetting.not_synced: On first sync to members' computers, the + specified folder will be set to not sync with selective sync. + :ivar files.SyncSetting.not_synced_inactive: The specified folder's + not_synced setting is inactive due to its location or other + configuration changes. It will follow its parent folder's setting. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + default = None + # Attribute is overwritten below the class definition + not_synced = None + # Attribute is overwritten below the class definition + not_synced_inactive = None + # Attribute is overwritten below the class definition + other = None + + def is_default(self): + """ + Check if the union tag is ``default``. + + :rtype: bool + """ + return self._tag == 'default' + + def is_not_synced(self): + """ + Check if the union tag is ``not_synced``. + + :rtype: bool + """ + return self._tag == 'not_synced' + + def is_not_synced_inactive(self): + """ + Check if the union tag is ``not_synced_inactive``. + + :rtype: bool + """ + return self._tag == 'not_synced_inactive' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SyncSetting, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SyncSetting(%r, %r)' % (self._tag, self._value) + +SyncSetting_validator = bv.Union(SyncSetting) + +class SyncSettingArg(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 files.SyncSettingArg.default: On first sync to members' computers, the + specified folder will follow its parent folder's setting or otherwise + follow default sync behavior. + :ivar files.SyncSettingArg.not_synced: On first sync to members' computers, + the specified folder will be set to not sync with selective sync. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + default = None + # Attribute is overwritten below the class definition + not_synced = None + # Attribute is overwritten below the class definition + other = None + + def is_default(self): + """ + Check if the union tag is ``default``. + + :rtype: bool + """ + return self._tag == 'default' + + def is_not_synced(self): + """ + Check if the union tag is ``not_synced``. + + :rtype: bool + """ + return self._tag == 'not_synced' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SyncSettingArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SyncSettingArg(%r, %r)' % (self._tag, self._value) + +SyncSettingArg_validator = bv.Union(SyncSettingArg) + +class SyncSettingsError(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 files.SyncSettingsError.unsupported_combination: Setting this + combination of sync settings simultaneously is not supported. + :ivar files.SyncSettingsError.unsupported_configuration: The specified + configuration is not supported. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + unsupported_combination = None + # Attribute is overwritten below the class definition + unsupported_configuration = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def path(cls, val): + """ + Create an instance of this class set to the ``path`` tag with value + ``val``. + + :param LookupError val: + :rtype: SyncSettingsError + """ + return cls('path', val) + + def is_path(self): + """ + Check if the union tag is ``path``. + + :rtype: bool + """ + return self._tag == 'path' + + def is_unsupported_combination(self): + """ + Check if the union tag is ``unsupported_combination``. + + :rtype: bool + """ + return self._tag == 'unsupported_combination' + + def is_unsupported_configuration(self): + """ + Check if the union tag is ``unsupported_configuration``. + + :rtype: bool + """ + return self._tag == 'unsupported_configuration' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_path(self): + """ + Only call this if :meth:`is_path` is true. + + :rtype: LookupError + """ + if not self.is_path(): + raise AttributeError("tag 'path' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SyncSettingsError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SyncSettingsError(%r, %r)' % (self._tag, self._value) + +SyncSettingsError_validator = bv.Union(SyncSettingsError) + +class ThumbnailArg(bb.Struct): + """ + :ivar files.ThumbnailArg.path: The path to the image file you want to + thumbnail. + :ivar files.ThumbnailArg.format: The format for the thumbnail image, jpeg + (default) or png. For images that are photos, jpeg should be preferred, + while png is better for screenshots and digital arts. + :ivar files.ThumbnailArg.size: The size for the thumbnail image. + :ivar files.ThumbnailArg.mode: How to resize and crop the image to achieve + the desired size. """ __slots__ = [ @@ -7367,6 +10223,8 @@ class ThumbnailArg(object): '_format_present', '_size_value', '_size_present', + '_mode_value', + '_mode_present', ] _has_required_fields = True @@ -7374,19 +10232,24 @@ class ThumbnailArg(object): def __init__(self, path=None, format=None, - size=None): + size=None, + mode=None): self._path_value = None self._path_present = False self._format_value = None self._format_present = False self._size_value = None self._size_present = False + self._mode_value = None + self._mode_present = False if path is not None: self.path = path if format is not None: self.format = format if size is not None: self.size = size + if mode is not None: + self.mode = mode @property def path(self): @@ -7459,11 +10322,38 @@ class ThumbnailArg(object): self._size_value = None self._size_present = False + @property + def mode(self): + """ + How to resize and crop the image to achieve the desired size. + + :rtype: ThumbnailMode + """ + if self._mode_present: + return self._mode_value + else: + return ThumbnailMode.strict + + @mode.setter + def mode(self, val): + self._mode_validator.validate_type_only(val) + self._mode_value = val + self._mode_present = True + + @mode.deleter + def mode(self): + self._mode_value = None + self._mode_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ThumbnailArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'ThumbnailArg(path={!r}, format={!r}, size={!r})'.format( + return 'ThumbnailArg(path={!r}, format={!r}, size={!r}, mode={!r})'.format( self._path_value, self._format_value, self._size_value, + self._mode_value, ) ThumbnailArg_validator = bv.Struct(ThumbnailArg) @@ -7474,12 +10364,14 @@ class ThumbnailError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar LookupError path: An error occurs when downloading metadata for the - image. - :ivar unsupported_extension: The file extension doesn't allow conversion to - a thumbnail. - :ivar unsupported_image: The image cannot be converted to a thumbnail. - :ivar conversion_error: An error occurs during thumbnail conversion. + :ivar LookupError ThumbnailError.path: An error occurs when downloading + metadata for the image. + :ivar files.ThumbnailError.unsupported_extension: The file extension doesn't + allow conversion to a thumbnail. + :ivar files.ThumbnailError.unsupported_image: The image cannot be converted + to a thumbnail. + :ivar files.ThumbnailError.conversion_error: An error occurs during + thumbnail conversion. """ _catch_all = None @@ -7545,6 +10437,9 @@ class ThumbnailError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ThumbnailError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ThumbnailError(%r, %r)' % (self._tag, self._value) @@ -7579,22 +10474,83 @@ class ThumbnailFormat(bb.Union): """ return self._tag == 'png' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ThumbnailFormat, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ThumbnailFormat(%r, %r)' % (self._tag, self._value) ThumbnailFormat_validator = bv.Union(ThumbnailFormat) +class ThumbnailMode(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 files.ThumbnailMode.strict: Scale down the image to fit within the + given size. + :ivar files.ThumbnailMode.bestfit: Scale down the image to fit within the + given size or its transpose. + :ivar files.ThumbnailMode.fitone_bestfit: Scale down the image to completely + cover the given size or its transpose. + """ + + _catch_all = None + # Attribute is overwritten below the class definition + strict = None + # Attribute is overwritten below the class definition + bestfit = None + # Attribute is overwritten below the class definition + fitone_bestfit = None + + def is_strict(self): + """ + Check if the union tag is ``strict``. + + :rtype: bool + """ + return self._tag == 'strict' + + def is_bestfit(self): + """ + Check if the union tag is ``bestfit``. + + :rtype: bool + """ + return self._tag == 'bestfit' + + def is_fitone_bestfit(self): + """ + Check if the union tag is ``fitone_bestfit``. + + :rtype: bool + """ + return self._tag == 'fitone_bestfit' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ThumbnailMode, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ThumbnailMode(%r, %r)' % (self._tag, self._value) + +ThumbnailMode_validator = bv.Union(ThumbnailMode) + class ThumbnailSize(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 w32h32: 32 by 32 px. - :ivar w64h64: 64 by 64 px. - :ivar w128h128: 128 by 128 px. - :ivar w640h480: 640 by 480 px. - :ivar w1024h768: 1024 by 768. + :ivar files.ThumbnailSize.w32h32: 32 by 32 px. + :ivar files.ThumbnailSize.w64h64: 64 by 64 px. + :ivar files.ThumbnailSize.w128h128: 128 by 128 px. + :ivar files.ThumbnailSize.w256h256: 256 by 256 px. + :ivar files.ThumbnailSize.w480h320: 480 by 320 px. + :ivar files.ThumbnailSize.w640h480: 640 by 480 px. + :ivar files.ThumbnailSize.w960h640: 960 by 640 px. + :ivar files.ThumbnailSize.w1024h768: 1024 by 768 px. + :ivar files.ThumbnailSize.w2048h1536: 2048 by 1536 px. """ _catch_all = None @@ -7605,9 +10561,17 @@ class ThumbnailSize(bb.Union): # Attribute is overwritten below the class definition w128h128 = None # Attribute is overwritten below the class definition + w256h256 = None + # Attribute is overwritten below the class definition + w480h320 = None + # Attribute is overwritten below the class definition w640h480 = None # Attribute is overwritten below the class definition + w960h640 = None + # Attribute is overwritten below the class definition w1024h768 = None + # Attribute is overwritten below the class definition + w2048h1536 = None def is_w32h32(self): """ @@ -7633,6 +10597,22 @@ class ThumbnailSize(bb.Union): """ return self._tag == 'w128h128' + def is_w256h256(self): + """ + Check if the union tag is ``w256h256``. + + :rtype: bool + """ + return self._tag == 'w256h256' + + def is_w480h320(self): + """ + Check if the union tag is ``w480h320``. + + :rtype: bool + """ + return self._tag == 'w480h320' + def is_w640h480(self): """ Check if the union tag is ``w640h480``. @@ -7641,6 +10621,14 @@ class ThumbnailSize(bb.Union): """ return self._tag == 'w640h480' + def is_w960h640(self): + """ + Check if the union tag is ``w960h640``. + + :rtype: bool + """ + return self._tag == 'w960h640' + def is_w1024h768(self): """ Check if the union tag is ``w1024h768``. @@ -7649,6 +10637,17 @@ class ThumbnailSize(bb.Union): """ return self._tag == 'w1024h768' + def is_w2048h1536(self): + """ + Check if the union tag is ``w2048h1536``. + + :rtype: bool + """ + return self._tag == 'w2048h1536' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ThumbnailSize, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ThumbnailSize(%r, %r)' % (self._tag, self._value) @@ -7660,8 +10659,11 @@ class UploadError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar UploadWriteFailed path: Unable to save the uploaded contents to a - file. + :ivar UploadWriteFailed UploadError.path: Unable to save the uploaded + contents to a file. + :ivar InvalidPropertyGroupError UploadError.properties_error: The supplied + property group is invalid. The file has uploaded without property + groups. """ _catch_all = 'other' @@ -7679,6 +10681,17 @@ class UploadError(bb.Union): """ return cls('path', val) + @classmethod + def properties_error(cls, val): + """ + Create an instance of this class set to the ``properties_error`` tag + with value ``val``. + + :param file_properties.InvalidPropertyGroupError val: + :rtype: UploadError + """ + return cls('properties_error', val) + def is_path(self): """ Check if the union tag is ``path``. @@ -7687,6 +10700,14 @@ class UploadError(bb.Union): """ return self._tag == 'path' + def is_properties_error(self): + """ + Check if the union tag is ``properties_error``. + + :rtype: bool + """ + return self._tag == 'properties_error' + def is_other(self): """ Check if the union tag is ``other``. @@ -7707,6 +10728,22 @@ class UploadError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def get_properties_error(self): + """ + The supplied property group is invalid. The file has uploaded without + property groups. + + Only call this if :meth:`is_properties_error` is true. + + :rtype: file_properties.InvalidPropertyGroupError + """ + if not self.is_properties_error(): + raise AttributeError("tag 'properties_error' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadError(%r, %r)' % (self._tag, self._value) @@ -7719,47 +10756,22 @@ class UploadErrorWithProperties(UploadError): corresponding ``get_*`` method. """ - @classmethod - def properties_error(cls, val): - """ - Create an instance of this class set to the ``properties_error`` tag - with value ``val``. - - :param file_properties.InvalidPropertyGroupError_validator val: - :rtype: UploadErrorWithProperties - """ - return cls('properties_error', val) - - def is_properties_error(self): - """ - Check if the union tag is ``properties_error``. - - :rtype: bool - """ - return self._tag == 'properties_error' - - def get_properties_error(self): - """ - Only call this if :meth:`is_properties_error` is true. - - :rtype: file_properties.InvalidPropertyGroupError_validator - """ - if not self.is_properties_error(): - raise AttributeError("tag 'properties_error' not set") - return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadErrorWithProperties, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): return 'UploadErrorWithProperties(%r, %r)' % (self._tag, self._value) UploadErrorWithProperties_validator = bv.Union(UploadErrorWithProperties) -class UploadSessionAppendArg(object): +class UploadSessionAppendArg(bb.Struct): """ - :ivar cursor: Contains the upload session ID and the offset. - :ivar close: If true, the current session will be closed, at which point you - won't be able to call - :meth:`dropbox.dropbox.Dropbox.files_upload_session_append_v2` anymore - with the current session. + :ivar files.UploadSessionAppendArg.cursor: Contains the upload session ID + and the offset. + :ivar files.UploadSessionAppendArg.close: If true, the current session will + be closed, at which point you won't be able to call + :meth:`dropbox.dropbox.Dropbox.files_upload_session_append` anymore with + the current session. """ __slots__ = [ @@ -7810,9 +10822,8 @@ class UploadSessionAppendArg(object): def close(self): """ If true, the current session will be closed, at which point you won't be - able to call - :meth:`dropbox.dropbox.Dropbox.files_upload_session_append_v2` anymore - with the current session. + able to call :meth:`dropbox.dropbox.Dropbox.files_upload_session_append` + anymore with the current session. :rtype: bool """ @@ -7832,6 +10843,9 @@ class UploadSessionAppendArg(object): self._close_value = None self._close_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionAppendArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionAppendArg(cursor={!r}, close={!r})'.format( self._cursor_value, @@ -7840,13 +10854,13 @@ class UploadSessionAppendArg(object): UploadSessionAppendArg_validator = bv.Struct(UploadSessionAppendArg) -class UploadSessionCursor(object): +class UploadSessionCursor(bb.Struct): """ - :ivar session_id: The upload session ID (returned by - :meth:`dropbox.dropbox.Dropbox.files_upload_session_start`). - :ivar offset: The amount of data that has been uploaded so far. We use this - to make sure upload data isn't lost or duplicated in the event of a - network error. + :ivar files.UploadSessionCursor.session_id: The upload session ID (returned + by :meth:`dropbox.dropbox.Dropbox.files_upload_session_start`). + :ivar files.UploadSessionCursor.offset: The amount of data that has been + uploaded so far. We use this to make sure upload data isn't lost or + duplicated in the event of a network error. """ __slots__ = [ @@ -7901,7 +10915,7 @@ class UploadSessionCursor(object): sure upload data isn't lost or duplicated in the event of a network error. - :rtype: long + :rtype: int """ if self._offset_present: return self._offset_value @@ -7919,6 +10933,9 @@ class UploadSessionCursor(object): self._offset_value = None self._offset_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionCursor, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionCursor(session_id={!r}, offset={!r})'.format( self._session_id_value, @@ -7927,10 +10944,12 @@ class UploadSessionCursor(object): UploadSessionCursor_validator = bv.Struct(UploadSessionCursor) -class UploadSessionFinishArg(object): +class UploadSessionFinishArg(bb.Struct): """ - :ivar cursor: Contains the upload session ID and the offset. - :ivar commit: Contains the path and other optional modifiers for the commit. + :ivar files.UploadSessionFinishArg.cursor: Contains the upload session ID + and the offset. + :ivar files.UploadSessionFinishArg.commit: Contains the path and other + optional modifiers for the commit. """ __slots__ = [ @@ -8000,6 +11019,9 @@ class UploadSessionFinishArg(object): self._commit_value = None self._commit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionFinishArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionFinishArg(cursor={!r}, commit={!r})'.format( self._cursor_value, @@ -8008,9 +11030,10 @@ class UploadSessionFinishArg(object): UploadSessionFinishArg_validator = bv.Struct(UploadSessionFinishArg) -class UploadSessionFinishBatchArg(object): +class UploadSessionFinishBatchArg(bb.Struct): """ - :ivar entries: Commit information for each file in the batch. + :ivar files.UploadSessionFinishBatchArg.entries: Commit information for each + file in the batch. """ __slots__ = [ @@ -8050,6 +11073,9 @@ class UploadSessionFinishBatchArg(object): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionFinishBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionFinishBatchArg(entries={!r})'.format( self._entries_value, @@ -8057,13 +11083,14 @@ class UploadSessionFinishBatchArg(object): UploadSessionFinishBatchArg_validator = bv.Struct(UploadSessionFinishBatchArg) -class UploadSessionFinishBatchJobStatus(async.PollResultBase): +class UploadSessionFinishBatchJobStatus(async_.PollResultBase): """ 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 UploadSessionFinishBatchResult complete: The + :ivar UploadSessionFinishBatchResult + UploadSessionFinishBatchJobStatus.complete: The :meth:`dropbox.dropbox.Dropbox.files_upload_session_finish_batch` has finished. """ @@ -8100,12 +11127,15 @@ class UploadSessionFinishBatchJobStatus(async.PollResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionFinishBatchJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionFinishBatchJobStatus(%r, %r)' % (self._tag, self._value) UploadSessionFinishBatchJobStatus_validator = bv.Union(UploadSessionFinishBatchJobStatus) -class UploadSessionFinishBatchLaunch(async.LaunchResultBase): +class UploadSessionFinishBatchLaunch(async_.LaunchResultBase): """ Result returned by :meth:`dropbox.dropbox.Dropbox.files_upload_session_finish_batch` that may @@ -8157,14 +11187,19 @@ class UploadSessionFinishBatchLaunch(async.LaunchResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionFinishBatchLaunch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionFinishBatchLaunch(%r, %r)' % (self._tag, self._value) UploadSessionFinishBatchLaunch_validator = bv.Union(UploadSessionFinishBatchLaunch) -class UploadSessionFinishBatchResult(object): +class UploadSessionFinishBatchResult(bb.Struct): """ - :ivar entries: Commit result for each file in the batch. + :ivar files.UploadSessionFinishBatchResult.entries: Each entry in + ``UploadSessionFinishBatchArg.entries`` will appear at the same position + inside ``UploadSessionFinishBatchResult.entries``. """ __slots__ = [ @@ -8184,7 +11219,8 @@ class UploadSessionFinishBatchResult(object): @property def entries(self): """ - Commit result for each file in the batch. + Each entry in ``UploadSessionFinishBatchArg.entries`` will appear at the + same position inside ``UploadSessionFinishBatchResult.entries``. :rtype: list of [UploadSessionFinishBatchResultEntry] """ @@ -8204,6 +11240,9 @@ class UploadSessionFinishBatchResult(object): self._entries_value = None self._entries_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionFinishBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionFinishBatchResult(entries={!r})'.format( self._entries_value, @@ -8278,6 +11317,9 @@ class UploadSessionFinishBatchResultEntry(bb.Union): raise AttributeError("tag 'failure' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionFinishBatchResultEntry, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionFinishBatchResultEntry(%r, %r)' % (self._tag, self._value) @@ -8289,14 +11331,21 @@ class UploadSessionFinishError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar UploadSessionLookupError lookup_failed: The session arguments are - incorrect; the value explains the reason. - :ivar WriteError path: Unable to save the uploaded contents to a file. - :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. + :ivar UploadSessionLookupError UploadSessionFinishError.lookup_failed: The + session arguments are incorrect; the value explains the reason. + :ivar WriteError UploadSessionFinishError.path: Unable to save the uploaded + contents to a file. Data has already been appended to the upload + session. Please retry with empty data body and updated offset. + :ivar InvalidPropertyGroupError UploadSessionFinishError.properties_error: + The supplied property group is invalid. The file has uploaded without + property groups. + :ivar files.UploadSessionFinishError.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 files.UploadSessionFinishError.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' @@ -8329,6 +11378,17 @@ class UploadSessionFinishError(bb.Union): """ return cls('path', val) + @classmethod + def properties_error(cls, val): + """ + Create an instance of this class set to the ``properties_error`` tag + with value ``val``. + + :param file_properties.InvalidPropertyGroupError val: + :rtype: UploadSessionFinishError + """ + return cls('properties_error', val) + def is_lookup_failed(self): """ Check if the union tag is ``lookup_failed``. @@ -8345,6 +11405,14 @@ class UploadSessionFinishError(bb.Union): """ return self._tag == 'path' + def is_properties_error(self): + """ + Check if the union tag is ``properties_error``. + + :rtype: bool + """ + return self._tag == 'properties_error' + def is_too_many_shared_folder_targets(self): """ Check if the union tag is ``too_many_shared_folder_targets``. @@ -8383,7 +11451,9 @@ class UploadSessionFinishError(bb.Union): def get_path(self): """ - Unable to save the uploaded contents to a file. + Unable to save the uploaded contents to a file. Data has already been + appended to the upload session. Please retry with empty data body and + updated offset. Only call this if :meth:`is_path` is true. @@ -8393,6 +11463,22 @@ class UploadSessionFinishError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def get_properties_error(self): + """ + The supplied property group is invalid. The file has uploaded without + property groups. + + Only call this if :meth:`is_properties_error` is true. + + :rtype: file_properties.InvalidPropertyGroupError + """ + if not self.is_properties_error(): + raise AttributeError("tag 'properties_error' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionFinishError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionFinishError(%r, %r)' % (self._tag, self._value) @@ -8404,16 +11490,20 @@ 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 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 - client did not receive the response, e.g. due to a network error. - :ivar closed: You are attempting to append data to an upload session that - has alread been closed (i.e. committed). - :ivar not_closed: The session must be closed before calling - upload_session/finish_batch. + :ivar files.UploadSessionLookupError.not_found: The upload session ID was + not found or has expired. Upload sessions are valid for 48 hours. + :ivar UploadSessionOffsetError UploadSessionLookupError.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 client did not receive the response, e.g. + due to a network error. + :ivar files.UploadSessionLookupError.closed: You are attempting to append + data to an upload session that has already been closed (i.e. committed). + :ivar files.UploadSessionLookupError.not_closed: The session must be closed + before calling upload_session/finish_batch. + :ivar files.UploadSessionLookupError.too_large: You can not append to the + upload session because the size of a file should not reach the max file + size limit (i.e. 350GB). """ _catch_all = 'other' @@ -8424,6 +11514,8 @@ class UploadSessionLookupError(bb.Union): # Attribute is overwritten below the class definition not_closed = None # Attribute is overwritten below the class definition + too_large = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -8469,6 +11561,14 @@ class UploadSessionLookupError(bb.Union): """ return self._tag == 'not_closed' + def is_too_large(self): + """ + Check if the union tag is ``too_large``. + + :rtype: bool + """ + return self._tag == 'too_large' + def is_other(self): """ Check if the union tag is ``other``. @@ -8492,14 +11592,18 @@ class UploadSessionLookupError(bb.Union): raise AttributeError("tag 'incorrect_offset' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionLookupError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionLookupError(%r, %r)' % (self._tag, self._value) UploadSessionLookupError_validator = bv.Union(UploadSessionLookupError) -class UploadSessionOffsetError(object): +class UploadSessionOffsetError(bb.Struct): """ - :ivar correct_offset: The offset up to which data has been collected. + :ivar files.UploadSessionOffsetError.correct_offset: The offset up to which + data has been collected. """ __slots__ = [ @@ -8521,7 +11625,7 @@ class UploadSessionOffsetError(object): """ The offset up to which data has been collected. - :rtype: long + :rtype: int """ if self._correct_offset_present: return self._correct_offset_value @@ -8539,6 +11643,9 @@ class UploadSessionOffsetError(object): self._correct_offset_value = None self._correct_offset_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionOffsetError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionOffsetError(correct_offset={!r})'.format( self._correct_offset_value, @@ -8546,12 +11653,12 @@ class UploadSessionOffsetError(object): UploadSessionOffsetError_validator = bv.Struct(UploadSessionOffsetError) -class UploadSessionStartArg(object): +class UploadSessionStartArg(bb.Struct): """ - :ivar close: If true, the current session will be closed, at which point you - won't be able to call - :meth:`dropbox.dropbox.Dropbox.files_upload_session_append_v2` anymore - with the current session. + :ivar files.UploadSessionStartArg.close: If true, the current session will + be closed, at which point you won't be able to call + :meth:`dropbox.dropbox.Dropbox.files_upload_session_append` anymore with + the current session. """ __slots__ = [ @@ -8572,9 +11679,8 @@ class UploadSessionStartArg(object): def close(self): """ If true, the current session will be closed, at which point you won't be - able to call - :meth:`dropbox.dropbox.Dropbox.files_upload_session_append_v2` anymore - with the current session. + able to call :meth:`dropbox.dropbox.Dropbox.files_upload_session_append` + anymore with the current session. :rtype: bool """ @@ -8594,6 +11700,9 @@ class UploadSessionStartArg(object): self._close_value = None self._close_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionStartArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionStartArg(close={!r})'.format( self._close_value, @@ -8601,10 +11710,11 @@ class UploadSessionStartArg(object): UploadSessionStartArg_validator = bv.Struct(UploadSessionStartArg) -class UploadSessionStartResult(object): +class UploadSessionStartResult(bb.Struct): """ - :ivar session_id: A unique identifier for the upload session. Pass this to - :meth:`dropbox.dropbox.Dropbox.files_upload_session_append_v2` and + :ivar files.UploadSessionStartResult.session_id: A unique identifier for the + upload session. Pass this to + :meth:`dropbox.dropbox.Dropbox.files_upload_session_append` and :meth:`dropbox.dropbox.Dropbox.files_upload_session_finish`. """ @@ -8626,7 +11736,7 @@ class UploadSessionStartResult(object): def session_id(self): """ A unique identifier for the upload session. Pass this to - :meth:`dropbox.dropbox.Dropbox.files_upload_session_append_v2` and + :meth:`dropbox.dropbox.Dropbox.files_upload_session_append` and :meth:`dropbox.dropbox.Dropbox.files_upload_session_finish`. :rtype: str @@ -8647,6 +11757,9 @@ class UploadSessionStartResult(object): self._session_id_value = None self._session_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadSessionStartResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadSessionStartResult(session_id={!r})'.format( self._session_id_value, @@ -8654,11 +11767,14 @@ class UploadSessionStartResult(object): UploadSessionStartResult_validator = bv.Struct(UploadSessionStartResult) -class UploadWriteFailed(object): +class UploadWriteFailed(bb.Struct): """ - :ivar reason: The reason why the file couldn't be saved. - :ivar upload_session_id: The upload session ID; this may be used to retry - the commit. + :ivar files.UploadWriteFailed.reason: The reason why the file couldn't be + saved. + :ivar files.UploadWriteFailed.upload_session_id: The upload session ID; data + has already been uploaded to the corresponding upload session and this + ID may be used to retry the commit with + :meth:`dropbox.dropbox.Dropbox.files_upload_session_finish`. """ __slots__ = [ @@ -8708,7 +11824,9 @@ class UploadWriteFailed(object): @property def upload_session_id(self): """ - The upload session ID; this may be used to retry the commit. + The upload session ID; data has already been uploaded to the + corresponding upload session and this ID may be used to retry the commit + with :meth:`dropbox.dropbox.Dropbox.files_upload_session_finish`. :rtype: str """ @@ -8728,6 +11846,9 @@ class UploadWriteFailed(object): self._upload_session_id_value = None self._upload_session_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadWriteFailed, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadWriteFailed(reason={!r}, upload_session_id={!r})'.format( self._reason_value, @@ -8740,7 +11861,8 @@ class VideoMetadata(MediaMetadata): """ Metadata for a video. - :ivar duration: The duration of the video in milliseconds. + :ivar files.VideoMetadata.duration: The duration of the video in + milliseconds. """ __slots__ = [ @@ -8768,7 +11890,7 @@ class VideoMetadata(MediaMetadata): """ The duration of the video in milliseconds. - :rtype: long + :rtype: int """ if self._duration_present: return self._duration_value @@ -8789,6 +11911,9 @@ class VideoMetadata(MediaMetadata): self._duration_value = None self._duration_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(VideoMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'VideoMetadata(dimensions={!r}, location={!r}, time_taken={!r}, duration={!r})'.format( self._dimensions_value, @@ -8805,10 +11930,10 @@ class WriteConflictError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar file: There's a file in the way. - :ivar folder: There's a folder in the way. - :ivar file_ancestor: There's a file at an ancestor path, so we couldn't - create the required parent folders. + :ivar files.WriteConflictError.file: There's a file in the way. + :ivar files.WriteConflictError.folder: There's a folder in the way. + :ivar files.WriteConflictError.file_ancestor: There's a file at an ancestor + path, so we couldn't create the required parent folders. """ _catch_all = 'other' @@ -8853,6 +11978,9 @@ class WriteConflictError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WriteConflictError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WriteConflictError(%r, %r)' % (self._tag, self._value) @@ -8864,15 +11992,23 @@ class WriteError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar WriteConflictError conflict: Couldn't write to the target path because - there was something in the way. - :ivar no_write_permission: The user doesn't have permissions to write to the - target location. - :ivar insufficient_space: The user doesn't have enough available space - (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 move or delete team folders. + :ivar Optional[str] files.WriteError.malformed_path: The given path does not + satisfy the required path format. Please refer to the :link:`Path + formats documentation + https://www.dropbox.com/developers/documentation/http/documentation#path-formats` + for more information. + :ivar WriteConflictError WriteError.conflict: Couldn't write to the target + path because there was something in the way. + :ivar files.WriteError.no_write_permission: The user doesn't have + permissions to write to the target location. + :ivar files.WriteError.insufficient_space: The user doesn't have enough + available space (bytes) to write more data. + :ivar files.WriteError.disallowed_name: Dropbox will not save the file or + folder because of its name. + :ivar files.WriteError.team_folder: This endpoint cannot move or delete team + folders. + :ivar files.WriteError.too_many_write_operations: There are too many write + operations in user's Dropbox. Please retry this request. """ _catch_all = 'other' @@ -8885,6 +12021,8 @@ class WriteError(bb.Union): # Attribute is overwritten below the class definition team_folder = None # Attribute is overwritten below the class definition + too_many_write_operations = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -8957,6 +12095,14 @@ class WriteError(bb.Union): """ return self._tag == 'team_folder' + 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``. @@ -8967,6 +12113,11 @@ class WriteError(bb.Union): def get_malformed_path(self): """ + The given path does not satisfy the required path format. Please refer + to the `Path formats documentation + `_ + for more information. + Only call this if :meth:`is_malformed_path` is true. :rtype: Optional[str] @@ -8988,6 +12139,9 @@ class WriteError(bb.Union): raise AttributeError("tag 'conflict' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WriteError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WriteError(%r, %r)' % (self._tag, self._value) @@ -9009,15 +12163,16 @@ class WriteMode(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar add: Do not overwrite an existing file if there is a conflict. The - autorename strategy is to append a number to the file name. For example, - "document.txt" might become "document (2).txt". - :ivar overwrite: Always overwrite the existing file. The autorename strategy - is the same as it is for ``add``. - :ivar str update: Overwrite if the given "rev" matches the existing file's - "rev". The autorename strategy is to append the string "conflicted copy" - to the file name. For example, "document.txt" might become "document - (conflicted copy).txt" or "document (Panda's conflicted copy).txt". + :ivar files.WriteMode.add: Do not overwrite an existing file if there is a + conflict. The autorename strategy is to append a number to the file + name. For example, "document.txt" might become "document (2).txt". + :ivar files.WriteMode.overwrite: Always overwrite the existing file. The + autorename strategy is the same as it is for ``add``. + :ivar str files.WriteMode.update: Overwrite if the given "rev" matches the + existing file's "rev". The autorename strategy is to append the string + "conflicted copy" to the file name. For example, "document.txt" might + become "document (conflicted copy).txt" or "document (Panda's conflicted + copy).txt". """ _catch_all = None @@ -9076,11 +12231,17 @@ class WriteMode(bb.Union): raise AttributeError("tag 'update' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WriteMode, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WriteMode(%r, %r)' % (self._tag, self._value) WriteMode_validator = bv.Union(WriteMode) +CopyBatchArg_validator = RelocationBatchArgBase_validator +CopyBatchArg = RelocationBatchArgBase +FileId_validator = bv.String(min_length=4, pattern=u'id:.+') Id_validator = bv.String(min_length=1) ListFolderCursor_validator = bv.String(min_length=1) MalformedPathError_validator = bv.Nullable(bv.String()) @@ -9098,17 +12259,20 @@ GetMetadataArg._path_validator = ReadPath_validator GetMetadataArg._include_media_info_validator = bv.Boolean() GetMetadataArg._include_deleted_validator = bv.Boolean() GetMetadataArg._include_has_explicit_shared_members_validator = bv.Boolean() +GetMetadataArg._include_property_groups_validator = bv.Nullable(file_properties.TemplateFilterBase_validator) GetMetadataArg._all_field_names_ = set([ 'path', 'include_media_info', 'include_deleted', 'include_has_explicit_shared_members', + 'include_property_groups', ]) GetMetadataArg._all_fields_ = [ ('path', GetMetadataArg._path_validator), ('include_media_info', GetMetadataArg._include_media_info_validator), ('include_deleted', GetMetadataArg._include_deleted_validator), ('include_has_explicit_shared_members', GetMetadataArg._include_has_explicit_shared_members_validator), + ('include_property_groups', GetMetadataArg._include_property_groups_validator), ] AlphaGetMetadataArg._include_property_templates_validator = bv.Nullable(bv.List(file_properties.TemplateId_validator)) @@ -9131,12 +12295,16 @@ CommitInfo._mode_validator = WriteMode_validator CommitInfo._autorename_validator = bv.Boolean() CommitInfo._client_modified_validator = bv.Nullable(common.DropboxTimestamp_validator) CommitInfo._mute_validator = bv.Boolean() +CommitInfo._property_groups_validator = bv.Nullable(bv.List(file_properties.PropertyGroup_validator)) +CommitInfo._strict_conflict_validator = bv.Boolean() CommitInfo._all_field_names_ = set([ 'path', 'mode', 'autorename', 'client_modified', 'mute', + 'property_groups', + 'strict_conflict', ]) CommitInfo._all_fields_ = [ ('path', CommitInfo._path_validator), @@ -9144,11 +12312,34 @@ CommitInfo._all_fields_ = [ ('autorename', CommitInfo._autorename_validator), ('client_modified', CommitInfo._client_modified_validator), ('mute', CommitInfo._mute_validator), + ('property_groups', CommitInfo._property_groups_validator), + ('strict_conflict', CommitInfo._strict_conflict_validator), ] -CommitInfoWithProperties._property_groups_validator = bv.Nullable(bv.List(file_properties.PropertyGroup_validator)) -CommitInfoWithProperties._all_field_names_ = CommitInfo._all_field_names_.union(set(['property_groups'])) -CommitInfoWithProperties._all_fields_ = CommitInfo._all_fields_ + [('property_groups', CommitInfoWithProperties._property_groups_validator)] +CommitInfoWithProperties._all_field_names_ = CommitInfo._all_field_names_.union(set([])) +CommitInfoWithProperties._all_fields_ = CommitInfo._all_fields_ + [] + +ContentSyncSetting._id_validator = FileId_validator +ContentSyncSetting._sync_setting_validator = SyncSetting_validator +ContentSyncSetting._all_field_names_ = set([ + 'id', + 'sync_setting', +]) +ContentSyncSetting._all_fields_ = [ + ('id', ContentSyncSetting._id_validator), + ('sync_setting', ContentSyncSetting._sync_setting_validator), +] + +ContentSyncSettingArg._id_validator = FileId_validator +ContentSyncSettingArg._sync_setting_validator = SyncSettingArg_validator +ContentSyncSettingArg._all_field_names_ = set([ + 'id', + 'sync_setting', +]) +ContentSyncSettingArg._all_fields_ = [ + ('id', ContentSyncSettingArg._id_validator), + ('sync_setting', ContentSyncSettingArg._sync_setting_validator), +] CreateFolderArg._path_validator = WritePath_validator CreateFolderArg._autorename_validator = bv.Boolean() @@ -9161,21 +12352,98 @@ CreateFolderArg._all_fields_ = [ ('autorename', CreateFolderArg._autorename_validator), ] +CreateFolderBatchArg._paths_validator = bv.List(WritePath_validator) +CreateFolderBatchArg._autorename_validator = bv.Boolean() +CreateFolderBatchArg._force_async_validator = bv.Boolean() +CreateFolderBatchArg._all_field_names_ = set([ + 'paths', + 'autorename', + 'force_async', +]) +CreateFolderBatchArg._all_fields_ = [ + ('paths', CreateFolderBatchArg._paths_validator), + ('autorename', CreateFolderBatchArg._autorename_validator), + ('force_async', CreateFolderBatchArg._force_async_validator), +] + +CreateFolderBatchError._too_many_files_validator = bv.Void() +CreateFolderBatchError._other_validator = bv.Void() +CreateFolderBatchError._tagmap = { + 'too_many_files': CreateFolderBatchError._too_many_files_validator, + 'other': CreateFolderBatchError._other_validator, +} + +CreateFolderBatchError.too_many_files = CreateFolderBatchError('too_many_files') +CreateFolderBatchError.other = CreateFolderBatchError('other') + +CreateFolderBatchJobStatus._complete_validator = CreateFolderBatchResult_validator +CreateFolderBatchJobStatus._failed_validator = CreateFolderBatchError_validator +CreateFolderBatchJobStatus._other_validator = bv.Void() +CreateFolderBatchJobStatus._tagmap = { + 'complete': CreateFolderBatchJobStatus._complete_validator, + 'failed': CreateFolderBatchJobStatus._failed_validator, + 'other': CreateFolderBatchJobStatus._other_validator, +} +CreateFolderBatchJobStatus._tagmap.update(async_.PollResultBase._tagmap) + +CreateFolderBatchJobStatus.other = CreateFolderBatchJobStatus('other') + +CreateFolderBatchLaunch._complete_validator = CreateFolderBatchResult_validator +CreateFolderBatchLaunch._other_validator = bv.Void() +CreateFolderBatchLaunch._tagmap = { + 'complete': CreateFolderBatchLaunch._complete_validator, + 'other': CreateFolderBatchLaunch._other_validator, +} +CreateFolderBatchLaunch._tagmap.update(async_.LaunchResultBase._tagmap) + +CreateFolderBatchLaunch.other = CreateFolderBatchLaunch('other') + +FileOpsResult._all_field_names_ = set([]) +FileOpsResult._all_fields_ = [] + +CreateFolderBatchResult._entries_validator = bv.List(CreateFolderBatchResultEntry_validator) +CreateFolderBatchResult._all_field_names_ = FileOpsResult._all_field_names_.union(set(['entries'])) +CreateFolderBatchResult._all_fields_ = FileOpsResult._all_fields_ + [('entries', CreateFolderBatchResult._entries_validator)] + +CreateFolderBatchResultEntry._success_validator = CreateFolderEntryResult_validator +CreateFolderBatchResultEntry._failure_validator = CreateFolderEntryError_validator +CreateFolderBatchResultEntry._tagmap = { + 'success': CreateFolderBatchResultEntry._success_validator, + 'failure': CreateFolderBatchResultEntry._failure_validator, +} + +CreateFolderEntryError._path_validator = WriteError_validator +CreateFolderEntryError._other_validator = bv.Void() +CreateFolderEntryError._tagmap = { + 'path': CreateFolderEntryError._path_validator, + 'other': CreateFolderEntryError._other_validator, +} + +CreateFolderEntryError.other = CreateFolderEntryError('other') + +CreateFolderEntryResult._metadata_validator = FolderMetadata_validator +CreateFolderEntryResult._all_field_names_ = set(['metadata']) +CreateFolderEntryResult._all_fields_ = [('metadata', CreateFolderEntryResult._metadata_validator)] + CreateFolderError._path_validator = WriteError_validator CreateFolderError._tagmap = { 'path': CreateFolderError._path_validator, } -FileOpsResult._all_field_names_ = set([]) -FileOpsResult._all_fields_ = [] - CreateFolderResult._metadata_validator = FolderMetadata_validator CreateFolderResult._all_field_names_ = FileOpsResult._all_field_names_.union(set(['metadata'])) CreateFolderResult._all_fields_ = FileOpsResult._all_fields_ + [('metadata', CreateFolderResult._metadata_validator)] DeleteArg._path_validator = WritePathOrId_validator -DeleteArg._all_field_names_ = set(['path']) -DeleteArg._all_fields_ = [('path', DeleteArg._path_validator)] +DeleteArg._parent_rev_validator = bv.Nullable(Rev_validator) +DeleteArg._all_field_names_ = set([ + 'path', + 'parent_rev', +]) +DeleteArg._all_fields_ = [ + ('path', DeleteArg._path_validator), + ('parent_rev', DeleteArg._parent_rev_validator), +] DeleteBatchArg._entries_validator = bv.List(DeleteArg_validator) DeleteBatchArg._all_field_names_ = set(['entries']) @@ -9199,7 +12467,7 @@ DeleteBatchJobStatus._tagmap = { 'failed': DeleteBatchJobStatus._failed_validator, 'other': DeleteBatchJobStatus._other_validator, } -DeleteBatchJobStatus._tagmap.update(async.PollResultBase._tagmap) +DeleteBatchJobStatus._tagmap.update(async_.PollResultBase._tagmap) DeleteBatchJobStatus.other = DeleteBatchJobStatus('other') @@ -9209,7 +12477,7 @@ DeleteBatchLaunch._tagmap = { 'complete': DeleteBatchLaunch._complete_validator, 'other': DeleteBatchLaunch._other_validator, } -DeleteBatchLaunch._tagmap.update(async.LaunchResultBase._tagmap) +DeleteBatchLaunch._tagmap.update(async_.LaunchResultBase._tagmap) DeleteBatchLaunch.other = DeleteBatchLaunch('other') @@ -9308,21 +12576,95 @@ DownloadArg._all_fields_ = [ ] DownloadError._path_validator = LookupError_validator +DownloadError._unsupported_file_validator = bv.Void() DownloadError._other_validator = bv.Void() DownloadError._tagmap = { 'path': DownloadError._path_validator, + 'unsupported_file': DownloadError._unsupported_file_validator, 'other': DownloadError._other_validator, } +DownloadError.unsupported_file = DownloadError('unsupported_file') DownloadError.other = DownloadError('other') +DownloadZipArg._path_validator = ReadPath_validator +DownloadZipArg._all_field_names_ = set(['path']) +DownloadZipArg._all_fields_ = [('path', DownloadZipArg._path_validator)] + +DownloadZipError._path_validator = LookupError_validator +DownloadZipError._too_large_validator = bv.Void() +DownloadZipError._too_many_files_validator = bv.Void() +DownloadZipError._other_validator = bv.Void() +DownloadZipError._tagmap = { + 'path': DownloadZipError._path_validator, + 'too_large': DownloadZipError._too_large_validator, + 'too_many_files': DownloadZipError._too_many_files_validator, + 'other': DownloadZipError._other_validator, +} + +DownloadZipError.too_large = DownloadZipError('too_large') +DownloadZipError.too_many_files = DownloadZipError('too_many_files') +DownloadZipError.other = DownloadZipError('other') + +DownloadZipResult._metadata_validator = FolderMetadata_validator +DownloadZipResult._all_field_names_ = set(['metadata']) +DownloadZipResult._all_fields_ = [('metadata', DownloadZipResult._metadata_validator)] + +ExportArg._path_validator = ReadPath_validator +ExportArg._all_field_names_ = set(['path']) +ExportArg._all_fields_ = [('path', ExportArg._path_validator)] + +ExportError._path_validator = LookupError_validator +ExportError._non_exportable_validator = bv.Void() +ExportError._other_validator = bv.Void() +ExportError._tagmap = { + 'path': ExportError._path_validator, + 'non_exportable': ExportError._non_exportable_validator, + 'other': ExportError._other_validator, +} + +ExportError.non_exportable = ExportError('non_exportable') +ExportError.other = ExportError('other') + +ExportInfo._export_as_validator = bv.Nullable(bv.String()) +ExportInfo._all_field_names_ = set(['export_as']) +ExportInfo._all_fields_ = [('export_as', ExportInfo._export_as_validator)] + +ExportMetadata._name_validator = bv.String() +ExportMetadata._size_validator = bv.UInt64() +ExportMetadata._export_hash_validator = bv.Nullable(Sha256HexHash_validator) +ExportMetadata._all_field_names_ = set([ + 'name', + 'size', + 'export_hash', +]) +ExportMetadata._all_fields_ = [ + ('name', ExportMetadata._name_validator), + ('size', ExportMetadata._size_validator), + ('export_hash', ExportMetadata._export_hash_validator), +] + +ExportResult._export_metadata_validator = ExportMetadata_validator +ExportResult._file_metadata_validator = FileMetadata_validator +ExportResult._all_field_names_ = set([ + 'export_metadata', + 'file_metadata', +]) +ExportResult._all_fields_ = [ + ('export_metadata', ExportResult._export_metadata_validator), + ('file_metadata', ExportResult._file_metadata_validator), +] + FileMetadata._id_validator = Id_validator FileMetadata._client_modified_validator = common.DropboxTimestamp_validator FileMetadata._server_modified_validator = common.DropboxTimestamp_validator FileMetadata._rev_validator = Rev_validator FileMetadata._size_validator = bv.UInt64() FileMetadata._media_info_validator = bv.Nullable(MediaInfo_validator) +FileMetadata._symlink_info_validator = bv.Nullable(SymlinkInfo_validator) FileMetadata._sharing_info_validator = bv.Nullable(FileSharingInfo_validator) +FileMetadata._is_downloadable_validator = bv.Boolean() +FileMetadata._export_info_validator = bv.Nullable(ExportInfo_validator) FileMetadata._property_groups_validator = bv.Nullable(bv.List(file_properties.PropertyGroup_validator)) FileMetadata._has_explicit_shared_members_validator = bv.Nullable(bv.Boolean()) FileMetadata._content_hash_validator = bv.Nullable(Sha256HexHash_validator) @@ -9333,7 +12675,10 @@ FileMetadata._field_names_ = set([ 'rev', 'size', 'media_info', + 'symlink_info', 'sharing_info', + 'is_downloadable', + 'export_info', 'property_groups', 'has_explicit_shared_members', 'content_hash', @@ -9346,7 +12691,10 @@ FileMetadata._fields_ = [ ('rev', FileMetadata._rev_validator), ('size', FileMetadata._size_validator), ('media_info', FileMetadata._media_info_validator), + ('symlink_info', FileMetadata._symlink_info_validator), ('sharing_info', FileMetadata._sharing_info_validator), + ('is_downloadable', FileMetadata._is_downloadable_validator), + ('export_info', FileMetadata._export_info_validator), ('property_groups', FileMetadata._property_groups_validator), ('has_explicit_shared_members', FileMetadata._has_explicit_shared_members_validator), ('content_hash', FileMetadata._content_hash_validator), @@ -9436,12 +12784,18 @@ GetTemporaryLinkArg._all_field_names_ = set(['path']) GetTemporaryLinkArg._all_fields_ = [('path', GetTemporaryLinkArg._path_validator)] GetTemporaryLinkError._path_validator = LookupError_validator +GetTemporaryLinkError._email_not_verified_validator = bv.Void() +GetTemporaryLinkError._unsupported_file_validator = bv.Void() GetTemporaryLinkError._other_validator = bv.Void() GetTemporaryLinkError._tagmap = { 'path': GetTemporaryLinkError._path_validator, + 'email_not_verified': GetTemporaryLinkError._email_not_verified_validator, + 'unsupported_file': GetTemporaryLinkError._unsupported_file_validator, 'other': GetTemporaryLinkError._other_validator, } +GetTemporaryLinkError.email_not_verified = GetTemporaryLinkError('email_not_verified') +GetTemporaryLinkError.unsupported_file = GetTemporaryLinkError('unsupported_file') GetTemporaryLinkError.other = GetTemporaryLinkError('other') GetTemporaryLinkResult._metadata_validator = FileMetadata_validator @@ -9455,6 +12809,21 @@ GetTemporaryLinkResult._all_fields_ = [ ('link', GetTemporaryLinkResult._link_validator), ] +GetTemporaryUploadLinkArg._commit_info_validator = CommitInfo_validator +GetTemporaryUploadLinkArg._duration_validator = bv.Float64(min_value=60.0, max_value=14400.0) +GetTemporaryUploadLinkArg._all_field_names_ = set([ + 'commit_info', + 'duration', +]) +GetTemporaryUploadLinkArg._all_fields_ = [ + ('commit_info', GetTemporaryUploadLinkArg._commit_info_validator), + ('duration', GetTemporaryUploadLinkArg._duration_validator), +] + +GetTemporaryUploadLinkResult._link_validator = bv.String() +GetTemporaryUploadLinkResult._all_field_names_ = set(['link']) +GetTemporaryUploadLinkResult._all_fields_ = [('link', GetTemporaryUploadLinkResult._link_validator)] + GetThumbnailBatchArg._entries_validator = bv.List(ThumbnailArg_validator) GetThumbnailBatchArg._all_field_names_ = set(['entries']) GetThumbnailBatchArg._all_fields_ = [('entries', GetThumbnailBatchArg._entries_validator)] @@ -9514,6 +12883,8 @@ ListFolderArg._include_has_explicit_shared_members_validator = bv.Boolean() ListFolderArg._include_mounted_folders_validator = bv.Boolean() ListFolderArg._limit_validator = bv.Nullable(bv.UInt32(min_value=1, max_value=2000)) ListFolderArg._shared_link_validator = bv.Nullable(SharedLink_validator) +ListFolderArg._include_property_groups_validator = bv.Nullable(file_properties.TemplateFilterBase_validator) +ListFolderArg._include_non_downloadable_files_validator = bv.Boolean() ListFolderArg._all_field_names_ = set([ 'path', 'recursive', @@ -9523,6 +12894,8 @@ ListFolderArg._all_field_names_ = set([ 'include_mounted_folders', 'limit', 'shared_link', + 'include_property_groups', + 'include_non_downloadable_files', ]) ListFolderArg._all_fields_ = [ ('path', ListFolderArg._path_validator), @@ -9533,6 +12906,8 @@ ListFolderArg._all_fields_ = [ ('include_mounted_folders', ListFolderArg._include_mounted_folders_validator), ('limit', ListFolderArg._limit_validator), ('shared_link', ListFolderArg._shared_link_validator), + ('include_property_groups', ListFolderArg._include_property_groups_validator), + ('include_non_downloadable_files', ListFolderArg._include_non_downloadable_files_validator), ] ListFolderContinueArg._cursor_validator = ListFolderCursor_validator @@ -9665,6 +13040,7 @@ LookupError._not_found_validator = bv.Void() LookupError._not_file_validator = bv.Void() LookupError._not_folder_validator = bv.Void() LookupError._restricted_content_validator = bv.Void() +LookupError._unsupported_content_type_validator = bv.Void() LookupError._other_validator = bv.Void() LookupError._tagmap = { 'malformed_path': LookupError._malformed_path_validator, @@ -9672,6 +13048,7 @@ LookupError._tagmap = { 'not_file': LookupError._not_file_validator, 'not_folder': LookupError._not_folder_validator, 'restricted_content': LookupError._restricted_content_validator, + 'unsupported_content_type': LookupError._unsupported_content_type_validator, 'other': LookupError._other_validator, } @@ -9679,6 +13056,7 @@ LookupError.not_found = LookupError('not_found') LookupError.not_file = LookupError('not_file') LookupError.not_folder = LookupError('not_folder') LookupError.restricted_content = LookupError('restricted_content') +LookupError.unsupported_content_type = LookupError('unsupported_content_type') LookupError.other = LookupError('other') MediaInfo._pending_validator = bv.Void() @@ -9716,6 +13094,21 @@ MediaMetadata._pytype_to_tag_and_subtype_ = { } MediaMetadata._is_catch_all_ = False +RelocationBatchArgBase._entries_validator = bv.List(RelocationPath_validator, min_items=1) +RelocationBatchArgBase._autorename_validator = bv.Boolean() +RelocationBatchArgBase._all_field_names_ = set([ + 'entries', + 'autorename', +]) +RelocationBatchArgBase._all_fields_ = [ + ('entries', RelocationBatchArgBase._entries_validator), + ('autorename', RelocationBatchArgBase._autorename_validator), +] + +MoveBatchArg._allow_ownership_transfer_validator = bv.Boolean() +MoveBatchArg._all_field_names_ = RelocationBatchArgBase._all_field_names_.union(set(['allow_ownership_transfer'])) +MoveBatchArg._all_fields_ = RelocationBatchArgBase._all_fields_ + [('allow_ownership_transfer', MoveBatchArg._allow_ownership_transfer_validator)] + PhotoMetadata._field_names_ = set([]) PhotoMetadata._all_field_names_ = MediaMetadata._all_field_names_.union(PhotoMetadata._field_names_) PhotoMetadata._fields_ = [] @@ -9772,20 +13165,14 @@ RelocationArg._all_fields_ = RelocationPath._all_fields_ + [ ('allow_ownership_transfer', RelocationArg._allow_ownership_transfer_validator), ] -RelocationBatchArg._entries_validator = bv.List(RelocationPath_validator) RelocationBatchArg._allow_shared_folder_validator = bv.Boolean() -RelocationBatchArg._autorename_validator = bv.Boolean() RelocationBatchArg._allow_ownership_transfer_validator = bv.Boolean() -RelocationBatchArg._all_field_names_ = set([ - 'entries', +RelocationBatchArg._all_field_names_ = RelocationBatchArgBase._all_field_names_.union(set([ 'allow_shared_folder', - 'autorename', 'allow_ownership_transfer', -]) -RelocationBatchArg._all_fields_ = [ - ('entries', RelocationBatchArg._entries_validator), +])) +RelocationBatchArg._all_fields_ = RelocationBatchArgBase._all_fields_ + [ ('allow_shared_folder', RelocationBatchArg._allow_shared_folder_validator), - ('autorename', RelocationBatchArg._autorename_validator), ('allow_ownership_transfer', RelocationBatchArg._allow_ownership_transfer_validator), ] @@ -9798,6 +13185,9 @@ RelocationError._cant_move_folder_into_itself_validator = bv.Void() RelocationError._too_many_files_validator = bv.Void() RelocationError._duplicated_or_nested_paths_validator = bv.Void() RelocationError._cant_transfer_ownership_validator = bv.Void() +RelocationError._insufficient_quota_validator = bv.Void() +RelocationError._internal_error_validator = bv.Void() +RelocationError._cant_move_shared_folder_validator = bv.Void() RelocationError._other_validator = bv.Void() RelocationError._tagmap = { 'from_lookup': RelocationError._from_lookup_validator, @@ -9809,6 +13199,9 @@ RelocationError._tagmap = { 'too_many_files': RelocationError._too_many_files_validator, 'duplicated_or_nested_paths': RelocationError._duplicated_or_nested_paths_validator, 'cant_transfer_ownership': RelocationError._cant_transfer_ownership_validator, + 'insufficient_quota': RelocationError._insufficient_quota_validator, + 'internal_error': RelocationError._internal_error_validator, + 'cant_move_shared_folder': RelocationError._cant_move_shared_folder_validator, 'other': RelocationError._other_validator, } @@ -9818,6 +13211,9 @@ RelocationError.cant_move_folder_into_itself = RelocationError('cant_move_folder RelocationError.too_many_files = RelocationError('too_many_files') RelocationError.duplicated_or_nested_paths = RelocationError('duplicated_or_nested_paths') RelocationError.cant_transfer_ownership = RelocationError('cant_transfer_ownership') +RelocationError.insufficient_quota = RelocationError('insufficient_quota') +RelocationError.internal_error = RelocationError('internal_error') +RelocationError.cant_move_shared_folder = RelocationError('cant_move_shared_folder') RelocationError.other = RelocationError('other') RelocationBatchError._too_many_write_operations_validator = bv.Void() @@ -9828,13 +13224,28 @@ RelocationBatchError._tagmap.update(RelocationError._tagmap) RelocationBatchError.too_many_write_operations = RelocationBatchError('too_many_write_operations') +RelocationBatchErrorEntry._relocation_error_validator = RelocationError_validator +RelocationBatchErrorEntry._internal_error_validator = bv.Void() +RelocationBatchErrorEntry._too_many_write_operations_validator = bv.Void() +RelocationBatchErrorEntry._other_validator = bv.Void() +RelocationBatchErrorEntry._tagmap = { + 'relocation_error': RelocationBatchErrorEntry._relocation_error_validator, + 'internal_error': RelocationBatchErrorEntry._internal_error_validator, + 'too_many_write_operations': RelocationBatchErrorEntry._too_many_write_operations_validator, + 'other': RelocationBatchErrorEntry._other_validator, +} + +RelocationBatchErrorEntry.internal_error = RelocationBatchErrorEntry('internal_error') +RelocationBatchErrorEntry.too_many_write_operations = RelocationBatchErrorEntry('too_many_write_operations') +RelocationBatchErrorEntry.other = RelocationBatchErrorEntry('other') + RelocationBatchJobStatus._complete_validator = RelocationBatchResult_validator RelocationBatchJobStatus._failed_validator = RelocationBatchError_validator RelocationBatchJobStatus._tagmap = { 'complete': RelocationBatchJobStatus._complete_validator, 'failed': RelocationBatchJobStatus._failed_validator, } -RelocationBatchJobStatus._tagmap.update(async.PollResultBase._tagmap) +RelocationBatchJobStatus._tagmap.update(async_.PollResultBase._tagmap) RelocationBatchLaunch._complete_validator = RelocationBatchResult_validator RelocationBatchLaunch._other_validator = bv.Void() @@ -9842,7 +13253,7 @@ RelocationBatchLaunch._tagmap = { 'complete': RelocationBatchLaunch._complete_validator, 'other': RelocationBatchLaunch._other_validator, } -RelocationBatchLaunch._tagmap.update(async.LaunchResultBase._tagmap) +RelocationBatchLaunch._tagmap.update(async_.LaunchResultBase._tagmap) RelocationBatchLaunch.other = RelocationBatchLaunch('other') @@ -9854,6 +13265,33 @@ RelocationBatchResultData._metadata_validator = Metadata_validator RelocationBatchResultData._all_field_names_ = set(['metadata']) RelocationBatchResultData._all_fields_ = [('metadata', RelocationBatchResultData._metadata_validator)] +RelocationBatchResultEntry._success_validator = Metadata_validator +RelocationBatchResultEntry._failure_validator = RelocationBatchErrorEntry_validator +RelocationBatchResultEntry._other_validator = bv.Void() +RelocationBatchResultEntry._tagmap = { + 'success': RelocationBatchResultEntry._success_validator, + 'failure': RelocationBatchResultEntry._failure_validator, + 'other': RelocationBatchResultEntry._other_validator, +} + +RelocationBatchResultEntry.other = RelocationBatchResultEntry('other') + +RelocationBatchV2JobStatus._complete_validator = RelocationBatchV2Result_validator +RelocationBatchV2JobStatus._tagmap = { + 'complete': RelocationBatchV2JobStatus._complete_validator, +} +RelocationBatchV2JobStatus._tagmap.update(async_.PollResultBase._tagmap) + +RelocationBatchV2Launch._complete_validator = RelocationBatchV2Result_validator +RelocationBatchV2Launch._tagmap = { + 'complete': RelocationBatchV2Launch._complete_validator, +} +RelocationBatchV2Launch._tagmap.update(async_.LaunchResultBase._tagmap) + +RelocationBatchV2Result._entries_validator = bv.List(RelocationBatchResultEntry_validator) +RelocationBatchV2Result._all_field_names_ = FileOpsResult._all_field_names_.union(set(['entries'])) +RelocationBatchV2Result._all_fields_ = FileOpsResult._all_fields_ + [('entries', RelocationBatchV2Result._entries_validator)] + RelocationResult._metadata_validator = Metadata_validator RelocationResult._all_field_names_ = FileOpsResult._all_field_names_.union(set(['metadata'])) RelocationResult._all_fields_ = FileOpsResult._all_fields_ + [('metadata', RelocationResult._metadata_validator)] @@ -9954,17 +13392,17 @@ SaveUrlJobStatus._tagmap = { 'complete': SaveUrlJobStatus._complete_validator, 'failed': SaveUrlJobStatus._failed_validator, } -SaveUrlJobStatus._tagmap.update(async.PollResultBase._tagmap) +SaveUrlJobStatus._tagmap.update(async_.PollResultBase._tagmap) SaveUrlResult._complete_validator = FileMetadata_validator SaveUrlResult._tagmap = { 'complete': SaveUrlResult._complete_validator, } -SaveUrlResult._tagmap.update(async.LaunchResultBase._tagmap) +SaveUrlResult._tagmap.update(async_.LaunchResultBase._tagmap) SearchArg._path_validator = PathROrId_validator SearchArg._query_validator = bv.String() -SearchArg._start_validator = bv.UInt64() +SearchArg._start_validator = bv.UInt64(max_value=9999) SearchArg._max_results_validator = bv.UInt64(min_value=1, max_value=1000) SearchArg._mode_validator = SearchMode_validator SearchArg._all_field_names_ = set([ @@ -10053,18 +13491,69 @@ SharedLink._all_fields_ = [ ('password', SharedLink._password_validator), ] +SymlinkInfo._target_validator = bv.String() +SymlinkInfo._all_field_names_ = set(['target']) +SymlinkInfo._all_fields_ = [('target', SymlinkInfo._target_validator)] + +SyncSetting._default_validator = bv.Void() +SyncSetting._not_synced_validator = bv.Void() +SyncSetting._not_synced_inactive_validator = bv.Void() +SyncSetting._other_validator = bv.Void() +SyncSetting._tagmap = { + 'default': SyncSetting._default_validator, + 'not_synced': SyncSetting._not_synced_validator, + 'not_synced_inactive': SyncSetting._not_synced_inactive_validator, + 'other': SyncSetting._other_validator, +} + +SyncSetting.default = SyncSetting('default') +SyncSetting.not_synced = SyncSetting('not_synced') +SyncSetting.not_synced_inactive = SyncSetting('not_synced_inactive') +SyncSetting.other = SyncSetting('other') + +SyncSettingArg._default_validator = bv.Void() +SyncSettingArg._not_synced_validator = bv.Void() +SyncSettingArg._other_validator = bv.Void() +SyncSettingArg._tagmap = { + 'default': SyncSettingArg._default_validator, + 'not_synced': SyncSettingArg._not_synced_validator, + 'other': SyncSettingArg._other_validator, +} + +SyncSettingArg.default = SyncSettingArg('default') +SyncSettingArg.not_synced = SyncSettingArg('not_synced') +SyncSettingArg.other = SyncSettingArg('other') + +SyncSettingsError._path_validator = LookupError_validator +SyncSettingsError._unsupported_combination_validator = bv.Void() +SyncSettingsError._unsupported_configuration_validator = bv.Void() +SyncSettingsError._other_validator = bv.Void() +SyncSettingsError._tagmap = { + 'path': SyncSettingsError._path_validator, + 'unsupported_combination': SyncSettingsError._unsupported_combination_validator, + 'unsupported_configuration': SyncSettingsError._unsupported_configuration_validator, + 'other': SyncSettingsError._other_validator, +} + +SyncSettingsError.unsupported_combination = SyncSettingsError('unsupported_combination') +SyncSettingsError.unsupported_configuration = SyncSettingsError('unsupported_configuration') +SyncSettingsError.other = SyncSettingsError('other') + ThumbnailArg._path_validator = ReadPath_validator ThumbnailArg._format_validator = ThumbnailFormat_validator ThumbnailArg._size_validator = ThumbnailSize_validator +ThumbnailArg._mode_validator = ThumbnailMode_validator ThumbnailArg._all_field_names_ = set([ 'path', 'format', 'size', + 'mode', ]) ThumbnailArg._all_fields_ = [ ('path', ThumbnailArg._path_validator), ('format', ThumbnailArg._format_validator), ('size', ThumbnailArg._size_validator), + ('mode', ThumbnailArg._mode_validator), ] ThumbnailError._path_validator = LookupError_validator @@ -10092,37 +13581,62 @@ ThumbnailFormat._tagmap = { ThumbnailFormat.jpeg = ThumbnailFormat('jpeg') ThumbnailFormat.png = ThumbnailFormat('png') +ThumbnailMode._strict_validator = bv.Void() +ThumbnailMode._bestfit_validator = bv.Void() +ThumbnailMode._fitone_bestfit_validator = bv.Void() +ThumbnailMode._tagmap = { + 'strict': ThumbnailMode._strict_validator, + 'bestfit': ThumbnailMode._bestfit_validator, + 'fitone_bestfit': ThumbnailMode._fitone_bestfit_validator, +} + +ThumbnailMode.strict = ThumbnailMode('strict') +ThumbnailMode.bestfit = ThumbnailMode('bestfit') +ThumbnailMode.fitone_bestfit = ThumbnailMode('fitone_bestfit') + ThumbnailSize._w32h32_validator = bv.Void() ThumbnailSize._w64h64_validator = bv.Void() ThumbnailSize._w128h128_validator = bv.Void() +ThumbnailSize._w256h256_validator = bv.Void() +ThumbnailSize._w480h320_validator = bv.Void() ThumbnailSize._w640h480_validator = bv.Void() +ThumbnailSize._w960h640_validator = bv.Void() ThumbnailSize._w1024h768_validator = bv.Void() +ThumbnailSize._w2048h1536_validator = bv.Void() ThumbnailSize._tagmap = { 'w32h32': ThumbnailSize._w32h32_validator, 'w64h64': ThumbnailSize._w64h64_validator, 'w128h128': ThumbnailSize._w128h128_validator, + 'w256h256': ThumbnailSize._w256h256_validator, + 'w480h320': ThumbnailSize._w480h320_validator, 'w640h480': ThumbnailSize._w640h480_validator, + 'w960h640': ThumbnailSize._w960h640_validator, 'w1024h768': ThumbnailSize._w1024h768_validator, + 'w2048h1536': ThumbnailSize._w2048h1536_validator, } ThumbnailSize.w32h32 = ThumbnailSize('w32h32') ThumbnailSize.w64h64 = ThumbnailSize('w64h64') ThumbnailSize.w128h128 = ThumbnailSize('w128h128') +ThumbnailSize.w256h256 = ThumbnailSize('w256h256') +ThumbnailSize.w480h320 = ThumbnailSize('w480h320') ThumbnailSize.w640h480 = ThumbnailSize('w640h480') +ThumbnailSize.w960h640 = ThumbnailSize('w960h640') ThumbnailSize.w1024h768 = ThumbnailSize('w1024h768') +ThumbnailSize.w2048h1536 = ThumbnailSize('w2048h1536') UploadError._path_validator = UploadWriteFailed_validator +UploadError._properties_error_validator = file_properties.InvalidPropertyGroupError_validator UploadError._other_validator = bv.Void() UploadError._tagmap = { 'path': UploadError._path_validator, + 'properties_error': UploadError._properties_error_validator, 'other': UploadError._other_validator, } UploadError.other = UploadError('other') -UploadErrorWithProperties._properties_error_validator = file_properties.InvalidPropertyGroupError_validator UploadErrorWithProperties._tagmap = { - 'properties_error': UploadErrorWithProperties._properties_error_validator, } UploadErrorWithProperties._tagmap.update(UploadError._tagmap) @@ -10167,7 +13681,7 @@ UploadSessionFinishBatchJobStatus._complete_validator = UploadSessionFinishBatch UploadSessionFinishBatchJobStatus._tagmap = { 'complete': UploadSessionFinishBatchJobStatus._complete_validator, } -UploadSessionFinishBatchJobStatus._tagmap.update(async.PollResultBase._tagmap) +UploadSessionFinishBatchJobStatus._tagmap.update(async_.PollResultBase._tagmap) UploadSessionFinishBatchLaunch._complete_validator = UploadSessionFinishBatchResult_validator UploadSessionFinishBatchLaunch._other_validator = bv.Void() @@ -10175,7 +13689,7 @@ UploadSessionFinishBatchLaunch._tagmap = { 'complete': UploadSessionFinishBatchLaunch._complete_validator, 'other': UploadSessionFinishBatchLaunch._other_validator, } -UploadSessionFinishBatchLaunch._tagmap.update(async.LaunchResultBase._tagmap) +UploadSessionFinishBatchLaunch._tagmap.update(async_.LaunchResultBase._tagmap) UploadSessionFinishBatchLaunch.other = UploadSessionFinishBatchLaunch('other') @@ -10192,12 +13706,14 @@ UploadSessionFinishBatchResultEntry._tagmap = { UploadSessionFinishError._lookup_failed_validator = UploadSessionLookupError_validator UploadSessionFinishError._path_validator = WriteError_validator +UploadSessionFinishError._properties_error_validator = file_properties.InvalidPropertyGroupError_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, + 'properties_error': UploadSessionFinishError._properties_error_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, @@ -10211,18 +13727,21 @@ UploadSessionLookupError._not_found_validator = bv.Void() UploadSessionLookupError._incorrect_offset_validator = UploadSessionOffsetError_validator UploadSessionLookupError._closed_validator = bv.Void() UploadSessionLookupError._not_closed_validator = bv.Void() +UploadSessionLookupError._too_large_validator = bv.Void() UploadSessionLookupError._other_validator = bv.Void() UploadSessionLookupError._tagmap = { 'not_found': UploadSessionLookupError._not_found_validator, 'incorrect_offset': UploadSessionLookupError._incorrect_offset_validator, 'closed': UploadSessionLookupError._closed_validator, 'not_closed': UploadSessionLookupError._not_closed_validator, + 'too_large': UploadSessionLookupError._too_large_validator, 'other': UploadSessionLookupError._other_validator, } UploadSessionLookupError.not_found = UploadSessionLookupError('not_found') UploadSessionLookupError.closed = UploadSessionLookupError('closed') UploadSessionLookupError.not_closed = UploadSessionLookupError('not_closed') +UploadSessionLookupError.too_large = UploadSessionLookupError('too_large') UploadSessionLookupError.other = UploadSessionLookupError('other') UploadSessionOffsetError._correct_offset_validator = bv.UInt64() @@ -10276,6 +13795,7 @@ 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._too_many_write_operations_validator = bv.Void() WriteError._other_validator = bv.Void() WriteError._tagmap = { 'malformed_path': WriteError._malformed_path_validator, @@ -10284,6 +13804,7 @@ WriteError._tagmap = { 'insufficient_space': WriteError._insufficient_space_validator, 'disallowed_name': WriteError._disallowed_name_validator, 'team_folder': WriteError._team_folder_validator, + 'too_many_write_operations': WriteError._too_many_write_operations_validator, 'other': WriteError._other_validator, } @@ -10291,6 +13812,7 @@ 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.too_many_write_operations = WriteError('too_many_write_operations') WriteError.other = WriteError('other') WriteMode._add_validator = bv.Void() @@ -10307,7 +13829,8 @@ WriteMode.overwrite = WriteMode('overwrite') alpha_get_metadata = bb.Route( 'alpha/get_metadata', - False, + 1, + True, AlphaGetMetadataArg_validator, Metadata_validator, AlphaGetMetadataError_validator, @@ -10316,15 +13839,27 @@ alpha_get_metadata = bb.Route( ) alpha_upload = bb.Route( 'alpha/upload', - False, + 1, + True, CommitInfoWithProperties_validator, FileMetadata_validator, UploadErrorWithProperties_validator, {'host': u'content', 'style': u'upload'}, ) +copy_v2 = bb.Route( + 'copy', + 2, + False, + RelocationArg_validator, + RelocationResult_validator, + RelocationError_validator, + {'host': u'api', + 'style': u'rpc'}, +) copy = bb.Route( 'copy', + 1, True, RelocationArg_validator, Metadata_validator, @@ -10332,26 +13867,49 @@ copy = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +copy_batch_v2 = bb.Route( + 'copy_batch', + 2, + False, + CopyBatchArg_validator, + RelocationBatchV2Launch_validator, + bv.Void(), + {'host': u'api', + 'style': u'rpc'}, +) copy_batch = bb.Route( 'copy_batch', - False, + 1, + True, RelocationBatchArg_validator, RelocationBatchLaunch_validator, bv.Void(), {'host': u'api', 'style': u'rpc'}, ) +copy_batch_check_v2 = bb.Route( + 'copy_batch/check', + 2, + False, + async_.PollArg_validator, + RelocationBatchV2JobStatus_validator, + async_.PollError_validator, + {'host': u'api', + 'style': u'rpc'}, +) copy_batch_check = bb.Route( 'copy_batch/check', - False, - async.PollArg_validator, + 1, + True, + async_.PollArg_validator, RelocationBatchJobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) copy_reference_get = bb.Route( 'copy_reference/get', + 1, False, GetCopyReferenceArg_validator, GetCopyReferenceResult_validator, @@ -10361,6 +13919,7 @@ copy_reference_get = bb.Route( ) copy_reference_save = bb.Route( 'copy_reference/save', + 1, False, SaveCopyReferenceArg_validator, SaveCopyReferenceResult_validator, @@ -10368,26 +13927,9 @@ copy_reference_save = bb.Route( {'host': u'api', 'style': u'rpc'}, ) -copy_v2 = bb.Route( - 'copy_v2', - False, - RelocationArg_validator, - RelocationResult_validator, - RelocationError_validator, - {'host': u'api', - 'style': u'rpc'}, -) -create_folder = bb.Route( - 'create_folder', - True, - CreateFolderArg_validator, - FolderMetadata_validator, - CreateFolderError_validator, - {'host': u'api', - 'style': u'rpc'}, -) create_folder_v2 = bb.Route( - 'create_folder_v2', + 'create_folder', + 2, False, CreateFolderArg_validator, CreateFolderResult_validator, @@ -10395,8 +13937,49 @@ create_folder_v2 = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +create_folder = bb.Route( + 'create_folder', + 1, + True, + CreateFolderArg_validator, + FolderMetadata_validator, + CreateFolderError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +create_folder_batch = bb.Route( + 'create_folder_batch', + 1, + False, + CreateFolderBatchArg_validator, + CreateFolderBatchLaunch_validator, + bv.Void(), + {'host': u'api', + 'style': u'rpc'}, +) +create_folder_batch_check = bb.Route( + 'create_folder_batch/check', + 1, + False, + async_.PollArg_validator, + CreateFolderBatchJobStatus_validator, + async_.PollError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +delete_v2 = bb.Route( + 'delete', + 2, + False, + DeleteArg_validator, + DeleteResult_validator, + DeleteError_validator, + {'host': u'api', + 'style': u'rpc'}, +) delete = bb.Route( 'delete', + 1, True, DeleteArg_validator, Metadata_validator, @@ -10406,6 +13989,7 @@ delete = bb.Route( ) delete_batch = bb.Route( 'delete_batch', + 1, False, DeleteBatchArg_validator, DeleteBatchLaunch_validator, @@ -10415,24 +13999,17 @@ delete_batch = bb.Route( ) delete_batch_check = bb.Route( 'delete_batch/check', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, DeleteBatchJobStatus_validator, - async.PollError_validator, - {'host': u'api', - 'style': u'rpc'}, -) -delete_v2 = bb.Route( - 'delete_v2', - False, - DeleteArg_validator, - DeleteResult_validator, - DeleteError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) download = bb.Route( 'download', + 1, False, DownloadArg_validator, FileMetadata_validator, @@ -10440,8 +14017,29 @@ download = bb.Route( {'host': u'content', 'style': u'download'}, ) +download_zip = bb.Route( + 'download_zip', + 1, + False, + DownloadZipArg_validator, + DownloadZipResult_validator, + DownloadZipError_validator, + {'host': u'content', + 'style': u'download'}, +) +export = bb.Route( + 'export', + 1, + False, + ExportArg_validator, + ExportResult_validator, + ExportError_validator, + {'host': u'content', + 'style': u'download'}, +) get_metadata = bb.Route( 'get_metadata', + 1, False, GetMetadataArg_validator, Metadata_validator, @@ -10451,6 +14049,7 @@ get_metadata = bb.Route( ) get_preview = bb.Route( 'get_preview', + 1, False, PreviewArg_validator, FileMetadata_validator, @@ -10460,6 +14059,7 @@ get_preview = bb.Route( ) get_temporary_link = bb.Route( 'get_temporary_link', + 1, False, GetTemporaryLinkArg_validator, GetTemporaryLinkResult_validator, @@ -10467,8 +14067,19 @@ get_temporary_link = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +get_temporary_upload_link = bb.Route( + 'get_temporary_upload_link', + 1, + False, + GetTemporaryUploadLinkArg_validator, + GetTemporaryUploadLinkResult_validator, + bv.Void(), + {'host': u'api', + 'style': u'rpc'}, +) get_thumbnail = bb.Route( 'get_thumbnail', + 1, False, ThumbnailArg_validator, FileMetadata_validator, @@ -10478,6 +14089,7 @@ get_thumbnail = bb.Route( ) get_thumbnail_batch = bb.Route( 'get_thumbnail_batch', + 1, False, GetThumbnailBatchArg_validator, GetThumbnailBatchResult_validator, @@ -10487,6 +14099,7 @@ get_thumbnail_batch = bb.Route( ) list_folder = bb.Route( 'list_folder', + 1, False, ListFolderArg_validator, ListFolderResult_validator, @@ -10496,6 +14109,7 @@ list_folder = bb.Route( ) list_folder_continue = bb.Route( 'list_folder/continue', + 1, False, ListFolderContinueArg_validator, ListFolderResult_validator, @@ -10505,6 +14119,7 @@ list_folder_continue = bb.Route( ) list_folder_get_latest_cursor = bb.Route( 'list_folder/get_latest_cursor', + 1, False, ListFolderArg_validator, ListFolderGetLatestCursorResult_validator, @@ -10514,6 +14129,7 @@ list_folder_get_latest_cursor = bb.Route( ) list_folder_longpoll = bb.Route( 'list_folder/longpoll', + 1, False, ListFolderLongpollArg_validator, ListFolderLongpollResult_validator, @@ -10523,6 +14139,7 @@ list_folder_longpoll = bb.Route( ) list_revisions = bb.Route( 'list_revisions', + 1, False, ListRevisionsArg_validator, ListRevisionsResult_validator, @@ -10530,35 +14147,9 @@ list_revisions = bb.Route( {'host': u'api', 'style': u'rpc'}, ) -move = bb.Route( - 'move', - True, - RelocationArg_validator, - Metadata_validator, - RelocationError_validator, - {'host': u'api', - 'style': u'rpc'}, -) -move_batch = bb.Route( - 'move_batch', - False, - RelocationBatchArg_validator, - RelocationBatchLaunch_validator, - bv.Void(), - {'host': u'api', - 'style': u'rpc'}, -) -move_batch_check = bb.Route( - 'move_batch/check', - False, - async.PollArg_validator, - RelocationBatchJobStatus_validator, - async.PollError_validator, - {'host': u'api', - 'style': u'rpc'}, -) move_v2 = bb.Route( - 'move_v2', + 'move', + 2, False, RelocationArg_validator, RelocationResult_validator, @@ -10566,8 +14157,59 @@ move_v2 = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +move = bb.Route( + 'move', + 1, + True, + RelocationArg_validator, + Metadata_validator, + RelocationError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +move_batch_v2 = bb.Route( + 'move_batch', + 2, + False, + MoveBatchArg_validator, + RelocationBatchV2Launch_validator, + bv.Void(), + {'host': u'api', + 'style': u'rpc'}, +) +move_batch = bb.Route( + 'move_batch', + 1, + False, + RelocationBatchArg_validator, + RelocationBatchLaunch_validator, + bv.Void(), + {'host': u'api', + 'style': u'rpc'}, +) +move_batch_check_v2 = bb.Route( + 'move_batch/check', + 2, + False, + async_.PollArg_validator, + RelocationBatchV2JobStatus_validator, + async_.PollError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +move_batch_check = bb.Route( + 'move_batch/check', + 1, + False, + async_.PollArg_validator, + RelocationBatchJobStatus_validator, + async_.PollError_validator, + {'host': u'api', + 'style': u'rpc'}, +) permanently_delete = bb.Route( 'permanently_delete', + 1, False, DeleteArg_validator, bv.Void(), @@ -10577,6 +14219,7 @@ permanently_delete = bb.Route( ) properties_add = bb.Route( 'properties/add', + 1, True, file_properties.AddPropertiesArg_validator, bv.Void(), @@ -10586,6 +14229,7 @@ properties_add = bb.Route( ) properties_overwrite = bb.Route( 'properties/overwrite', + 1, True, file_properties.OverwritePropertyGroupArg_validator, bv.Void(), @@ -10595,6 +14239,7 @@ properties_overwrite = bb.Route( ) properties_remove = bb.Route( 'properties/remove', + 1, True, file_properties.RemovePropertiesArg_validator, bv.Void(), @@ -10604,6 +14249,7 @@ properties_remove = bb.Route( ) properties_template_get = bb.Route( 'properties/template/get', + 1, True, file_properties.GetTemplateArg_validator, file_properties.GetTemplateResult_validator, @@ -10613,6 +14259,7 @@ properties_template_get = bb.Route( ) properties_template_list = bb.Route( 'properties/template/list', + 1, True, bv.Void(), file_properties.ListTemplateResult_validator, @@ -10622,6 +14269,7 @@ properties_template_list = bb.Route( ) properties_update = bb.Route( 'properties/update', + 1, True, file_properties.UpdatePropertiesArg_validator, bv.Void(), @@ -10631,6 +14279,7 @@ properties_update = bb.Route( ) restore = bb.Route( 'restore', + 1, False, RestoreArg_validator, FileMetadata_validator, @@ -10640,6 +14289,7 @@ restore = bb.Route( ) save_url = bb.Route( 'save_url', + 1, False, SaveUrlArg_validator, SaveUrlResult_validator, @@ -10649,15 +14299,17 @@ save_url = bb.Route( ) save_url_check_job_status = bb.Route( 'save_url/check_job_status', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, SaveUrlJobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) search = bb.Route( 'search', + 1, False, SearchArg_validator, SearchResult_validator, @@ -10667,6 +14319,7 @@ search = bb.Route( ) upload = bb.Route( 'upload', + 1, False, CommitInfo_validator, FileMetadata_validator, @@ -10674,17 +14327,9 @@ upload = bb.Route( {'host': u'content', 'style': u'upload'}, ) -upload_session_append = bb.Route( - 'upload_session/append', - True, - UploadSessionCursor_validator, - bv.Void(), - UploadSessionLookupError_validator, - {'host': u'content', - 'style': u'upload'}, -) upload_session_append_v2 = bb.Route( - 'upload_session/append_v2', + 'upload_session/append', + 2, False, UploadSessionAppendArg_validator, bv.Void(), @@ -10692,8 +14337,19 @@ upload_session_append_v2 = bb.Route( {'host': u'content', 'style': u'upload'}, ) +upload_session_append = bb.Route( + 'upload_session/append', + 1, + True, + UploadSessionCursor_validator, + bv.Void(), + UploadSessionLookupError_validator, + {'host': u'content', + 'style': u'upload'}, +) upload_session_finish = bb.Route( 'upload_session/finish', + 1, False, UploadSessionFinishArg_validator, FileMetadata_validator, @@ -10703,6 +14359,7 @@ upload_session_finish = bb.Route( ) upload_session_finish_batch = bb.Route( 'upload_session/finish_batch', + 1, False, UploadSessionFinishBatchArg_validator, UploadSessionFinishBatchLaunch_validator, @@ -10712,15 +14369,17 @@ upload_session_finish_batch = bb.Route( ) upload_session_finish_batch_check = bb.Route( 'upload_session/finish_batch/check', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, UploadSessionFinishBatchJobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) upload_session_start = bb.Route( 'upload_session/start', + 1, False, UploadSessionStartArg_validator, UploadSessionStartResult_validator, @@ -10732,22 +14391,29 @@ upload_session_start = bb.Route( ROUTES = { 'alpha/get_metadata': alpha_get_metadata, 'alpha/upload': alpha_upload, + 'copy:2': copy_v2, 'copy': copy, + 'copy_batch:2': copy_batch_v2, 'copy_batch': copy_batch, + 'copy_batch/check:2': copy_batch_check_v2, 'copy_batch/check': copy_batch_check, 'copy_reference/get': copy_reference_get, 'copy_reference/save': copy_reference_save, - 'copy_v2': copy_v2, + 'create_folder:2': create_folder_v2, 'create_folder': create_folder, - 'create_folder_v2': create_folder_v2, + 'create_folder_batch': create_folder_batch, + 'create_folder_batch/check': create_folder_batch_check, + 'delete:2': delete_v2, 'delete': delete, 'delete_batch': delete_batch, 'delete_batch/check': delete_batch_check, - 'delete_v2': delete_v2, 'download': download, + 'download_zip': download_zip, + 'export': export, 'get_metadata': get_metadata, 'get_preview': get_preview, 'get_temporary_link': get_temporary_link, + 'get_temporary_upload_link': get_temporary_upload_link, 'get_thumbnail': get_thumbnail, 'get_thumbnail_batch': get_thumbnail_batch, 'list_folder': list_folder, @@ -10755,10 +14421,12 @@ ROUTES = { 'list_folder/get_latest_cursor': list_folder_get_latest_cursor, 'list_folder/longpoll': list_folder_longpoll, 'list_revisions': list_revisions, + 'move:2': move_v2, 'move': move, + 'move_batch:2': move_batch_v2, 'move_batch': move_batch, + 'move_batch/check:2': move_batch_check_v2, 'move_batch/check': move_batch_check, - 'move_v2': move_v2, 'permanently_delete': permanently_delete, 'properties/add': properties_add, 'properties/overwrite': properties_overwrite, @@ -10771,8 +14439,8 @@ ROUTES = { 'save_url/check_job_status': save_url_check_job_status, 'search': search, 'upload': upload, + 'upload_session/append:2': upload_session_append_v2, 'upload_session/append': upload_session_append, - 'upload_session/append_v2': upload_session_append_v2, 'upload_session/finish': upload_session_finish, 'upload_session/finish_batch': upload_session_finish_batch, 'upload_session/finish_batch/check': upload_session_finish_batch_check, diff --git a/resources/lib/dropbox/paper.py b/resources/lib/dropbox/paper.py index bc09345..ec73ecf 100644 --- a/resources/lib/dropbox/paper.py +++ b/resources/lib/dropbox/paper.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file """ @@ -9,7 +10,7 @@ This namespace contains endpoints and data types for managing docs and folders i try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -20,15 +21,15 @@ try: common, sharing, ) -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): import common import sharing -class AddMember(object): +class AddMember(bb.Struct): """ - :ivar permission_level: Permission for the user. - :ivar member: User which should be added to the Paper doc. Specify only - email address or Dropbox account ID. + :ivar paper.AddMember.permission_level: Permission for the user. + :ivar paper.AddMember.member: User which should be added to the Paper doc. + Specify only email address or Dropbox account ID. """ __slots__ = [ @@ -81,7 +82,7 @@ class AddMember(object): User which should be added to the Paper doc. Specify only email address or Dropbox account ID. - :rtype: sharing.MemberSelector_validator + :rtype: sharing.MemberSelector """ if self._member_present: return self._member_value @@ -99,6 +100,9 @@ class AddMember(object): self._member_value = None self._member_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddMember, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddMember(member={!r}, permission_level={!r})'.format( self._member_value, @@ -107,9 +111,9 @@ class AddMember(object): AddMember_validator = bv.Struct(AddMember) -class RefPaperDoc(object): +class RefPaperDoc(bb.Struct): """ - :ivar doc_id: The Paper doc ID. + :ivar paper.RefPaperDoc.doc_id: The Paper doc ID. """ __slots__ = [ @@ -149,6 +153,9 @@ class RefPaperDoc(object): self._doc_id_value = None self._doc_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RefPaperDoc, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RefPaperDoc(doc_id={!r})'.format( self._doc_id_value, @@ -158,12 +165,12 @@ RefPaperDoc_validator = bv.Struct(RefPaperDoc) class AddPaperDocUser(RefPaperDoc): """ - :ivar members: User which should be added to the Paper doc. Specify only - 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 message shall be - sent to added users. + :ivar paper.AddPaperDocUser.members: User which should be added to the Paper + doc. Specify only email address or Dropbox account ID. + :ivar paper.AddPaperDocUser.custom_message: A personal message that will be + emailed to each successfully added member. + :ivar paper.AddPaperDocUser.quiet: Clients should set this to true if no + email message shall be sent to added users. """ __slots__ = [ @@ -271,6 +278,9 @@ class AddPaperDocUser(RefPaperDoc): self._quiet_value = None self._quiet_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddPaperDocUser, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddPaperDocUser(doc_id={!r}, members={!r}, custom_message={!r}, quiet={!r})'.format( self._doc_id_value, @@ -281,12 +291,14 @@ class AddPaperDocUser(RefPaperDoc): AddPaperDocUser_validator = bv.Struct(AddPaperDocUser) -class AddPaperDocUserMemberResult(object): +class AddPaperDocUserMemberResult(bb.Struct): """ Per-member result for :meth:`dropbox.dropbox.Dropbox.paper_docs_users_add`. - :ivar member: One of specified input members. - :ivar result: The outcome of the action on this member. + :ivar paper.AddPaperDocUserMemberResult.member: One of specified input + members. + :ivar paper.AddPaperDocUserMemberResult.result: The outcome of the action on + this member. """ __slots__ = [ @@ -315,7 +327,7 @@ class AddPaperDocUserMemberResult(object): """ One of specified input members. - :rtype: sharing.MemberSelector_validator + :rtype: sharing.MemberSelector """ if self._member_present: return self._member_value @@ -356,6 +368,9 @@ class AddPaperDocUserMemberResult(object): self._result_value = None self._result_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddPaperDocUserMemberResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddPaperDocUserMemberResult(member={!r}, result={!r})'.format( self._member_value, @@ -370,18 +385,20 @@ class AddPaperDocUserResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar success: User was successfully added to the Paper doc. - :ivar unknown_error: Something unexpected happened when trying to add the - user to the Paper doc. - :ivar sharing_outside_team_disabled: The Paper doc can be shared only with - team members. - :ivar daily_limit_reached: The daily limit of how many users can be added to - the Paper doc was reached. - :ivar user_is_owner: Owner's permissions cannot be changed. - :ivar failed_user_data_retrieval: User data could not be retrieved. Clients - should retry. - :ivar permission_already_granted: This user already has the correct - permission to the Paper doc. + :ivar paper.AddPaperDocUserResult.success: User was successfully added to + the Paper doc. + :ivar paper.AddPaperDocUserResult.unknown_error: Something unexpected + happened when trying to add the user to the Paper doc. + :ivar paper.AddPaperDocUserResult.sharing_outside_team_disabled: The Paper + doc can be shared only with team members. + :ivar paper.AddPaperDocUserResult.daily_limit_reached: The daily limit of + how many users can be added to the Paper doc was reached. + :ivar paper.AddPaperDocUserResult.user_is_owner: Owner's permissions cannot + be changed. + :ivar paper.AddPaperDocUserResult.failed_user_data_retrieval: User data + could not be retrieved. Clients should retry. + :ivar paper.AddPaperDocUserResult.permission_already_granted: This user + already has the correct permission to the Paper doc. """ _catch_all = 'other' @@ -466,27 +483,30 @@ class AddPaperDocUserResult(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddPaperDocUserResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddPaperDocUserResult(%r, %r)' % (self._tag, self._value) AddPaperDocUserResult_validator = bv.Union(AddPaperDocUserResult) -class Cursor(object): +class Cursor(bb.Struct): """ - :ivar value: The actual cursor value. - :ivar expiration: Expiration time of ``value``. Some cursors might have - expiration time assigned. This is a UTC value after which the cursor is - no longer valid and the API starts returning an error. If cursor expires - a new one needs to be obtained and pagination needs to be restarted. - Some cursors might be short-lived some cursors might be long-lived. This - really depends on the sorting type and order, e.g.: 1. on one hand, - listing docs created by the user, sorted by the created time ascending - will have undefinite expiration because the results cannot change while - the iteration is happening. This cursor would be suitable for long term - polling. 2. on the other hand, listing docs sorted by the last modified - time will have a very short expiration as docs do get modified very - often and the modified time can be changed while the iteration is - happening thus altering the results. + :ivar paper.Cursor.value: The actual cursor value. + :ivar paper.Cursor.expiration: Expiration time of ``value``. Some cursors + might have expiration time assigned. This is a UTC value after which the + cursor is no longer valid and the API starts returning an error. If + cursor expires a new one needs to be obtained and pagination needs to be + restarted. Some cursors might be short-lived some cursors might be + long-lived. This really depends on the sorting type and order, e.g.: 1. + on one hand, listing docs created by the user, sorted by the created + time ascending will have undefinite expiration because the results + cannot change while the iteration is happening. This cursor would be + suitable for long term polling. 2. on the other hand, listing docs + sorted by the last modified time will have a very short expiration as + docs do get modified very often and the modified time can be changed + while the iteration is happening thus altering the results. """ __slots__ = [ @@ -571,6 +591,9 @@ class Cursor(object): self._expiration_value = None self._expiration_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Cursor, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Cursor(value={!r}, expiration={!r})'.format( self._value_value, @@ -585,8 +608,8 @@ class PaperApiBaseError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar insufficient_permissions: Your account does not have permissions to - perform this action. + :ivar paper.PaperApiBaseError.insufficient_permissions: Your account does + not have permissions to perform this action. """ _catch_all = 'other' @@ -611,6 +634,9 @@ class PaperApiBaseError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperApiBaseError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperApiBaseError(%r, %r)' % (self._tag, self._value) @@ -622,7 +648,7 @@ class DocLookupError(PaperApiBaseError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar doc_not_found: The required doc was not found. + :ivar paper.DocLookupError.doc_not_found: The required doc was not found. """ # Attribute is overwritten below the class definition @@ -636,6 +662,9 @@ class DocLookupError(PaperApiBaseError): """ return self._tag == 'doc_not_found' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DocLookupError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DocLookupError(%r, %r)' % (self._tag, self._value) @@ -649,13 +678,14 @@ 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 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 email messages are sent. + :ivar paper.DocSubscriptionLevel.default: No change email messages unless + you're the creator. + :ivar paper.DocSubscriptionLevel.ignore: Ignored: Not shown in pad lists or + activity and no email message is sent. + :ivar paper.DocSubscriptionLevel.every: Subscribed: Shown in pad lists and + activity and change email messages are sent. + :ivar paper.DocSubscriptionLevel.no_email: Unsubscribed: Shown in pad lists, + but not in activity and no change email messages are sent. """ _catch_all = None @@ -700,6 +730,9 @@ class DocSubscriptionLevel(bb.Union): """ return self._tag == 'no_email' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DocSubscriptionLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DocSubscriptionLevel(%r, %r)' % (self._tag, self._value) @@ -713,8 +746,8 @@ class ExportFormat(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar html: The HTML export format. - :ivar markdown: The markdown export format. + :ivar paper.ExportFormat.html: The HTML export format. + :ivar paper.ExportFormat.markdown: The markdown export format. """ _catch_all = 'other' @@ -749,17 +782,21 @@ class ExportFormat(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportFormat, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ExportFormat(%r, %r)' % (self._tag, self._value) ExportFormat_validator = bv.Union(ExportFormat) -class Folder(object): +class Folder(bb.Struct): """ Data structure representing a Paper folder. - :ivar id: Paper folder ID. This ID uniquely identifies the folder. - :ivar name: Paper folder name. + :ivar paper.Folder.id: Paper folder ID. This ID uniquely identifies the + folder. + :ivar paper.Folder.name: Paper folder name. """ __slots__ = [ @@ -829,6 +866,9 @@ class Folder(object): self._name_value = None self._name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Folder, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Folder(id={!r}, name={!r})'.format( self._id_value, @@ -846,9 +886,10 @@ class FolderSharingPolicyType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar team: Everyone in your team and anyone directly invited can access - this folder. - :ivar invite_only: Only people directly invited can access this folder. + :ivar paper.FolderSharingPolicyType.team: Everyone in your team and anyone + directly invited can access this folder. + :ivar paper.FolderSharingPolicyType.invite_only: Only people directly + invited can access this folder. """ _catch_all = None @@ -873,6 +914,9 @@ class FolderSharingPolicyType(bb.Union): """ return self._tag == 'invite_only' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderSharingPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderSharingPolicyType(%r, %r)' % (self._tag, self._value) @@ -886,10 +930,14 @@ 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 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. + :ivar paper.FolderSubscriptionLevel.none: Not shown in activity, no email + messages. + :ivar paper.FolderSubscriptionLevel.activity_only: Shown in activity, no + email messages. + :ivar paper.FolderSubscriptionLevel.daily_emails: Shown in activity, daily + email messages. + :ivar paper.FolderSubscriptionLevel.weekly_emails: Shown in activity, weekly + email messages. """ _catch_all = None @@ -934,19 +982,22 @@ class FolderSubscriptionLevel(bb.Union): """ return self._tag == 'weekly_emails' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderSubscriptionLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderSubscriptionLevel(%r, %r)' % (self._tag, self._value) FolderSubscriptionLevel_validator = bv.Union(FolderSubscriptionLevel) -class FoldersContainingPaperDoc(object): +class FoldersContainingPaperDoc(bb.Struct): """ Metadata about Paper folders containing the specififed Paper doc. - :ivar folder_sharing_policy_type: The sharing policy of the folder - containing the Paper doc. - :ivar folders: The folder path. If present the first folder is the root - folder. + :ivar paper.FoldersContainingPaperDoc.folder_sharing_policy_type: The + sharing policy of the folder containing the Paper doc. + :ivar paper.FoldersContainingPaperDoc.folders: The folder path. If present + the first folder is the root folder. """ __slots__ = [ @@ -1022,6 +1073,9 @@ class FoldersContainingPaperDoc(object): self._folders_value = None self._folders_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FoldersContainingPaperDoc, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FoldersContainingPaperDoc(folder_sharing_policy_type={!r}, folders={!r})'.format( self._folder_sharing_policy_type_value, @@ -1038,11 +1092,14 @@ class ImportFormat(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar html: The provided data is interpreted as standard HTML. - :ivar markdown: The provided data is interpreted as markdown. Note: The - first line of the provided document will be used as the doc title. - :ivar plain_text: The provided data is interpreted as plain text. Note: The - first line of the provided document will be used as the doc title. + :ivar paper.ImportFormat.html: The provided data is interpreted as standard + HTML. + :ivar paper.ImportFormat.markdown: The provided data is interpreted as + markdown. Note: The first line of the provided document will be used as + the doc title. + :ivar paper.ImportFormat.plain_text: The provided data is interpreted as + plain text. Note: The first line of the provided document will be used + as the doc title. """ _catch_all = 'other' @@ -1087,15 +1144,20 @@ class ImportFormat(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ImportFormat, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ImportFormat(%r, %r)' % (self._tag, self._value) ImportFormat_validator = bv.Union(ImportFormat) -class InviteeInfoWithPermissionLevel(object): +class InviteeInfoWithPermissionLevel(bb.Struct): """ - :ivar invitee: Email address invited to the Paper doc. - :ivar permission_level: Permission level for the invitee. + :ivar paper.InviteeInfoWithPermissionLevel.invitee: Email address invited to + the Paper doc. + :ivar paper.InviteeInfoWithPermissionLevel.permission_level: Permission + level for the invitee. """ __slots__ = [ @@ -1124,7 +1186,7 @@ class InviteeInfoWithPermissionLevel(object): """ Email address invited to the Paper doc. - :rtype: sharing.InviteeInfo_validator + :rtype: sharing.InviteeInfo """ if self._invitee_present: return self._invitee_value @@ -1165,6 +1227,9 @@ class InviteeInfoWithPermissionLevel(object): self._permission_level_value = None self._permission_level_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(InviteeInfoWithPermissionLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'InviteeInfoWithPermissionLevel(invitee={!r}, permission_level={!r})'.format( self._invitee_value, @@ -1221,20 +1286,25 @@ class ListDocsCursorError(bb.Union): raise AttributeError("tag 'cursor_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListDocsCursorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListDocsCursorError(%r, %r)' % (self._tag, self._value) ListDocsCursorError_validator = bv.Union(ListDocsCursorError) -class ListPaperDocsArgs(object): +class ListPaperDocsArgs(bb.Struct): """ - :ivar filter_by: Allows user to specify how the Paper docs should be - filtered. - :ivar sort_by: Allows user to specify how the Paper docs should be sorted. - :ivar sort_order: Allows user to specify the sort order of the result. - :ivar limit: Size limit per batch. The maximum number of docs that can be - retrieved per batch is 1000. Higher value results in invalid arguments - error. + :ivar paper.ListPaperDocsArgs.filter_by: Allows user to specify how the + Paper docs should be filtered. + :ivar paper.ListPaperDocsArgs.sort_by: Allows user to specify how the Paper + docs should be sorted. + :ivar paper.ListPaperDocsArgs.sort_order: Allows user to specify the sort + order of the result. + :ivar paper.ListPaperDocsArgs.limit: Size limit per batch. The maximum + number of docs that can be retrieved per batch is 1000. Higher value + results in invalid arguments error. """ __slots__ = [ @@ -1347,7 +1417,7 @@ class ListPaperDocsArgs(object): Size limit per batch. The maximum number of docs that can be retrieved per batch is 1000. Higher value results in invalid arguments error. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -1365,6 +1435,9 @@ class ListPaperDocsArgs(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListPaperDocsArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListPaperDocsArgs(filter_by={!r}, sort_by={!r}, sort_order={!r}, limit={!r})'.format( self._filter_by_value, @@ -1375,9 +1448,9 @@ class ListPaperDocsArgs(object): ListPaperDocsArgs_validator = bv.Struct(ListPaperDocsArgs) -class ListPaperDocsContinueArgs(object): +class ListPaperDocsContinueArgs(bb.Struct): """ - :ivar cursor: The cursor obtained from + :ivar paper.ListPaperDocsContinueArgs.cursor: The cursor obtained from :meth:`dropbox.dropbox.Dropbox.paper_docs_list` or :meth:`dropbox.dropbox.Dropbox.paper_docs_list_continue`. Allows for pagination. @@ -1422,6 +1495,9 @@ class ListPaperDocsContinueArgs(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListPaperDocsContinueArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListPaperDocsContinueArgs(cursor={!r})'.format( self._cursor_value, @@ -1435,10 +1511,10 @@ 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 - accessed. - :ivar docs_created: Fetches only the Paper doc IDs that the user has - created. + :ivar paper.ListPaperDocsFilterBy.docs_accessed: Fetches all Paper doc IDs + that the user has ever accessed. + :ivar paper.ListPaperDocsFilterBy.docs_created: Fetches only the Paper doc + IDs that the user has created. """ _catch_all = 'other' @@ -1473,25 +1549,29 @@ class ListPaperDocsFilterBy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListPaperDocsFilterBy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListPaperDocsFilterBy(%r, %r)' % (self._tag, self._value) ListPaperDocsFilterBy_validator = bv.Union(ListPaperDocsFilterBy) -class ListPaperDocsResponse(object): +class ListPaperDocsResponse(bb.Struct): """ - :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`. - :ivar cursor: Pass the cursor into + :ivar paper.ListPaperDocsResponse.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`. + :ivar paper.ListPaperDocsResponse.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.paper_docs_list_continue` to paginate through all files. The cursor preserves all properties as specified in the original call to :meth:`dropbox.dropbox.Dropbox.paper_docs_list`. - :ivar has_more: Will be set to True if a subsequent call with the provided - cursor to :meth:`dropbox.dropbox.Dropbox.paper_docs_list_continue` - returns immediately with some results. If set to False please allow some - delay before making another call to + :ivar paper.ListPaperDocsResponse.has_more: Will be set to True if a + subsequent call with the provided cursor to + :meth:`dropbox.dropbox.Dropbox.paper_docs_list_continue` returns + immediately with some results. If set to False please allow some delay + before making another call to :meth:`dropbox.dropbox.Dropbox.paper_docs_list_continue`. """ @@ -1602,6 +1682,9 @@ class ListPaperDocsResponse(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListPaperDocsResponse, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListPaperDocsResponse(doc_ids={!r}, cursor={!r}, has_more={!r})'.format( self._doc_ids_value, @@ -1617,9 +1700,12 @@ class ListPaperDocsSortBy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar accessed: Sorts the Paper docs by the time they were last accessed. - :ivar modified: Sorts the Paper docs by the time they were last modified. - :ivar created: Sorts the Paper docs by the creation time. + :ivar paper.ListPaperDocsSortBy.accessed: Sorts the Paper docs by the time + they were last accessed. + :ivar paper.ListPaperDocsSortBy.modified: Sorts the Paper docs by the time + they were last modified. + :ivar paper.ListPaperDocsSortBy.created: Sorts the Paper docs by the + creation time. """ _catch_all = 'other' @@ -1664,6 +1750,9 @@ class ListPaperDocsSortBy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListPaperDocsSortBy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListPaperDocsSortBy(%r, %r)' % (self._tag, self._value) @@ -1675,8 +1764,10 @@ class ListPaperDocsSortOrder(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar ascending: Sorts the search result in ascending order. - :ivar descending: Sorts the search result in descending order. + :ivar paper.ListPaperDocsSortOrder.ascending: Sorts the search result in + ascending order. + :ivar paper.ListPaperDocsSortOrder.descending: Sorts the search result in + descending order. """ _catch_all = 'other' @@ -1711,6 +1802,9 @@ class ListPaperDocsSortOrder(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListPaperDocsSortOrder, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListPaperDocsSortOrder(%r, %r)' % (self._tag, self._value) @@ -1722,7 +1816,8 @@ class ListUsersCursorError(PaperApiBaseError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar doc_not_found: The required doc was not found. + :ivar paper.ListUsersCursorError.doc_not_found: The required doc was not + found. """ # Attribute is overwritten below the class definition @@ -1765,6 +1860,9 @@ class ListUsersCursorError(PaperApiBaseError): raise AttributeError("tag 'cursor_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListUsersCursorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListUsersCursorError(%r, %r)' % (self._tag, self._value) @@ -1772,9 +1870,9 @@ ListUsersCursorError_validator = bv.Union(ListUsersCursorError) class ListUsersOnFolderArgs(RefPaperDoc): """ - :ivar limit: Size limit per batch. The maximum number of users that can be - retrieved per batch is 1000. Higher value results in invalid arguments - error. + :ivar paper.ListUsersOnFolderArgs.limit: Size limit per batch. The maximum + number of users that can be retrieved per batch is 1000. Higher value + results in invalid arguments error. """ __slots__ = [ @@ -1799,7 +1897,7 @@ class ListUsersOnFolderArgs(RefPaperDoc): Size limit per batch. The maximum number of users that can be retrieved per batch is 1000. Higher value results in invalid arguments error. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -1817,6 +1915,9 @@ class ListUsersOnFolderArgs(RefPaperDoc): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListUsersOnFolderArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListUsersOnFolderArgs(doc_id={!r}, limit={!r})'.format( self._doc_id_value, @@ -1827,7 +1928,7 @@ ListUsersOnFolderArgs_validator = bv.Struct(ListUsersOnFolderArgs) class ListUsersOnFolderContinueArgs(RefPaperDoc): """ - :ivar cursor: The cursor obtained from + :ivar paper.ListUsersOnFolderContinueArgs.cursor: The cursor obtained from :meth:`dropbox.dropbox.Dropbox.paper_docs_folder_users_list` or :meth:`dropbox.dropbox.Dropbox.paper_docs_folder_users_list_continue`. Allows for pagination. @@ -1875,6 +1976,9 @@ class ListUsersOnFolderContinueArgs(RefPaperDoc): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListUsersOnFolderContinueArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListUsersOnFolderContinueArgs(doc_id={!r}, cursor={!r})'.format( self._doc_id_value, @@ -1883,18 +1987,19 @@ class ListUsersOnFolderContinueArgs(RefPaperDoc): ListUsersOnFolderContinueArgs_validator = bv.Struct(ListUsersOnFolderContinueArgs) -class ListUsersOnFolderResponse(object): +class ListUsersOnFolderResponse(bb.Struct): """ - :ivar invitees: List of email addresses that are invited on the Paper - folder. - :ivar users: List of users that are invited on the Paper folder. - :ivar cursor: Pass the cursor into + :ivar paper.ListUsersOnFolderResponse.invitees: List of email addresses that + are invited on the Paper folder. + :ivar paper.ListUsersOnFolderResponse.users: List of users that are invited + on the Paper folder. + :ivar paper.ListUsersOnFolderResponse.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.paper_docs_folder_users_list_continue` to paginate through all users. The cursor preserves all properties as specified in the original call to :meth:`dropbox.dropbox.Dropbox.paper_docs_folder_users_list`. - :ivar has_more: Will be set to True if a subsequent call with the provided - cursor to + :ivar paper.ListUsersOnFolderResponse.has_more: Will be set to True if a + subsequent call with the provided cursor to :meth:`dropbox.dropbox.Dropbox.paper_docs_folder_users_list_continue` returns immediately with some results. If set to False please allow some delay before making another call to @@ -1941,7 +2046,7 @@ class ListUsersOnFolderResponse(object): """ List of email addresses that are invited on the Paper folder. - :rtype: list of [sharing.InviteeInfo_validator] + :rtype: list of [sharing.InviteeInfo] """ if self._invitees_present: return self._invitees_value @@ -1964,7 +2069,7 @@ class ListUsersOnFolderResponse(object): """ List of users that are invited on the Paper folder. - :rtype: list of [sharing.UserInfo_validator] + :rtype: list of [sharing.UserInfo] """ if self._users_present: return self._users_value @@ -2036,6 +2141,9 @@ class ListUsersOnFolderResponse(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListUsersOnFolderResponse, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListUsersOnFolderResponse(invitees={!r}, users={!r}, cursor={!r}, has_more={!r})'.format( self._invitees_value, @@ -2048,11 +2156,11 @@ ListUsersOnFolderResponse_validator = bv.Struct(ListUsersOnFolderResponse) class ListUsersOnPaperDocArgs(RefPaperDoc): """ - :ivar limit: Size limit per batch. The maximum number of users that can be - retrieved per batch is 1000. Higher value results in invalid arguments - error. - :ivar filter_by: Specify this attribute if you want to obtain users that - have already accessed the Paper doc. + :ivar paper.ListUsersOnPaperDocArgs.limit: Size limit per batch. The maximum + number of users that can be retrieved per batch is 1000. Higher value + results in invalid arguments error. + :ivar paper.ListUsersOnPaperDocArgs.filter_by: Specify this attribute if you + want to obtain users that have already accessed the Paper doc. """ __slots__ = [ @@ -2084,7 +2192,7 @@ class ListUsersOnPaperDocArgs(RefPaperDoc): Size limit per batch. The maximum number of users that can be retrieved per batch is 1000. Higher value results in invalid arguments error. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -2126,6 +2234,9 @@ class ListUsersOnPaperDocArgs(RefPaperDoc): self._filter_by_value = None self._filter_by_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListUsersOnPaperDocArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListUsersOnPaperDocArgs(doc_id={!r}, limit={!r}, filter_by={!r})'.format( self._doc_id_value, @@ -2137,7 +2248,7 @@ ListUsersOnPaperDocArgs_validator = bv.Struct(ListUsersOnPaperDocArgs) class ListUsersOnPaperDocContinueArgs(RefPaperDoc): """ - :ivar cursor: The cursor obtained from + :ivar paper.ListUsersOnPaperDocContinueArgs.cursor: The cursor obtained from :meth:`dropbox.dropbox.Dropbox.paper_docs_users_list` or :meth:`dropbox.dropbox.Dropbox.paper_docs_users_list_continue`. Allows for pagination. @@ -2185,6 +2296,9 @@ class ListUsersOnPaperDocContinueArgs(RefPaperDoc): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListUsersOnPaperDocContinueArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListUsersOnPaperDocContinueArgs(doc_id={!r}, cursor={!r})'.format( self._doc_id_value, @@ -2193,23 +2307,25 @@ class ListUsersOnPaperDocContinueArgs(RefPaperDoc): ListUsersOnPaperDocContinueArgs_validator = bv.Struct(ListUsersOnPaperDocContinueArgs) -class ListUsersOnPaperDocResponse(object): +class ListUsersOnPaperDocResponse(bb.Struct): """ - :ivar invitees: List of email addresses with their respective permission - levels that are invited on the Paper doc. - :ivar users: List of users with their respective permission levels that are - invited on the Paper folder. - :ivar doc_owner: The Paper doc owner. This field is populated on every - single response. - :ivar cursor: Pass the cursor into + :ivar paper.ListUsersOnPaperDocResponse.invitees: List of email addresses + with their respective permission levels that are invited on the Paper + doc. + :ivar paper.ListUsersOnPaperDocResponse.users: List of users with their + respective permission levels that are invited on the Paper folder. + :ivar paper.ListUsersOnPaperDocResponse.doc_owner: The Paper doc owner. This + field is populated on every single response. + :ivar paper.ListUsersOnPaperDocResponse.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.paper_docs_users_list_continue` to paginate through all users. The cursor preserves all properties as specified in the original call to :meth:`dropbox.dropbox.Dropbox.paper_docs_users_list`. - :ivar has_more: Will be set to True if a subsequent call with the provided - cursor to :meth:`dropbox.dropbox.Dropbox.paper_docs_users_list_continue` - returns immediately with some results. If set to False please allow some - delay before making another call to + :ivar paper.ListUsersOnPaperDocResponse.has_more: Will be set to True if a + subsequent call with the provided cursor to + :meth:`dropbox.dropbox.Dropbox.paper_docs_users_list_continue` returns + immediately with some results. If set to False please allow some delay + before making another call to :meth:`dropbox.dropbox.Dropbox.paper_docs_users_list_continue`. """ @@ -2308,7 +2424,7 @@ class ListUsersOnPaperDocResponse(object): """ The Paper doc owner. This field is populated on every single response. - :rtype: sharing.UserInfo_validator + :rtype: sharing.UserInfo """ if self._doc_owner_present: return self._doc_owner_value @@ -2380,6 +2496,9 @@ class ListUsersOnPaperDocResponse(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListUsersOnPaperDocResponse, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListUsersOnPaperDocResponse(invitees={!r}, users={!r}, doc_owner={!r}, cursor={!r}, has_more={!r})'.format( self._invitees_value, @@ -2397,11 +2516,15 @@ class PaperApiCursorError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar expired_cursor: The provided cursor is expired. - :ivar invalid_cursor: The provided cursor is invalid. - :ivar wrong_user_in_cursor: The provided cursor contains invalid user. - :ivar reset: Indicates that the cursor has been invalidated. Call the - corresponding non-continue endpoint to obtain a new cursor. + :ivar paper.PaperApiCursorError.expired_cursor: The provided cursor is + expired. + :ivar paper.PaperApiCursorError.invalid_cursor: The provided cursor is + invalid. + :ivar paper.PaperApiCursorError.wrong_user_in_cursor: The provided cursor + contains invalid user. + :ivar paper.PaperApiCursorError.reset: Indicates that the cursor has been + invalidated. Call the corresponding non-continue endpoint to obtain a + new cursor. """ _catch_all = 'other' @@ -2456,17 +2579,20 @@ class PaperApiCursorError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperApiCursorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperApiCursorError(%r, %r)' % (self._tag, self._value) PaperApiCursorError_validator = bv.Union(PaperApiCursorError) -class PaperDocCreateArgs(object): +class PaperDocCreateArgs(bb.Struct): """ - :ivar parent_folder_id: The Paper folder ID where the Paper document should - be created. The API user has to have write access to this folder or - error is thrown. - :ivar import_format: The format of provided data. + :ivar paper.PaperDocCreateArgs.parent_folder_id: The Paper folder ID where + the Paper document should be created. The API user has to have write + access to this folder or error is thrown. + :ivar paper.PaperDocCreateArgs.import_format: The format of provided data. """ __slots__ = [ @@ -2540,6 +2666,9 @@ class PaperDocCreateArgs(object): self._import_format_value = None self._import_format_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocCreateArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocCreateArgs(import_format={!r}, parent_folder_id={!r})'.format( self._import_format_value, @@ -2554,14 +2683,15 @@ class PaperDocCreateError(PaperApiBaseError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar content_malformed: The provided content was malformed and cannot be - imported to Paper. - :ivar folder_not_found: The specified Paper folder is cannot be found. - :ivar doc_length_exceeded: The newly created Paper doc would be too large. - Please split the content into multiple docs. - :ivar image_size_exceeded: The imported document contains an image that is - too large. The current limit is 1MB. Note: This only applies to HTML - with data uri. + :ivar paper.PaperDocCreateError.content_malformed: The provided content was + malformed and cannot be imported to Paper. + :ivar paper.PaperDocCreateError.folder_not_found: The specified Paper folder + is cannot be found. + :ivar paper.PaperDocCreateError.doc_length_exceeded: The newly created Paper + doc would be too large. Please split the content into multiple docs. + :ivar paper.PaperDocCreateError.image_size_exceeded: The imported document + contains an image that is too large. The current limit is 1MB. Note: + This only applies to HTML with data uri. """ # Attribute is overwritten below the class definition @@ -2605,16 +2735,21 @@ class PaperDocCreateError(PaperApiBaseError): """ return self._tag == 'image_size_exceeded' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocCreateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocCreateError(%r, %r)' % (self._tag, self._value) PaperDocCreateError_validator = bv.Union(PaperDocCreateError) -class PaperDocCreateUpdateResult(object): +class PaperDocCreateUpdateResult(bb.Struct): """ - :ivar doc_id: Doc ID of the newly created doc. - :ivar revision: The Paper doc revision. Simply an ever increasing number. - :ivar title: The Paper doc title. + :ivar paper.PaperDocCreateUpdateResult.doc_id: Doc ID of the newly created + doc. + :ivar paper.PaperDocCreateUpdateResult.revision: The Paper doc revision. + Simply an ever increasing number. + :ivar paper.PaperDocCreateUpdateResult.title: The Paper doc title. """ __slots__ = [ @@ -2673,7 +2808,7 @@ class PaperDocCreateUpdateResult(object): """ The Paper doc revision. Simply an ever increasing number. - :rtype: long + :rtype: int """ if self._revision_present: return self._revision_value @@ -2714,6 +2849,9 @@ class PaperDocCreateUpdateResult(object): self._title_value = None self._title_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocCreateUpdateResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocCreateUpdateResult(doc_id={!r}, revision={!r}, title={!r})'.format( self._doc_id_value, @@ -2762,6 +2900,9 @@ class PaperDocExport(RefPaperDoc): self._export_format_value = None self._export_format_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocExport, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocExport(doc_id={!r}, export_format={!r})'.format( self._doc_id_value, @@ -2770,13 +2911,14 @@ class PaperDocExport(RefPaperDoc): PaperDocExport_validator = bv.Struct(PaperDocExport) -class PaperDocExportResult(object): +class PaperDocExportResult(bb.Struct): """ - :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 - :class:`ExportFormat` specified in the request. + :ivar paper.PaperDocExportResult.owner: The Paper doc owner's email address. + :ivar paper.PaperDocExportResult.title: The Paper doc title. + :ivar paper.PaperDocExportResult.revision: The Paper doc revision. Simply an + ever increasing number. + :ivar paper.PaperDocExportResult.mime_type: MIME type of the export. This + corresponds to :class:`ExportFormat` specified in the request. """ __slots__ = [ @@ -2865,7 +3007,7 @@ class PaperDocExportResult(object): """ The Paper doc revision. Simply an ever increasing number. - :rtype: long + :rtype: int """ if self._revision_present: return self._revision_value @@ -2907,6 +3049,9 @@ class PaperDocExportResult(object): self._mime_type_value = None self._mime_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocExportResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocExportResult(owner={!r}, title={!r}, revision={!r}, mime_type={!r})'.format( self._owner_value, @@ -2923,8 +3068,10 @@ class PaperDocPermissionLevel(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar edit: User will be granted edit permissions. - :ivar view_and_comment: User will be granted view and comment permissions. + :ivar paper.PaperDocPermissionLevel.edit: User will be granted edit + permissions. + :ivar paper.PaperDocPermissionLevel.view_and_comment: User will be granted + view and comment permissions. """ _catch_all = 'other' @@ -2959,6 +3106,9 @@ class PaperDocPermissionLevel(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocPermissionLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocPermissionLevel(%r, %r)' % (self._tag, self._value) @@ -2966,8 +3116,8 @@ PaperDocPermissionLevel_validator = bv.Union(PaperDocPermissionLevel) class PaperDocSharingPolicy(RefPaperDoc): """ - :ivar sharing_policy: The default sharing policy to be set for the Paper - doc. + :ivar paper.PaperDocSharingPolicy.sharing_policy: The default sharing policy + to be set for the Paper doc. """ __slots__ = [ @@ -3009,6 +3159,9 @@ class PaperDocSharingPolicy(RefPaperDoc): self._sharing_policy_value = None self._sharing_policy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocSharingPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocSharingPolicy(doc_id={!r}, sharing_policy={!r})'.format( self._doc_id_value, @@ -3019,11 +3172,12 @@ PaperDocSharingPolicy_validator = bv.Struct(PaperDocSharingPolicy) class PaperDocUpdateArgs(RefPaperDoc): """ - :ivar doc_update_policy: The policy used for the current update call. - :ivar revision: The latest doc revision. This value must match the head - revision or an error code will be returned. This is to prevent colliding - writes. - :ivar import_format: The format of provided data. + :ivar paper.PaperDocUpdateArgs.doc_update_policy: The policy used for the + current update call. + :ivar paper.PaperDocUpdateArgs.revision: The latest doc revision. This value + must match the head revision or an error code will be returned. This is + to prevent colliding writes. + :ivar paper.PaperDocUpdateArgs.import_format: The format of provided data. """ __slots__ = [ @@ -3085,7 +3239,7 @@ class PaperDocUpdateArgs(RefPaperDoc): The latest doc revision. This value must match the head revision or an error code will be returned. This is to prevent colliding writes. - :rtype: long + :rtype: int """ if self._revision_present: return self._revision_value @@ -3126,6 +3280,9 @@ class PaperDocUpdateArgs(RefPaperDoc): self._import_format_value = None self._import_format_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocUpdateArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocUpdateArgs(doc_id={!r}, doc_update_policy={!r}, revision={!r}, import_format={!r})'.format( self._doc_id_value, @@ -3142,17 +3299,19 @@ class PaperDocUpdateError(DocLookupError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar content_malformed: The provided content was malformed and cannot be - imported to Paper. - :ivar revision_mismatch: The provided revision does not match the document - head. - :ivar doc_length_exceeded: The newly created Paper doc would be too large, - split the content into multiple docs. - :ivar image_size_exceeded: The imported document contains an image that is - too large. The current limit is 1MB. Note: This only applies to HTML - with data uri. - :ivar doc_archived: This operation is not allowed on archived Paper docs. - :ivar doc_deleted: This operation is not allowed on deleted Paper docs. + :ivar paper.PaperDocUpdateError.content_malformed: The provided content was + malformed and cannot be imported to Paper. + :ivar paper.PaperDocUpdateError.revision_mismatch: The provided revision + does not match the document head. + :ivar paper.PaperDocUpdateError.doc_length_exceeded: The newly created Paper + doc would be too large, split the content into multiple docs. + :ivar paper.PaperDocUpdateError.image_size_exceeded: The imported document + contains an image that is too large. The current limit is 1MB. Note: + This only applies to HTML with data uri. + :ivar paper.PaperDocUpdateError.doc_archived: This operation is not allowed + on archived Paper docs. + :ivar paper.PaperDocUpdateError.doc_deleted: This operation is not allowed + on deleted Paper docs. """ # Attribute is overwritten below the class definition @@ -3216,6 +3375,9 @@ class PaperDocUpdateError(DocLookupError): """ return self._tag == 'doc_deleted' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocUpdateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocUpdateError(%r, %r)' % (self._tag, self._value) @@ -3227,11 +3389,12 @@ class PaperDocUpdatePolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar append: The content will be appended to the doc. - :ivar prepend: The content will be prepended to the doc. Note: the doc title - will not be affected. - :ivar overwrite_all: The document will be overwitten at the head with the - provided content. + :ivar paper.PaperDocUpdatePolicy.append: The content will be appended to the + doc. + :ivar paper.PaperDocUpdatePolicy.prepend: The content will be prepended to + the doc. Note: the doc title will not be affected. + :ivar paper.PaperDocUpdatePolicy.overwrite_all: The document will be + overwitten at the head with the provided content. """ _catch_all = 'other' @@ -3276,6 +3439,9 @@ class PaperDocUpdatePolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocUpdatePolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocUpdatePolicy(%r, %r)' % (self._tag, self._value) @@ -3283,8 +3449,8 @@ PaperDocUpdatePolicy_validator = bv.Union(PaperDocUpdatePolicy) class RemovePaperDocUser(RefPaperDoc): """ - :ivar member: User which should be removed from the Paper doc. Specify only - email address or Dropbox account ID. + :ivar paper.RemovePaperDocUser.member: User which should be removed from the + Paper doc. Specify only email address or Dropbox account ID. """ __slots__ = [ @@ -3309,7 +3475,7 @@ class RemovePaperDocUser(RefPaperDoc): User which should be removed from the Paper doc. Specify only email address or Dropbox account ID. - :rtype: sharing.MemberSelector_validator + :rtype: sharing.MemberSelector """ if self._member_present: return self._member_value @@ -3327,6 +3493,9 @@ class RemovePaperDocUser(RefPaperDoc): self._member_value = None self._member_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemovePaperDocUser, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemovePaperDocUser(doc_id={!r}, member={!r})'.format( self._doc_id_value, @@ -3335,13 +3504,14 @@ class RemovePaperDocUser(RefPaperDoc): RemovePaperDocUser_validator = bv.Struct(RemovePaperDocUser) -class SharingPolicy(object): +class SharingPolicy(bb.Struct): """ Sharing policy of Paper doc. - :ivar public_sharing_policy: This value applies to the non-team members. - :ivar team_sharing_policy: This value applies to the team members only. The - value is null for all personal accounts. + :ivar paper.SharingPolicy.public_sharing_policy: This value applies to the + non-team members. + :ivar paper.SharingPolicy.team_sharing_policy: This value applies to the + team members only. The value is null for all personal accounts. """ __slots__ = [ @@ -3418,6 +3588,9 @@ class SharingPolicy(object): self._team_sharing_policy_value = None self._team_sharing_policy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingPolicy(public_sharing_policy={!r}, team_sharing_policy={!r})'.format( self._public_sharing_policy_value, @@ -3434,11 +3607,12 @@ class SharingTeamPolicyType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar people_with_link_can_edit: Users who have a link to this doc can edit - it. - :ivar people_with_link_can_view_and_comment: Users who have a link to this - doc can view and comment on it. - :ivar invite_only: Users must be explicitly invited to this doc. + :ivar paper.SharingTeamPolicyType.people_with_link_can_edit: Users who have + a link to this doc can edit it. + :ivar paper.SharingTeamPolicyType.people_with_link_can_view_and_comment: + Users who have a link to this doc can view and comment on it. + :ivar paper.SharingTeamPolicyType.invite_only: Users must be explicitly + invited to this doc. """ _catch_all = None @@ -3473,6 +3647,9 @@ class SharingTeamPolicyType(bb.Union): """ return self._tag == 'invite_only' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingTeamPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingTeamPolicyType(%r, %r)' % (self._tag, self._value) @@ -3484,8 +3661,8 @@ class SharingPublicPolicyType(SharingTeamPolicyType): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar disabled: Value used to indicate that doc sharing is enabled only - within team. + :ivar paper.SharingPublicPolicyType.disabled: Value used to indicate that + doc sharing is enabled only within team. """ # Attribute is overwritten below the class definition @@ -3499,15 +3676,19 @@ class SharingPublicPolicyType(SharingTeamPolicyType): """ return self._tag == 'disabled' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingPublicPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingPublicPolicyType(%r, %r)' % (self._tag, self._value) SharingPublicPolicyType_validator = bv.Union(SharingPublicPolicyType) -class UserInfoWithPermissionLevel(object): +class UserInfoWithPermissionLevel(bb.Struct): """ - :ivar user: User shared on the Paper doc. - :ivar permission_level: Permission level for the user. + :ivar paper.UserInfoWithPermissionLevel.user: User shared on the Paper doc. + :ivar paper.UserInfoWithPermissionLevel.permission_level: Permission level + for the user. """ __slots__ = [ @@ -3536,7 +3717,7 @@ class UserInfoWithPermissionLevel(object): """ User shared on the Paper doc. - :rtype: sharing.UserInfo_validator + :rtype: sharing.UserInfo """ if self._user_present: return self._user_value @@ -3577,6 +3758,9 @@ class UserInfoWithPermissionLevel(object): self._permission_level_value = None self._permission_level_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserInfoWithPermissionLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserInfoWithPermissionLevel(user={!r}, permission_level={!r})'.format( self._user_value, @@ -3591,9 +3775,11 @@ class UserOnPaperDocFilter(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar visited: all users who have visited the Paper doc. - :ivar shared: All uses who are shared on the Paper doc. This includes all - users who have visited the Paper doc as well as those who have not. + :ivar paper.UserOnPaperDocFilter.visited: all users who have visited the + Paper doc. + :ivar paper.UserOnPaperDocFilter.shared: All uses who are shared on the + Paper doc. This includes all users who have visited the Paper doc as + well as those who have not. """ _catch_all = 'other' @@ -3628,6 +3814,9 @@ class UserOnPaperDocFilter(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserOnPaperDocFilter, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserOnPaperDocFilter(%r, %r)' % (self._tag, self._value) @@ -3879,7 +4068,7 @@ ListPaperDocsFilterBy.docs_accessed = ListPaperDocsFilterBy('docs_accessed') ListPaperDocsFilterBy.docs_created = ListPaperDocsFilterBy('docs_created') ListPaperDocsFilterBy.other = ListPaperDocsFilterBy('other') -ListPaperDocsResponse._doc_ids_validator = bv.List(bv.String()) +ListPaperDocsResponse._doc_ids_validator = bv.List(PaperDocId_validator) ListPaperDocsResponse._cursor_validator = Cursor_validator ListPaperDocsResponse._has_more_validator = bv.Boolean() ListPaperDocsResponse._all_field_names_ = set([ @@ -4206,6 +4395,7 @@ UserOnPaperDocFilter.other = UserOnPaperDocFilter('other') docs_archive = bb.Route( 'docs/archive', + 1, False, RefPaperDoc_validator, bv.Void(), @@ -4215,6 +4405,7 @@ docs_archive = bb.Route( ) docs_create = bb.Route( 'docs/create', + 1, False, PaperDocCreateArgs_validator, PaperDocCreateUpdateResult_validator, @@ -4224,6 +4415,7 @@ docs_create = bb.Route( ) docs_download = bb.Route( 'docs/download', + 1, False, PaperDocExport_validator, PaperDocExportResult_validator, @@ -4233,6 +4425,7 @@ docs_download = bb.Route( ) docs_folder_users_list = bb.Route( 'docs/folder_users/list', + 1, False, ListUsersOnFolderArgs_validator, ListUsersOnFolderResponse_validator, @@ -4242,6 +4435,7 @@ docs_folder_users_list = bb.Route( ) docs_folder_users_list_continue = bb.Route( 'docs/folder_users/list/continue', + 1, False, ListUsersOnFolderContinueArgs_validator, ListUsersOnFolderResponse_validator, @@ -4251,6 +4445,7 @@ docs_folder_users_list_continue = bb.Route( ) docs_get_folder_info = bb.Route( 'docs/get_folder_info', + 1, False, RefPaperDoc_validator, FoldersContainingPaperDoc_validator, @@ -4260,6 +4455,7 @@ docs_get_folder_info = bb.Route( ) docs_list = bb.Route( 'docs/list', + 1, False, ListPaperDocsArgs_validator, ListPaperDocsResponse_validator, @@ -4269,6 +4465,7 @@ docs_list = bb.Route( ) docs_list_continue = bb.Route( 'docs/list/continue', + 1, False, ListPaperDocsContinueArgs_validator, ListPaperDocsResponse_validator, @@ -4278,6 +4475,7 @@ docs_list_continue = bb.Route( ) docs_permanently_delete = bb.Route( 'docs/permanently_delete', + 1, False, RefPaperDoc_validator, bv.Void(), @@ -4287,6 +4485,7 @@ docs_permanently_delete = bb.Route( ) docs_sharing_policy_get = bb.Route( 'docs/sharing_policy/get', + 1, False, RefPaperDoc_validator, SharingPolicy_validator, @@ -4296,6 +4495,7 @@ docs_sharing_policy_get = bb.Route( ) docs_sharing_policy_set = bb.Route( 'docs/sharing_policy/set', + 1, False, PaperDocSharingPolicy_validator, bv.Void(), @@ -4305,6 +4505,7 @@ docs_sharing_policy_set = bb.Route( ) docs_update = bb.Route( 'docs/update', + 1, False, PaperDocUpdateArgs_validator, PaperDocCreateUpdateResult_validator, @@ -4314,6 +4515,7 @@ docs_update = bb.Route( ) docs_users_add = bb.Route( 'docs/users/add', + 1, False, AddPaperDocUser_validator, bv.List(AddPaperDocUserMemberResult_validator), @@ -4323,6 +4525,7 @@ docs_users_add = bb.Route( ) docs_users_list = bb.Route( 'docs/users/list', + 1, False, ListUsersOnPaperDocArgs_validator, ListUsersOnPaperDocResponse_validator, @@ -4332,6 +4535,7 @@ docs_users_list = bb.Route( ) docs_users_list_continue = bb.Route( 'docs/users/list/continue', + 1, False, ListUsersOnPaperDocContinueArgs_validator, ListUsersOnPaperDocResponse_validator, @@ -4341,6 +4545,7 @@ docs_users_list_continue = bb.Route( ) docs_users_remove = bb.Route( 'docs/users/remove', + 1, False, RemovePaperDocUser_validator, bv.Void(), diff --git a/resources/lib/dropbox/seen_state.py b/resources/lib/dropbox/seen_state.py new file mode 100644 index 0000000..ed4838c --- /dev/null +++ b/resources/lib/dropbox/seen_state.py @@ -0,0 +1,158 @@ +# -*- coding: utf-8 -*- +# Auto-generated by Stone, do not modify. +# @generated +# flake8: noqa +# pylint: skip-file +try: + from . import stone_validators as bv + from . import stone_base as bb +except (ImportError, 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 PlatformType(bb.Union): + """ + Possible platforms on which a user may view content. + + 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 seen_state.PlatformType.web: The content was viewed on the web. + :ivar seen_state.PlatformType.desktop: The content was viewed on a desktop + client. + :ivar seen_state.PlatformType.mobile_ios: The content was viewed on a mobile + iOS client. + :ivar seen_state.PlatformType.mobile_android: The content was viewed on a + mobile android client. + :ivar seen_state.PlatformType.api: The content was viewed from an API + client. + :ivar seen_state.PlatformType.unknown: The content was viewed on an unknown + platform. + :ivar seen_state.PlatformType.mobile: The content was viewed on a mobile + client. DEPRECATED: Use mobile_ios or mobile_android instead. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + web = None + # Attribute is overwritten below the class definition + desktop = None + # Attribute is overwritten below the class definition + mobile_ios = None + # Attribute is overwritten below the class definition + mobile_android = None + # Attribute is overwritten below the class definition + api = None + # Attribute is overwritten below the class definition + unknown = None + # Attribute is overwritten below the class definition + mobile = None + # Attribute is overwritten below the class definition + other = None + + def is_web(self): + """ + Check if the union tag is ``web``. + + :rtype: bool + """ + return self._tag == 'web' + + def is_desktop(self): + """ + Check if the union tag is ``desktop``. + + :rtype: bool + """ + return self._tag == 'desktop' + + def is_mobile_ios(self): + """ + Check if the union tag is ``mobile_ios``. + + :rtype: bool + """ + return self._tag == 'mobile_ios' + + def is_mobile_android(self): + """ + Check if the union tag is ``mobile_android``. + + :rtype: bool + """ + return self._tag == 'mobile_android' + + def is_api(self): + """ + Check if the union tag is ``api``. + + :rtype: bool + """ + return self._tag == 'api' + + def is_unknown(self): + """ + Check if the union tag is ``unknown``. + + :rtype: bool + """ + return self._tag == 'unknown' + + def is_mobile(self): + """ + Check if the union tag is ``mobile``. + + :rtype: bool + """ + return self._tag == 'mobile' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PlatformType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PlatformType(%r, %r)' % (self._tag, self._value) + +PlatformType_validator = bv.Union(PlatformType) + +PlatformType._web_validator = bv.Void() +PlatformType._desktop_validator = bv.Void() +PlatformType._mobile_ios_validator = bv.Void() +PlatformType._mobile_android_validator = bv.Void() +PlatformType._api_validator = bv.Void() +PlatformType._unknown_validator = bv.Void() +PlatformType._mobile_validator = bv.Void() +PlatformType._other_validator = bv.Void() +PlatformType._tagmap = { + 'web': PlatformType._web_validator, + 'desktop': PlatformType._desktop_validator, + 'mobile_ios': PlatformType._mobile_ios_validator, + 'mobile_android': PlatformType._mobile_android_validator, + 'api': PlatformType._api_validator, + 'unknown': PlatformType._unknown_validator, + 'mobile': PlatformType._mobile_validator, + 'other': PlatformType._other_validator, +} + +PlatformType.web = PlatformType('web') +PlatformType.desktop = PlatformType('desktop') +PlatformType.mobile_ios = PlatformType('mobile_ios') +PlatformType.mobile_android = PlatformType('mobile_android') +PlatformType.api = PlatformType('api') +PlatformType.unknown = PlatformType('unknown') +PlatformType.mobile = PlatformType('mobile') +PlatformType.other = PlatformType('other') + +ROUTES = { +} + diff --git a/resources/lib/dropbox/session.py b/resources/lib/dropbox/session.py index 22c9ec7..0632d46 100644 --- a/resources/lib/dropbox/session.py +++ b/resources/lib/dropbox/session.py @@ -1,10 +1,10 @@ -import pkg_resources +from . import pkg_resources import os import ssl import requests from requests.adapters import HTTPAdapter -from requests.packages.urllib3.poolmanager import PoolManager +from urllib3.poolmanager import PoolManager API_DOMAIN = os.environ.get('DROPBOX_API_DOMAIN', os.environ.get('DROPBOX_DOMAIN', '.dropboxapi.com')) diff --git a/resources/lib/dropbox/sharing.py b/resources/lib/dropbox/sharing.py index dacdc33..3385261 100644 --- a/resources/lib/dropbox/sharing.py +++ b/resources/lib/dropbox/sharing.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file """ @@ -9,7 +10,7 @@ This namespace contains endpoints and data types for creating and managing share try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -17,21 +18,77 @@ except (SystemError, ValueError): try: from . import ( - async, + async_, common, files, + seen_state, team_common, users, users_common, ) -except (SystemError, ValueError): - import async +except (ImportError, SystemError, ValueError): + import async_ import common import files + import seen_state import team_common import users import users_common +class AccessInheritance(bb.Union): + """ + Information about the inheritance policy of a shared folder. + + 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 sharing.AccessInheritance.inherit: The shared folder inherits its + members from the parent folder. + :ivar sharing.AccessInheritance.no_inherit: The shared folder does not + inherit its members from the parent folder. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + inherit = None + # Attribute is overwritten below the class definition + no_inherit = None + # Attribute is overwritten below the class definition + other = None + + def is_inherit(self): + """ + Check if the union tag is ``inherit``. + + :rtype: bool + """ + return self._tag == 'inherit' + + def is_no_inherit(self): + """ + Check if the union tag is ``no_inherit``. + + :rtype: bool + """ + return self._tag == 'no_inherit' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccessInheritance, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AccessInheritance(%r, %r)' % (self._tag, self._value) + +AccessInheritance_validator = bv.Union(AccessInheritance) + class AccessLevel(bb.Union): """ Defines the access levels for collaborators. @@ -40,13 +97,16 @@ class AccessLevel(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar owner: The collaborator is the owner of the shared folder. Owners can - view and edit the shared folder as well as set the folder's policies - using :meth:`dropbox.dropbox.Dropbox.sharing_update_folder_policy`. - :ivar editor: The collaborator can both view and edit the shared folder. - :ivar viewer: The collaborator can only view the shared folder. - :ivar viewer_no_comment: The collaborator can only view the shared folder - and does not have any access to comments. + :ivar sharing.AccessLevel.owner: The collaborator is the owner of the shared + folder. Owners can view and edit the shared folder as well as set the + folder's policies using + :meth:`dropbox.dropbox.Dropbox.sharing_update_folder_policy`. + :ivar sharing.AccessLevel.editor: The collaborator can both view and edit + the shared folder. + :ivar sharing.AccessLevel.viewer: The collaborator can only view the shared + folder. + :ivar sharing.AccessLevel.viewer_no_comment: The collaborator can only view + the shared folder and does not have any access to comments. """ _catch_all = 'other' @@ -101,6 +161,9 @@ class AccessLevel(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccessLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccessLevel(%r, %r)' % (self._tag, self._value) @@ -115,9 +178,9 @@ class AclUpdatePolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar owner: Only the owner can update the ACL. - :ivar editors: Any editor can update the ACL. This may be further restricted - to editors on the same team. + :ivar sharing.AclUpdatePolicy.owner: Only the owner can update the ACL. + :ivar sharing.AclUpdatePolicy.editors: Any editor can update the ACL. This + may be further restricted to editors on the same team. """ _catch_all = 'other' @@ -152,26 +215,30 @@ class AclUpdatePolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AclUpdatePolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AclUpdatePolicy(%r, %r)' % (self._tag, self._value) AclUpdatePolicy_validator = bv.Union(AclUpdatePolicy) -class AddFileMemberArgs(object): +class AddFileMemberArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_add_file_member`. - :ivar file: File to which to add members. - :ivar members: Members to add. Note that even an email address is given, - this may result in a user being directy added to the membership if that - email is the user's main account email. - :ivar custom_message: Message to send to added members in their invitation. - :ivar quiet: Whether added members should be notified via device - notifications of their invitation. - :ivar access_level: AccessLevel union object, describing what access level - we want to give new members. - :ivar add_message_as_comment: If the custom message should be added as a - comment on the file. + :ivar sharing.AddFileMemberArgs.file: File to which to add members. + :ivar sharing.AddFileMemberArgs.members: Members to add. Note that even an + email address is given, this may result in a user being directy added to + the membership if that email is the user's main account email. + :ivar sharing.AddFileMemberArgs.custom_message: Message to send to added + members in their invitation. + :ivar sharing.AddFileMemberArgs.quiet: Whether added members should be + notified via device notifications of their invitation. + :ivar sharing.AddFileMemberArgs.access_level: AccessLevel union object, + describing what access level we want to give new members. + :ivar sharing.AddFileMemberArgs.add_message_as_comment: If the custom + message should be added as a comment on the file. """ __slots__ = [ @@ -368,6 +435,9 @@ class AddFileMemberArgs(object): self._add_message_as_comment_value = None self._add_message_as_comment_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddFileMemberArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddFileMemberArgs(file={!r}, members={!r}, custom_message={!r}, quiet={!r}, access_level={!r}, add_message_as_comment={!r})'.format( self._file_value, @@ -388,9 +458,10 @@ class AddFileMemberError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar rate_limit: The user has reached the rate limit for invitations. - :ivar invalid_comment: The custom message did not pass comment permissions - checks. + :ivar sharing.AddFileMemberError.rate_limit: The user has reached the rate + limit for invitations. + :ivar sharing.AddFileMemberError.invalid_comment: The custom message did not + pass comment permissions checks. """ _catch_all = 'other' @@ -483,20 +554,24 @@ class AddFileMemberError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddFileMemberError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddFileMemberError(%r, %r)' % (self._tag, self._value) AddFileMemberError_validator = bv.Union(AddFileMemberError) -class AddFolderMemberArg(object): +class AddFolderMemberArg(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared folder. - :ivar members: The intended list of members to add. Added members will - receive invites to join the shared folder. - :ivar quiet: Whether added members should be notified via email and device - notifications of their invite. - :ivar custom_message: Optional message to display to added members in their - invitation. + :ivar sharing.AddFolderMemberArg.shared_folder_id: The ID for the shared + folder. + :ivar sharing.AddFolderMemberArg.members: The intended list of members to + add. Added members will receive invites to join the shared folder. + :ivar sharing.AddFolderMemberArg.quiet: Whether added members should be + notified via email and device notifications of their invite. + :ivar sharing.AddFolderMemberArg.custom_message: Optional message to display + to added members in their invitation. """ __slots__ = [ @@ -631,6 +706,9 @@ class AddFolderMemberArg(object): self._custom_message_value = None self._custom_message_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddFolderMemberArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddFolderMemberArg(shared_folder_id={!r}, members={!r}, quiet={!r}, custom_message={!r})'.format( self._shared_folder_id_value, @@ -647,32 +725,40 @@ class AddFolderMemberError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar SharedFolderAccessError access_error: Unable to access shared folder. - :ivar email_unverified: The current user's e-mail address is unverified. - :ivar AddMemberSelectorError bad_member: ``AddFolderMemberArg.members`` - contains a bad invitation recipient. - :ivar cant_share_outside_team: Your team policy does not allow sharing - outside of the team. - :ivar long too_many_members: The value is the member limit that was reached. - :ivar long too_many_pending_invites: The value is the pending invite limit - that was reached. - :ivar rate_limit: The current user has hit the limit of invites they can - send per day. Try again in 24 hours. - :ivar too_many_invitees: The current user is trying to share with too many - people at once. - :ivar insufficient_plan: The current user's account doesn't support this - action. An example of this is when adding a read-only member. This - action can only be performed by users that have upgraded to a Pro or - Business plan. - :ivar team_folder: This action cannot be performed on a team shared folder. - :ivar no_permission: The current user does not have permission to perform - this action. + :ivar SharedFolderAccessError AddFolderMemberError.access_error: Unable to + access shared folder. + :ivar sharing.AddFolderMemberError.email_unverified: The current user's + e-mail address is unverified. + :ivar sharing.AddFolderMemberError.banned_member: The current user has been + banned. + :ivar AddMemberSelectorError AddFolderMemberError.bad_member: + ``AddFolderMemberArg.members`` contains a bad invitation recipient. + :ivar sharing.AddFolderMemberError.cant_share_outside_team: Your team policy + does not allow sharing outside of the team. + :ivar int sharing.AddFolderMemberError.too_many_members: The value is the + member limit that was reached. + :ivar int sharing.AddFolderMemberError.too_many_pending_invites: The value + is the pending invite limit that was reached. + :ivar sharing.AddFolderMemberError.rate_limit: The current user has hit the + limit of invites they can send per day. Try again in 24 hours. + :ivar sharing.AddFolderMemberError.too_many_invitees: The current user is + trying to share with too many people at once. + :ivar sharing.AddFolderMemberError.insufficient_plan: The current user's + account doesn't support this action. An example of this is when adding a + read-only member. This action can only be performed by users that have + upgraded to a Pro or Business plan. + :ivar sharing.AddFolderMemberError.team_folder: This action cannot be + performed on a team shared folder. + :ivar sharing.AddFolderMemberError.no_permission: The current user does not + have permission to perform this action. """ _catch_all = 'other' # Attribute is overwritten below the class definition email_unverified = None # Attribute is overwritten below the class definition + banned_member = None + # Attribute is overwritten below the class definition cant_share_outside_team = None # Attribute is overwritten below the class definition rate_limit = None @@ -715,7 +801,7 @@ class AddFolderMemberError(bb.Union): Create an instance of this class set to the ``too_many_members`` tag with value ``val``. - :param long val: + :param int val: :rtype: AddFolderMemberError """ return cls('too_many_members', val) @@ -726,7 +812,7 @@ class AddFolderMemberError(bb.Union): Create an instance of this class set to the ``too_many_pending_invites`` tag with value ``val``. - :param long val: + :param int val: :rtype: AddFolderMemberError """ return cls('too_many_pending_invites', val) @@ -747,6 +833,14 @@ class AddFolderMemberError(bb.Union): """ return self._tag == 'email_unverified' + def is_banned_member(self): + """ + Check if the union tag is ``banned_member``. + + :rtype: bool + """ + return self._tag == 'banned_member' + def is_bad_member(self): """ Check if the union tag is ``bad_member``. @@ -857,7 +951,7 @@ class AddFolderMemberError(bb.Union): Only call this if :meth:`is_too_many_members` is true. - :rtype: long + :rtype: int """ if not self.is_too_many_members(): raise AttributeError("tag 'too_many_members' not set") @@ -869,25 +963,28 @@ class AddFolderMemberError(bb.Union): Only call this if :meth:`is_too_many_pending_invites` is true. - :rtype: long + :rtype: int """ if not self.is_too_many_pending_invites(): raise AttributeError("tag 'too_many_pending_invites' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddFolderMemberError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddFolderMemberError(%r, %r)' % (self._tag, self._value) AddFolderMemberError_validator = bv.Union(AddFolderMemberError) -class AddMember(object): +class AddMember(bb.Struct): """ The member and type of access the member should have when added to a shared folder. - :ivar member: The member to add to the shared folder. - :ivar access_level: The access level to grant ``member`` to the shared - folder. ``AccessLevel.owner`` is disallowed. + :ivar sharing.AddMember.member: The member to add to the shared folder. + :ivar sharing.AddMember.access_level: The access level to grant ``member`` + to the shared folder. ``AccessLevel.owner`` is disallowed. """ __slots__ = [ @@ -958,6 +1055,9 @@ class AddMember(object): self._access_level_value = None self._access_level_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddMember, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddMember(member={!r}, access_level={!r})'.format( self._member_value, @@ -972,18 +1072,19 @@ class AddMemberSelectorError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar automatic_group: Automatically created groups can only be added to - team folders. - :ivar str invalid_dropbox_id: The value is the ID that could not be - identified. - :ivar str invalid_email: The value is the e-email address that is malformed. - :ivar str unverified_dropbox_id: The value is the ID of the Dropbox user - with an unverified e-mail address. Invite unverified users by e-mail - address instead of by their Dropbox ID. - :ivar group_deleted: At least one of the specified groups in - ``AddFolderMemberArg.members`` is deleted. - :ivar group_not_on_team: Sharing to a group that is not on the current - user's team. + :ivar sharing.AddMemberSelectorError.automatic_group: Automatically created + groups can only be added to team folders. + :ivar str sharing.AddMemberSelectorError.invalid_dropbox_id: The value is + the ID that could not be identified. + :ivar str sharing.AddMemberSelectorError.invalid_email: The value is the + e-email address that is malformed. + :ivar str sharing.AddMemberSelectorError.unverified_dropbox_id: The value is + the ID of the Dropbox user with an unverified e-mail address. Invite + unverified users by e-mail address instead of by their Dropbox ID. + :ivar sharing.AddMemberSelectorError.group_deleted: At least one of the + specified groups in ``AddFolderMemberArg.members`` is deleted. + :ivar sharing.AddMemberSelectorError.group_not_on_team: Sharing to a group + that is not on the current user's team. """ _catch_all = 'other' @@ -1123,17 +1224,21 @@ class AddMemberSelectorError(bb.Union): raise AttributeError("tag 'unverified_dropbox_id' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AddMemberSelectorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AddMemberSelectorError(%r, %r)' % (self._tag, self._value) AddMemberSelectorError_validator = bv.Union(AddMemberSelectorError) -class AudienceExceptionContentInfo(object): +class AudienceExceptionContentInfo(bb.Struct): """ Information about the content that has a link audience different than that of this folder. - :ivar name: The name of the content, which is either a file or a folder. + :ivar sharing.AudienceExceptionContentInfo.name: The name of the content, + which is either a file or a folder. """ __slots__ = [ @@ -1173,6 +1278,9 @@ class AudienceExceptionContentInfo(object): self._name_value = None self._name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AudienceExceptionContentInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AudienceExceptionContentInfo(name={!r})'.format( self._name_value, @@ -1180,15 +1288,16 @@ class AudienceExceptionContentInfo(object): AudienceExceptionContentInfo_validator = bv.Struct(AudienceExceptionContentInfo) -class AudienceExceptions(object): +class AudienceExceptions(bb.Struct): """ The total count and truncated list of information of content inside this folder that has a different audience than the link on this folder. This is only returned for folders. - :ivar exceptions: A truncated list of some of the content that is an - exception. The length of this list could be smaller than the count since - it is only a sample but will not be empty as long as count is not 0. + :ivar sharing.AudienceExceptions.exceptions: A truncated list of some of the + content that is an exception. The length of this list could be smaller + than the count since it is only a sample but will not be empty as long + as count is not 0. """ __slots__ = [ @@ -1215,7 +1324,7 @@ class AudienceExceptions(object): @property def count(self): """ - :rtype: long + :rtype: int """ if self._count_present: return self._count_value @@ -1258,6 +1367,9 @@ class AudienceExceptions(object): self._exceptions_value = None self._exceptions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AudienceExceptions, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AudienceExceptions(count={!r}, exceptions={!r})'.format( self._count_value, @@ -1266,14 +1378,17 @@ class AudienceExceptions(object): AudienceExceptions_validator = bv.Struct(AudienceExceptions) -class AudienceRestrictingSharedFolder(object): +class AudienceRestrictingSharedFolder(bb.Struct): """ 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. + :ivar sharing.AudienceRestrictingSharedFolder.shared_folder_id: The ID of + the shared folder. + :ivar sharing.AudienceRestrictingSharedFolder.name: The name of the shared + folder. + :ivar sharing.AudienceRestrictingSharedFolder.audience: The link audience of + the shared folder. """ __slots__ = [ @@ -1373,6 +1488,9 @@ class AudienceRestrictingSharedFolder(object): self._audience_value = None self._audience_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AudienceRestrictingSharedFolder, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AudienceRestrictingSharedFolder(shared_folder_id={!r}, name={!r}, audience={!r})'.format( self._shared_folder_id_value, @@ -1382,14 +1500,17 @@ class AudienceRestrictingSharedFolder(object): AudienceRestrictingSharedFolder_validator = bv.Struct(AudienceRestrictingSharedFolder) -class ChangeFileMemberAccessArgs(object): +class ChangeFileMemberAccessArgs(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_change_file_member_access`. - :ivar file: File for which we are changing a member's access. - :ivar member: The member whose access we are changing. - :ivar access_level: The new access level for the member. + :ivar sharing.ChangeFileMemberAccessArgs.file: File for which we are + changing a member's access. + :ivar sharing.ChangeFileMemberAccessArgs.member: The member whose access we + are changing. + :ivar sharing.ChangeFileMemberAccessArgs.access_level: The new access level + for the member. """ __slots__ = [ @@ -1489,6 +1610,9 @@ class ChangeFileMemberAccessArgs(object): self._access_level_value = None self._access_level_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ChangeFileMemberAccessArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ChangeFileMemberAccessArgs(file={!r}, member={!r}, access_level={!r})'.format( self._file_value, @@ -1498,14 +1622,15 @@ class ChangeFileMemberAccessArgs(object): ChangeFileMemberAccessArgs_validator = bv.Struct(ChangeFileMemberAccessArgs) -class LinkMetadata(object): +class LinkMetadata(bb.Struct): """ Metadata for a shared link. This can be either a :class:`PathLinkMetadata` or :class:`CollectionLinkMetadata`. - :ivar url: URL of the shared link. - :ivar visibility: Who can access the link. - :ivar expires: Expiration time, if set. By default the link won't expire. + :ivar sharing.LinkMetadata.url: URL of the shared link. + :ivar sharing.LinkMetadata.visibility: Who can access the link. + :ivar sharing.LinkMetadata.expires: Expiration time, if set. By default the + link won't expire. """ __slots__ = [ @@ -1608,6 +1733,9 @@ class LinkMetadata(object): self._expires_value = None self._expires_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LinkMetadata(url={!r}, visibility={!r}, expires={!r})'.format( self._url_value, @@ -1635,6 +1763,9 @@ class CollectionLinkMetadata(LinkMetadata): visibility, expires) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CollectionLinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CollectionLinkMetadata(url={!r}, visibility={!r}, expires={!r})'.format( self._url_value, @@ -1644,14 +1775,15 @@ class CollectionLinkMetadata(LinkMetadata): CollectionLinkMetadata_validator = bv.Struct(CollectionLinkMetadata) -class CreateSharedLinkArg(object): +class CreateSharedLinkArg(bb.Struct): """ - :ivar path: The path to share. - :ivar short_url: Whether to return a shortened URL. - :ivar pending_upload: If it's okay to share a path that does not yet exist, - set this to either ``PendingUploadMode.file`` or - ``PendingUploadMode.folder`` to indicate whether to assume it's a file - or folder. + :ivar sharing.CreateSharedLinkArg.path: The path to share. + :ivar sharing.CreateSharedLinkArg.short_url: Whether to return a shortened + URL. + :ivar sharing.CreateSharedLinkArg.pending_upload: If it's okay to share a + path that does not yet exist, set this to either + ``PendingUploadMode.file`` or ``PendingUploadMode.folder`` to indicate + whether to assume it's a file or folder. """ __slots__ = [ @@ -1756,6 +1888,9 @@ class CreateSharedLinkArg(object): self._pending_upload_value = None self._pending_upload_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateSharedLinkArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateSharedLinkArg(path={!r}, short_url={!r}, pending_upload={!r})'.format( self._path_value, @@ -1782,7 +1917,7 @@ class CreateSharedLinkError(bb.Union): Create an instance of this class set to the ``path`` tag with value ``val``. - :param files.LookupError_validator val: + :param files.LookupError val: :rtype: CreateSharedLinkError """ return cls('path', val) @@ -1807,21 +1942,26 @@ class CreateSharedLinkError(bb.Union): """ Only call this if :meth:`is_path` is true. - :rtype: files.LookupError_validator + :rtype: files.LookupError """ if not self.is_path(): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateSharedLinkError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateSharedLinkError(%r, %r)' % (self._tag, self._value) CreateSharedLinkError_validator = bv.Union(CreateSharedLinkError) -class CreateSharedLinkWithSettingsArg(object): +class CreateSharedLinkWithSettingsArg(bb.Struct): """ - :ivar path: The path to be shared by the shared link. - :ivar settings: The requested settings for the newly created shared link. + :ivar sharing.CreateSharedLinkWithSettingsArg.path: The path to be shared by + the shared link. + :ivar sharing.CreateSharedLinkWithSettingsArg.settings: The requested + settings for the newly created shared link. """ __slots__ = [ @@ -1894,6 +2034,9 @@ class CreateSharedLinkWithSettingsArg(object): self._settings_value = None self._settings_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateSharedLinkWithSettingsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateSharedLinkWithSettingsArg(path={!r}, settings={!r})'.format( self._path_value, @@ -1908,21 +2051,24 @@ class CreateSharedLinkWithSettingsError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar email_not_verified: User's email should be verified. - :ivar shared_link_already_exists: The shared link already exists. You can - call :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` to get - the existing link. - :ivar SharedLinkSettingsError settings_error: There is an error with the - given settings. - :ivar access_denied: Access to the requested path is forbidden. + :ivar sharing.CreateSharedLinkWithSettingsError.email_not_verified: User's + email should be verified. + :ivar Optional[SharedLinkAlreadyExistsMetadata] + sharing.CreateSharedLinkWithSettingsError.shared_link_already_exists: + The shared link already exists. You can call :route:`list_shared_links` + to get the existing link, or use the provided metadata if it is + returned. + :ivar SharedLinkSettingsError + CreateSharedLinkWithSettingsError.settings_error: There is an error with + the given settings. + :ivar sharing.CreateSharedLinkWithSettingsError.access_denied: Access to the + requested path is forbidden. """ _catch_all = None # Attribute is overwritten below the class definition email_not_verified = None # Attribute is overwritten below the class definition - shared_link_already_exists = None - # Attribute is overwritten below the class definition access_denied = None @classmethod @@ -1931,11 +2077,22 @@ class CreateSharedLinkWithSettingsError(bb.Union): Create an instance of this class set to the ``path`` tag with value ``val``. - :param files.LookupError_validator val: + :param files.LookupError val: :rtype: CreateSharedLinkWithSettingsError """ return cls('path', val) + @classmethod + def shared_link_already_exists(cls, val): + """ + Create an instance of this class set to the + ``shared_link_already_exists`` tag with value ``val``. + + :param SharedLinkAlreadyExistsMetadata val: + :rtype: CreateSharedLinkWithSettingsError + """ + return cls('shared_link_already_exists', val) + @classmethod def settings_error(cls, val): """ @@ -1991,12 +2148,26 @@ class CreateSharedLinkWithSettingsError(bb.Union): """ Only call this if :meth:`is_path` is true. - :rtype: files.LookupError_validator + :rtype: files.LookupError """ if not self.is_path(): raise AttributeError("tag 'path' not set") return self._value + def get_shared_link_already_exists(self): + """ + The shared link already exists. You can call + :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` to get the + existing link, or use the provided metadata if it is returned. + + Only call this if :meth:`is_shared_link_already_exists` is true. + + :rtype: SharedLinkAlreadyExistsMetadata + """ + if not self.is_shared_link_already_exists(): + raise AttributeError("tag 'shared_link_already_exists' not set") + return self._value + def get_settings_error(self): """ There is an error with the given settings. @@ -2009,28 +2180,36 @@ class CreateSharedLinkWithSettingsError(bb.Union): raise AttributeError("tag 'settings_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateSharedLinkWithSettingsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CreateSharedLinkWithSettingsError(%r, %r)' % (self._tag, self._value) CreateSharedLinkWithSettingsError_validator = bv.Union(CreateSharedLinkWithSettingsError) -class SharedContentLinkMetadataBase(object): +class SharedContentLinkMetadataBase(bb.Struct): """ - :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. + :ivar sharing.SharedContentLinkMetadataBase.access_level: The access level + on the link for this file. + :ivar sharing.SharedContentLinkMetadataBase.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 + sharing.SharedContentLinkMetadataBase.audience_restricting_shared_folder: + The shared folder that prevents the link audience for this link from + being more restrictive. + :ivar sharing.SharedContentLinkMetadataBase.current_audience: The current + audience of the link. + :ivar sharing.SharedContentLinkMetadataBase.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 sharing.SharedContentLinkMetadataBase.link_permissions: A list of + permissions for actions you can perform on the link. + :ivar sharing.SharedContentLinkMetadataBase.password_protected: Whether the + link is protected by a password. """ __slots__ = [ @@ -2264,6 +2443,9 @@ class SharedContentLinkMetadataBase(object): self._password_protected_value = None self._password_protected_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentLinkMetadataBase, self)._process_custom_annotations(annotation_type, field_path, processor) + 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, @@ -2304,6 +2486,9 @@ class ExpectedSharedContentLinkMetadata(SharedContentLinkMetadataBase): audience_restricting_shared_folder, expiry) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExpectedSharedContentLinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + 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, @@ -2325,16 +2510,26 @@ class FileAction(bb.Union): 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: Use create_link instead. - :ivar create_link: Create a shared link to the file. + :ivar sharing.FileAction.disable_viewer_info: Disable viewer information on + the file. + :ivar sharing.FileAction.edit_contents: Change or edit contents of the file. + :ivar sharing.FileAction.enable_viewer_info: Enable viewer information on + the file. + :ivar sharing.FileAction.invite_viewer: Add a member with view permissions. + :ivar sharing.FileAction.invite_viewer_no_comment: Add a member with view + permissions but no comment permissions. + :ivar sharing.FileAction.invite_editor: Add a member with edit permissions. + :ivar sharing.FileAction.unshare: Stop sharing this file. + :ivar sharing.FileAction.relinquish_membership: Relinquish one's own + membership to the file. + :ivar sharing.FileAction.share_link: Use create_view_link and + create_edit_link instead. + :ivar sharing.FileAction.create_link: Use create_view_link and + create_edit_link instead. + :ivar sharing.FileAction.create_view_link: Create a shared link to a file + that only allows users to view the content. + :ivar sharing.FileAction.create_edit_link: Create a shared link to a file + that allows users to edit the content. """ _catch_all = 'other' @@ -2349,6 +2544,8 @@ class FileAction(bb.Union): # Attribute is overwritten below the class definition invite_viewer_no_comment = None # Attribute is overwritten below the class definition + invite_editor = None + # Attribute is overwritten below the class definition unshare = None # Attribute is overwritten below the class definition relinquish_membership = None @@ -2357,6 +2554,10 @@ class FileAction(bb.Union): # Attribute is overwritten below the class definition create_link = None # Attribute is overwritten below the class definition + create_view_link = None + # Attribute is overwritten below the class definition + create_edit_link = None + # Attribute is overwritten below the class definition other = None def is_disable_viewer_info(self): @@ -2399,6 +2600,14 @@ class FileAction(bb.Union): """ return self._tag == 'invite_viewer_no_comment' + def is_invite_editor(self): + """ + Check if the union tag is ``invite_editor``. + + :rtype: bool + """ + return self._tag == 'invite_editor' + def is_unshare(self): """ Check if the union tag is ``unshare``. @@ -2431,6 +2640,22 @@ class FileAction(bb.Union): """ return self._tag == 'create_link' + def is_create_view_link(self): + """ + Check if the union tag is ``create_view_link``. + + :rtype: bool + """ + return self._tag == 'create_view_link' + + def is_create_edit_link(self): + """ + Check if the union tag is ``create_edit_link``. + + :rtype: bool + """ + return self._tag == 'create_edit_link' + def is_other(self): """ Check if the union tag is ``other``. @@ -2439,6 +2664,9 @@ class FileAction(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileAction, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileAction(%r, %r)' % (self._tag, self._value) @@ -2450,11 +2678,12 @@ class FileErrorResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str file_not_found_error: File specified by id was not found. - :ivar str invalid_file_action_error: User does not have permission to take - the specified action on the file. - :ivar str permission_denied_error: User does not have permission to access - file specified by file.Id. + :ivar str sharing.FileErrorResult.file_not_found_error: File specified by id + was not found. + :ivar str sharing.FileErrorResult.invalid_file_action_error: User does not + have permission to take the specified action on the file. + :ivar str sharing.FileErrorResult.permission_denied_error: User does not + have permission to access file specified by file.Id. """ _catch_all = 'other' @@ -2562,29 +2791,37 @@ class FileErrorResult(bb.Union): raise AttributeError("tag 'permission_denied_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileErrorResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileErrorResult(%r, %r)' % (self._tag, self._value) FileErrorResult_validator = bv.Union(FileErrorResult) -class SharedLinkMetadata(object): +class SharedLinkMetadata(bb.Struct): """ The metadata of a shared link. - :ivar url: URL of the shared link. - :ivar id: A unique identifier for the linked file. - :ivar name: The linked file name (including extension). This never contains - a slash. - :ivar expires: Expiration time, if set. By default the link won't expire. - :ivar path_lower: The lowercased full path in the user's Dropbox. This - always starts with a slash. This field will only be present only if the - linked file is in the authenticated user's dropbox. - :ivar link_permissions: The link's access permissions. - :ivar team_member_info: The team membership information of the link's owner. - This field will only be present if the link's owner is a team member. - :ivar content_owner_team_info: The team information of the content's owner. - This field will only be present if the content's owner is a team member - and the content's owner team is different from the link's owner team. + :ivar sharing.SharedLinkMetadata.url: URL of the shared link. + :ivar sharing.SharedLinkMetadata.id: A unique identifier for the linked + file. + :ivar sharing.SharedLinkMetadata.name: The linked file name (including + extension). This never contains a slash. + :ivar sharing.SharedLinkMetadata.expires: Expiration time, if set. By + default the link won't expire. + :ivar sharing.SharedLinkMetadata.path_lower: The lowercased full path in the + user's Dropbox. This always starts with a slash. This field will only be + present only if the linked file is in the authenticated user's dropbox. + :ivar sharing.SharedLinkMetadata.link_permissions: The link's access + permissions. + :ivar sharing.SharedLinkMetadata.team_member_info: The team membership + information of the link's owner. This field will only be present if + the link's owner is a team member. + :ivar sharing.SharedLinkMetadata.content_owner_team_info: The team + information of the content's owner. This field will only be present if + the content's owner is a team member and the content's owner team is + different from the link's owner team. """ __slots__ = [ @@ -2833,7 +3070,7 @@ class SharedLinkMetadata(object): present if the content's owner is a team member and the content's owner team is different from the link's owner team. - :rtype: users.Team_validator + :rtype: users.Team """ if self._content_owner_team_info_present: return self._content_owner_team_info_value @@ -2854,6 +3091,9 @@ class SharedLinkMetadata(object): self._content_owner_team_info_value = None self._content_owner_team_info_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedLinkMetadata(url={!r}, name={!r}, link_permissions={!r}, id={!r}, expires={!r}, path_lower={!r}, team_member_info={!r}, content_owner_team_info={!r})'.format( self._url_value, @@ -2872,16 +3112,18 @@ class FileLinkMetadata(SharedLinkMetadata): """ The metadata of a file shared link. - :ivar client_modified: The modification time set by the desktop client when - the file was added to Dropbox. Since this time is not verified (the - Dropbox server stores whatever the desktop client sends up), this should - only be used for display purposes (such as sorting) and not, for - example, to determine if a file has changed or not. - :ivar server_modified: The last time the file was modified on Dropbox. - :ivar rev: A unique identifier for the current revision of a file. This - field is the same rev as elsewhere in the API and can be used to detect - changes and avoid conflicts. - :ivar size: The file size in bytes. + :ivar sharing.FileLinkMetadata.client_modified: The modification time set by + the desktop client when the file was added to Dropbox. Since this time + is not verified (the Dropbox server stores whatever the desktop client + sends up), this should only be used for display purposes (such as + sorting) and not, for example, to determine if a file has changed or + not. + :ivar sharing.FileLinkMetadata.server_modified: The last time the file was + modified on Dropbox. + :ivar sharing.FileLinkMetadata.rev: A unique identifier for the current + revision of a file. This field is the same rev as elsewhere in the API + and can be used to detect changes and avoid conflicts. + :ivar sharing.FileLinkMetadata.size: The file size in bytes. """ __slots__ = [ @@ -3015,7 +3257,7 @@ class FileLinkMetadata(SharedLinkMetadata): """ The file size in bytes. - :rtype: long + :rtype: int """ if self._size_present: return self._size_value @@ -3033,6 +3275,9 @@ class FileLinkMetadata(SharedLinkMetadata): self._size_value = None self._size_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileLinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileLinkMetadata(url={!r}, name={!r}, link_permissions={!r}, client_modified={!r}, server_modified={!r}, rev={!r}, size={!r}, id={!r}, expires={!r}, path_lower={!r}, team_member_info={!r}, content_owner_team_info={!r})'.format( self._url_value, @@ -3057,15 +3302,16 @@ class FileMemberActionError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_member: Specified member was not found. - :ivar no_permission: User does not have permission to perform this action on - this member. - :ivar SharingFileAccessError access_error: Specified file was invalid or - user does not have access. - :ivar MemberAccessLevelResult no_explicit_access: The action cannot be - completed because the target member does not have explicit access to the - file. The return value is the access that the member has to the file - from a parent folder. + :ivar sharing.FileMemberActionError.invalid_member: Specified member was not + found. + :ivar sharing.FileMemberActionError.no_permission: User does not have + permission to perform this action on this member. + :ivar SharingFileAccessError FileMemberActionError.access_error: Specified + file was invalid or user does not have access. + :ivar MemberAccessLevelResult FileMemberActionError.no_explicit_access: The + action cannot be completed because the target member does not have + explicit access to the file. The return value is the access that the + member has to the file from a parent folder. """ _catch_all = 'other' @@ -3164,6 +3410,9 @@ class FileMemberActionError(bb.Union): raise AttributeError("tag 'no_explicit_access' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileMemberActionError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileMemberActionError(%r, %r)' % (self._tag, self._value) @@ -3175,11 +3424,12 @@ class FileMemberActionIndividualResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar Optional[AccessLevel] success: Member was successfully removed from - this file. If AccessLevel is given, the member still has access via a - parent shared folder. - :ivar FileMemberActionError member_error: User was not able to perform this - action. + :ivar Optional[AccessLevel] + sharing.FileMemberActionIndividualResult.success: Member was + successfully removed from this file. If AccessLevel is given, the member + still has access via a parent shared folder. + :ivar FileMemberActionError FileMemberActionIndividualResult.member_error: + User was not able to perform this action. """ _catch_all = None @@ -3247,19 +3497,23 @@ class FileMemberActionIndividualResult(bb.Union): raise AttributeError("tag 'member_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileMemberActionIndividualResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileMemberActionIndividualResult(%r, %r)' % (self._tag, self._value) FileMemberActionIndividualResult_validator = bv.Union(FileMemberActionIndividualResult) -class FileMemberActionResult(object): +class FileMemberActionResult(bb.Struct): """ Per-member result for :meth:`dropbox.dropbox.Dropbox.sharing_add_file_member` or :meth:`dropbox.dropbox.Dropbox.sharing_change_file_member_access`. - :ivar member: One of specified input members. - :ivar result: The outcome of the action on this member. + :ivar sharing.FileMemberActionResult.member: One of specified input members. + :ivar sharing.FileMemberActionResult.result: The outcome of the action on + this member. """ __slots__ = [ @@ -3329,6 +3583,9 @@ class FileMemberActionResult(object): self._result_value = None self._result_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileMemberActionResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileMemberActionResult(member={!r}, result={!r})'.format( self._member_value, @@ -3343,10 +3600,10 @@ class FileMemberRemoveActionResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar MemberAccessLevelResult success: Member was successfully removed from - this file. - :ivar FileMemberActionError member_error: User was not able to remove this - member. + :ivar MemberAccessLevelResult FileMemberRemoveActionResult.success: Member + was successfully removed from this file. + :ivar FileMemberActionError FileMemberRemoveActionResult.member_error: User + was not able to remove this member. """ _catch_all = 'other' @@ -3423,19 +3680,24 @@ class FileMemberRemoveActionResult(bb.Union): raise AttributeError("tag 'member_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileMemberRemoveActionResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileMemberRemoveActionResult(%r, %r)' % (self._tag, self._value) FileMemberRemoveActionResult_validator = bv.Union(FileMemberRemoveActionResult) -class FilePermission(object): +class FilePermission(bb.Struct): """ Whether the user is allowed to take the sharing action on the file. - :ivar action: The action that the user may wish to take on the file. - :ivar allow: True if the user is allowed to take the action. - :ivar reason: The reason why the user is denied the permission. Not present - if the action is allowed. + :ivar sharing.FilePermission.action: The action that the user may wish to + take on the file. + :ivar sharing.FilePermission.allow: True if the user is allowed to take the + action. + :ivar sharing.FilePermission.reason: The reason why the user is denied the + permission. Not present if the action is allowed. """ __slots__ = [ @@ -3539,6 +3801,9 @@ class FilePermission(object): self._reason_value = None self._reason_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FilePermission, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FilePermission(action={!r}, allow={!r}, reason={!r})'.format( self._action_value, @@ -3556,24 +3821,30 @@ class FolderAction(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar change_options: Change folder options, such as who can be invited to - join the folder. - :ivar disable_viewer_info: Disable viewer information for this folder. - :ivar edit_contents: Change or edit contents of the folder. - :ivar enable_viewer_info: Enable viewer information on the folder. - :ivar invite_editor: Invite a user or group to join the folder with read and - write permission. - :ivar invite_viewer: Invite a user or group to join the folder with read - permission. - :ivar invite_viewer_no_comment: Invite a user or group to join the folder - with read permission but no comment permissions. - :ivar relinquish_membership: Relinquish one's own membership in the folder. - :ivar unmount: Unmount the folder. - :ivar unshare: Stop sharing this folder. - :ivar leave_a_copy: Keep a copy of the contents upon leaving or being kicked - from the folder. - :ivar share_link: This action is deprecated. Use create_link instead. - :ivar create_link: Create a shared link for folder. + :ivar sharing.FolderAction.change_options: Change folder options, such as + who can be invited to join the folder. + :ivar sharing.FolderAction.disable_viewer_info: Disable viewer information + for this folder. + :ivar sharing.FolderAction.edit_contents: Change or edit contents of the + folder. + :ivar sharing.FolderAction.enable_viewer_info: Enable viewer information on + the folder. + :ivar sharing.FolderAction.invite_editor: Invite a user or group to join the + folder with read and write permission. + :ivar sharing.FolderAction.invite_viewer: Invite a user or group to join the + folder with read permission. + :ivar sharing.FolderAction.invite_viewer_no_comment: Invite a user or group + to join the folder with read permission but no comment permissions. + :ivar sharing.FolderAction.relinquish_membership: Relinquish one's own + membership in the folder. + :ivar sharing.FolderAction.unmount: Unmount the folder. + :ivar sharing.FolderAction.unshare: Stop sharing this folder. + :ivar sharing.FolderAction.leave_a_copy: Keep a copy of the contents upon + leaving or being kicked from the folder. + :ivar sharing.FolderAction.share_link: Use create_link instead. + :ivar sharing.FolderAction.create_link: Create a shared link for folder. + :ivar sharing.FolderAction.set_access_inheritance: Set whether the folder + inherits permissions from its parent. """ _catch_all = 'other' @@ -3604,6 +3875,8 @@ class FolderAction(bb.Union): # Attribute is overwritten below the class definition create_link = None # Attribute is overwritten below the class definition + set_access_inheritance = None + # Attribute is overwritten below the class definition other = None def is_change_options(self): @@ -3710,6 +3983,14 @@ class FolderAction(bb.Union): """ return self._tag == 'create_link' + def is_set_access_inheritance(self): + """ + Check if the union tag is ``set_access_inheritance``. + + :rtype: bool + """ + return self._tag == 'set_access_inheritance' + def is_other(self): """ Check if the union tag is ``other``. @@ -3718,6 +3999,9 @@ class FolderAction(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderAction, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderAction(%r, %r)' % (self._tag, self._value) @@ -3751,6 +4035,9 @@ class FolderLinkMetadata(SharedLinkMetadata): team_member_info, content_owner_team_info) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderLinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderLinkMetadata(url={!r}, name={!r}, link_permissions={!r}, id={!r}, expires={!r}, path_lower={!r}, team_member_info={!r}, content_owner_team_info={!r})'.format( self._url_value, @@ -3765,14 +4052,17 @@ class FolderLinkMetadata(SharedLinkMetadata): FolderLinkMetadata_validator = bv.Struct(FolderLinkMetadata) -class FolderPermission(object): +class FolderPermission(bb.Struct): """ Whether the user is allowed to take the action on the shared folder. - :ivar action: The action that the user may wish to take on the folder. - :ivar allow: True if the user is allowed to take the action. - :ivar reason: The reason why the user is denied the permission. Not present - if the action is allowed, or if no reason is available. + :ivar sharing.FolderPermission.action: The action that the user may wish to + take on the folder. + :ivar sharing.FolderPermission.allow: True if the user is allowed to take + the action. + :ivar sharing.FolderPermission.reason: The reason why the user is denied the + permission. Not present if the action is allowed, or if no reason is + available. """ __slots__ = [ @@ -3876,6 +4166,9 @@ class FolderPermission(object): self._reason_value = None self._reason_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderPermission, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderPermission(action={!r}, allow={!r}, reason={!r})'.format( self._action_value, @@ -3885,24 +4178,24 @@ class FolderPermission(object): FolderPermission_validator = bv.Struct(FolderPermission) -class FolderPolicy(object): +class FolderPolicy(bb.Struct): """ A set of policies governing membership and privileges for a shared folder. - :ivar member_policy: Who can be a member of this shared folder, as set on - the folder itself. The effective policy may differ from this value if - the team-wide policy is more restrictive. Present only if the folder is - owned by a team. - :ivar resolved_member_policy: Who can be a member of this shared folder, - taking into account both the folder and the team-wide policy. This value - may differ from that of member_policy if the team-wide policy is more - restrictive than the folder policy. Present only if the folder is owned - by a team. - :ivar acl_update_policy: Who can add and remove members from this shared - folder. - :ivar shared_link_policy: Who links can be shared with. - :ivar viewer_info_policy: Who can enable/disable viewer info for this shared - folder. + :ivar sharing.FolderPolicy.member_policy: Who can be a member of this shared + folder, as set on the folder itself. The effective policy may differ + from this value if the team-wide policy is more restrictive. Present + only if the folder is owned by a team. + :ivar sharing.FolderPolicy.resolved_member_policy: Who can be a member of + this shared folder, taking into account both the folder and the + team-wide policy. This value may differ from that of member_policy if + the team-wide policy is more restrictive than the folder policy. Present + only if the folder is owned by a team. + :ivar sharing.FolderPolicy.acl_update_policy: Who can add and remove members + from this shared folder. + :ivar sharing.FolderPolicy.shared_link_policy: Who links can be shared with. + :ivar sharing.FolderPolicy.viewer_info_policy: Who can enable/disable viewer + info for this shared folder. """ __slots__ = [ @@ -4076,6 +4369,9 @@ class FolderPolicy(object): self._viewer_info_policy_value = None self._viewer_info_policy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderPolicy(acl_update_policy={!r}, shared_link_policy={!r}, member_policy={!r}, resolved_member_policy={!r}, viewer_info_policy={!r})'.format( self._acl_update_policy_value, @@ -4087,15 +4383,15 @@ class FolderPolicy(object): FolderPolicy_validator = bv.Struct(FolderPolicy) -class GetFileMetadataArg(object): +class GetFileMetadataArg(bb.Struct): """ Arguments of :meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata`. - :ivar file: The file 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. + :ivar sharing.GetFileMetadataArg.file: The file to query. + :ivar sharing.GetFileMetadataArg.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__ = [ @@ -4170,6 +4466,9 @@ class GetFileMetadataArg(object): self._actions_value = None self._actions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetFileMetadataArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetFileMetadataArg(file={!r}, actions={!r})'.format( self._file_value, @@ -4178,16 +4477,16 @@ class GetFileMetadataArg(object): GetFileMetadataArg_validator = bv.Struct(GetFileMetadataArg) -class GetFileMetadataBatchArg(object): +class GetFileMetadataBatchArg(bb.Struct): """ Arguments of :meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata_batch`. - :ivar files: The files 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. + :ivar sharing.GetFileMetadataBatchArg.files: The files to query. + :ivar sharing.GetFileMetadataBatchArg.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__ = [ @@ -4262,6 +4561,9 @@ class GetFileMetadataBatchArg(object): self._actions_value = None self._actions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetFileMetadataBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetFileMetadataBatchArg(files={!r}, actions={!r})'.format( self._files_value, @@ -4270,14 +4572,15 @@ class GetFileMetadataBatchArg(object): GetFileMetadataBatchArg_validator = bv.Struct(GetFileMetadataBatchArg) -class GetFileMetadataBatchResult(object): +class GetFileMetadataBatchResult(bb.Struct): """ Per file results of :meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata_batch`. - :ivar file: This is the input file identifier corresponding to one of - ``GetFileMetadataBatchArg.files``. - :ivar result: The result for this particular file. + :ivar sharing.GetFileMetadataBatchResult.file: This is the input file + identifier corresponding to one of ``GetFileMetadataBatchArg.files``. + :ivar sharing.GetFileMetadataBatchResult.result: The result for this + particular file. """ __slots__ = [ @@ -4348,6 +4651,9 @@ class GetFileMetadataBatchResult(object): self._result_value = None self._result_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetFileMetadataBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetFileMetadataBatchResult(file={!r}, result={!r})'.format( self._file_value, @@ -4435,6 +4741,9 @@ class GetFileMetadataError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetFileMetadataError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetFileMetadataError(%r, %r)' % (self._tag, self._value) @@ -4446,10 +4755,10 @@ class GetFileMetadataIndividualResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar SharedFileMetadata metadata: The result for this file if it was - successful. - :ivar SharingFileAccessError access_error: The result for this file if it - was an error. + :ivar SharedFileMetadata GetFileMetadataIndividualResult.metadata: The + result for this file if it was successful. + :ivar SharingFileAccessError GetFileMetadataIndividualResult.access_error: + The result for this file if it was an error. """ _catch_all = 'other' @@ -4526,18 +4835,22 @@ class GetFileMetadataIndividualResult(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetFileMetadataIndividualResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetFileMetadataIndividualResult(%r, %r)' % (self._tag, self._value) GetFileMetadataIndividualResult_validator = bv.Union(GetFileMetadataIndividualResult) -class GetMetadataArgs(object): +class GetMetadataArgs(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared 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 sharing.GetMetadataArgs.shared_folder_id: The ID for the shared + folder. + :ivar sharing.GetMetadataArgs.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__ = [ @@ -4613,6 +4926,9 @@ class GetMetadataArgs(object): self._actions_value = None self._actions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetMetadataArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetMetadataArgs(shared_folder_id={!r}, actions={!r})'.format( self._shared_folder_id_value, @@ -4627,10 +4943,13 @@ class SharedLinkError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar shared_link_not_found: The shared link wasn't found. - :ivar shared_link_access_denied: The caller is not allowed to access this - shared link. - :ivar unsupported_link_type: This type of link is not supported. + :ivar sharing.SharedLinkError.shared_link_not_found: The shared link wasn't + found. + :ivar sharing.SharedLinkError.shared_link_access_denied: The caller is not + allowed to access this shared link. + :ivar sharing.SharedLinkError.unsupported_link_type: This type of link is + not supported; use :meth:`dropbox.dropbox.Dropbox.sharing_files` + instead. """ _catch_all = 'other' @@ -4675,6 +4994,9 @@ class SharedLinkError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedLinkError(%r, %r)' % (self._tag, self._value) @@ -4686,8 +5008,8 @@ class GetSharedLinkFileError(SharedLinkError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar shared_link_is_directory: Directories cannot be retrieved by this - endpoint. + :ivar sharing.GetSharedLinkFileError.shared_link_is_directory: Directories + cannot be retrieved by this endpoint. """ # Attribute is overwritten below the class definition @@ -4701,19 +5023,23 @@ class GetSharedLinkFileError(SharedLinkError): """ return self._tag == 'shared_link_is_directory' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetSharedLinkFileError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetSharedLinkFileError(%r, %r)' % (self._tag, self._value) GetSharedLinkFileError_validator = bv.Union(GetSharedLinkFileError) -class GetSharedLinkMetadataArg(object): +class GetSharedLinkMetadataArg(bb.Struct): """ - :ivar url: URL of the shared link. - :ivar path: If the shared link is to a folder, this parameter can be used to - retrieve the metadata for a specific file or sub-folder in this folder. - A relative path should be used. - :ivar link_password: If the shared link has a password, this parameter can - be used. + :ivar sharing.GetSharedLinkMetadataArg.url: URL of the shared link. + :ivar sharing.GetSharedLinkMetadataArg.path: If the shared link is to a + folder, this parameter can be used to retrieve the metadata for a + specific file or sub-folder in this folder. A relative path should be + used. + :ivar sharing.GetSharedLinkMetadataArg.link_password: If the shared link has + a password, this parameter can be used. """ __slots__ = [ @@ -4821,6 +5147,9 @@ class GetSharedLinkMetadataArg(object): self._link_password_value = None self._link_password_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetSharedLinkMetadataArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetSharedLinkMetadataArg(url={!r}, path={!r}, link_password={!r})'.format( self._url_value, @@ -4830,10 +5159,10 @@ class GetSharedLinkMetadataArg(object): GetSharedLinkMetadataArg_validator = bv.Struct(GetSharedLinkMetadataArg) -class GetSharedLinksArg(object): +class GetSharedLinksArg(bb.Struct): """ - :ivar path: See :meth:`dropbox.dropbox.Dropbox.sharing_get_shared_links` - description. + :ivar sharing.GetSharedLinksArg.path: See + :meth:`dropbox.dropbox.Dropbox.sharing_get_shared_links` description. """ __slots__ = [ @@ -4877,6 +5206,9 @@ class GetSharedLinksArg(object): self._path_value = None self._path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetSharedLinksArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetSharedLinksArg(path={!r})'.format( self._path_value, @@ -4932,14 +5264,18 @@ class GetSharedLinksError(bb.Union): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetSharedLinksError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetSharedLinksError(%r, %r)' % (self._tag, self._value) GetSharedLinksError_validator = bv.Union(GetSharedLinksError) -class GetSharedLinksResult(object): +class GetSharedLinksResult(bb.Struct): """ - :ivar links: Shared links applicable to the path argument. + :ivar sharing.GetSharedLinksResult.links: Shared links applicable to the + path argument. """ __slots__ = [ @@ -4979,6 +5315,9 @@ class GetSharedLinksResult(object): self._links_value = None self._links_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetSharedLinksResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetSharedLinksResult(links={!r})'.format( self._links_value, @@ -4991,10 +5330,13 @@ class GroupInfo(team_common.GroupSummary): The information about a group. Groups is a way to manage a list of users who need same access permission to the shared folder. - :ivar group_type: The type of group. - :ivar is_member: If the current user is a member of the group. - :ivar is_owner: If the current user is an owner of the group. - :ivar same_team: If the group is owned by the current user's team. + :ivar sharing.GroupInfo.group_type: The type of group. + :ivar sharing.GroupInfo.is_member: If the current user is a member of the + group. + :ivar sharing.GroupInfo.is_owner: If the current user is an owner of the + group. + :ivar sharing.GroupInfo.same_team: If the group is owned by the current + user's team. """ __slots__ = [ @@ -5047,7 +5389,7 @@ class GroupInfo(team_common.GroupSummary): """ The type of group. - :rtype: team_common.GroupType_validator + :rtype: team_common.GroupType """ if self._group_type_present: return self._group_type_value @@ -5134,6 +5476,9 @@ class GroupInfo(team_common.GroupSummary): self._same_team_value = None self._same_team_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupInfo(group_name={!r}, group_id={!r}, group_management_type={!r}, group_type={!r}, is_member={!r}, is_owner={!r}, same_team={!r}, group_external_id={!r}, member_count={!r})'.format( self._group_name_value, @@ -5149,15 +5494,19 @@ class GroupInfo(team_common.GroupSummary): GroupInfo_validator = bv.Struct(GroupInfo) -class MembershipInfo(object): +class MembershipInfo(bb.Struct): """ The information about a member of the shared content. - :ivar access_type: The access type for this member. - :ivar permissions: The permissions that requesting user has on this member. - The set of permissions corresponds to the MemberActions in the request. - :ivar initials: Suggested name initials for a member. - :ivar is_inherited: True if the member has access from a parent folder. + :ivar sharing.MembershipInfo.access_type: The access type for this member. + It contains inherited access type from parent folder, and acquired + access type from this folder. + :ivar sharing.MembershipInfo.permissions: The permissions that requesting + user has on this member. The set of permissions corresponds to the + MemberActions in the request. + :ivar sharing.MembershipInfo.initials: Never set. + :ivar sharing.MembershipInfo.is_inherited: True if the member has access + from a parent folder. """ __slots__ = [ @@ -5198,7 +5547,8 @@ class MembershipInfo(object): @property def access_type(self): """ - The access type for this member. + The access type for this member. It contains inherited access type from + parent folder, and acquired access type from this folder. :rtype: AccessLevel """ @@ -5248,7 +5598,7 @@ class MembershipInfo(object): @property def initials(self): """ - Suggested name initials for a member. + Never set. :rtype: str """ @@ -5294,6 +5644,9 @@ class MembershipInfo(object): self._is_inherited_value = None self._is_inherited_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembershipInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembershipInfo(access_type={!r}, permissions={!r}, initials={!r}, is_inherited={!r})'.format( self._access_type_value, @@ -5308,7 +5661,8 @@ class GroupMembershipInfo(MembershipInfo): """ The information about a group member of the shared content. - :ivar group: The information about the membership group. + :ivar sharing.GroupMembershipInfo.group: The information about the + membership group. """ __slots__ = [ @@ -5356,6 +5710,9 @@ class GroupMembershipInfo(MembershipInfo): self._group_value = None self._group_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembershipInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembershipInfo(access_type={!r}, group={!r}, permissions={!r}, initials={!r}, is_inherited={!r})'.format( self._access_type_value, @@ -5367,13 +5724,13 @@ class GroupMembershipInfo(MembershipInfo): GroupMembershipInfo_validator = bv.Struct(GroupMembershipInfo) -class InsufficientPlan(object): +class InsufficientPlan(bb.Struct): """ - :ivar message: A message to tell the user to upgrade in order to support - expected action. - :ivar upsell_url: A URL to send the user to in order to obtain the account - type they need, e.g. upgrading. Absent if there is no action the user - can take to upgrade. + :ivar sharing.InsufficientPlan.message: A message to tell the user to + upgrade in order to support expected action. + :ivar sharing.InsufficientPlan.upsell_url: A URL to send the user to in + order to obtain the account type they need, e.g. upgrading. Absent if + there is no action the user can take to upgrade. """ __slots__ = [ @@ -5449,6 +5806,9 @@ class InsufficientPlan(object): self._upsell_url_value = None self._upsell_url_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(InsufficientPlan, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'InsufficientPlan(message={!r}, upsell_url={!r})'.format( self._message_value, @@ -5457,13 +5817,14 @@ class InsufficientPlan(object): InsufficientPlan_validator = bv.Struct(InsufficientPlan) -class InsufficientQuotaAmounts(object): +class InsufficientQuotaAmounts(bb.Struct): """ - :ivar space_needed: The amount of space needed to add the item (the size of - the item). - :ivar space_shortage: The amount of extra space needed to add the item. - :ivar space_left: The amount of space left in the user's Dropbox, less than - space_needed. + :ivar sharing.InsufficientQuotaAmounts.space_needed: The amount of space + needed to add the item (the size of the item). + :ivar sharing.InsufficientQuotaAmounts.space_shortage: The amount of extra + space needed to add the item. + :ivar sharing.InsufficientQuotaAmounts.space_left: The amount of space left + in the user's Dropbox, less than space_needed. """ __slots__ = [ @@ -5499,7 +5860,7 @@ class InsufficientQuotaAmounts(object): """ The amount of space needed to add the item (the size of the item). - :rtype: long + :rtype: int """ if self._space_needed_present: return self._space_needed_value @@ -5522,7 +5883,7 @@ class InsufficientQuotaAmounts(object): """ The amount of extra space needed to add the item. - :rtype: long + :rtype: int """ if self._space_shortage_present: return self._space_shortage_value @@ -5545,7 +5906,7 @@ class InsufficientQuotaAmounts(object): """ The amount of space left in the user's Dropbox, less than space_needed. - :rtype: long + :rtype: int """ if self._space_left_present: return self._space_left_value @@ -5563,6 +5924,9 @@ class InsufficientQuotaAmounts(object): self._space_left_value = None self._space_left_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(InsufficientQuotaAmounts, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'InsufficientQuotaAmounts(space_needed={!r}, space_shortage={!r}, space_left={!r})'.format( self._space_needed_value, @@ -5580,7 +5944,7 @@ class InviteeInfo(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str email: E-mail address of invited user. + :ivar str sharing.InviteeInfo.email: E-mail address of invited user. """ _catch_all = 'other' @@ -5626,6 +5990,9 @@ class InviteeInfo(bb.Union): raise AttributeError("tag 'email' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(InviteeInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'InviteeInfo(%r, %r)' % (self._tag, self._value) @@ -5635,8 +6002,9 @@ class InviteeMembershipInfo(MembershipInfo): """ Information about an invited member of a shared content. - :ivar invitee: Recipient of the invitation. - :ivar user: The user this invitation is tied to, if available. + :ivar sharing.InviteeMembershipInfo.invitee: Recipient of the invitation. + :ivar sharing.InviteeMembershipInfo.user: The user this invitation is tied + to, if available. """ __slots__ = [ @@ -5717,6 +6085,9 @@ class InviteeMembershipInfo(MembershipInfo): self._user_value = None self._user_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(InviteeMembershipInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'InviteeMembershipInfo(access_type={!r}, invitee={!r}, permissions={!r}, initials={!r}, is_inherited={!r}, user={!r})'.format( self._access_type_value, @@ -5739,14 +6110,15 @@ class JobError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar UnshareFolderError unshare_folder_error: Error occurred while + :ivar UnshareFolderError JobError.unshare_folder_error: Error occurred while performing :meth:`dropbox.dropbox.Dropbox.sharing_unshare_folder` action. - :ivar RemoveFolderMemberError remove_folder_member_error: Error occurred - while performing + :ivar RemoveFolderMemberError JobError.remove_folder_member_error: Error + occurred while performing :meth:`dropbox.dropbox.Dropbox.sharing_remove_folder_member` action. - :ivar RelinquishFolderMembershipError relinquish_folder_membership_error: - Error occurred while performing + :ivar RelinquishFolderMembershipError + JobError.relinquish_folder_membership_error: Error occurred while + performing :meth:`dropbox.dropbox.Dropbox.sharing_relinquish_folder_membership` action. """ @@ -5860,19 +6232,22 @@ class JobError(bb.Union): raise AttributeError("tag 'relinquish_folder_membership_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(JobError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'JobError(%r, %r)' % (self._tag, self._value) JobError_validator = bv.Union(JobError) -class JobStatus(async.PollResultBase): +class JobStatus(async_.PollResultBase): """ 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 complete: The asynchronous job has finished. - :ivar JobError failed: The asynchronous job returned an error. + :ivar sharing.JobStatus.complete: The asynchronous job has finished. + :ivar JobError JobStatus.failed: The asynchronous job returned an error. """ # Attribute is overwritten below the class definition @@ -5917,11 +6292,66 @@ class JobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(JobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'JobStatus(%r, %r)' % (self._tag, self._value) JobStatus_validator = bv.Union(JobStatus) +class LinkAccessLevel(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 sharing.LinkAccessLevel.viewer: Users who use the link can view and + comment on the content. + :ivar sharing.LinkAccessLevel.editor: Users who use the link can edit, view + and comment on the content. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + viewer = 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_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkAccessLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LinkAccessLevel(%r, %r)' % (self._tag, self._value) + +LinkAccessLevel_validator = bv.Union(LinkAccessLevel) + class LinkAction(bb.Union): """ Actions that can be performed on a link. @@ -5930,12 +6360,15 @@ 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. - :ivar set_expiry: Create or modify the expiry date of the link. - :ivar set_password: Create or modify the password of the link. + :ivar sharing.LinkAction.change_access_level: Change the access level of the + link. + :ivar sharing.LinkAction.change_audience: Change the audience of the link. + :ivar sharing.LinkAction.remove_expiry: Remove the expiry date of the link. + :ivar sharing.LinkAction.remove_password: Remove the password of the link. + :ivar sharing.LinkAction.set_expiry: Create or modify the expiry date of the + link. + :ivar sharing.LinkAction.set_password: Create or modify the password of the + link. """ _catch_all = 'other' @@ -6010,6 +6443,9 @@ class LinkAction(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkAction, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LinkAction(%r, %r)' % (self._tag, self._value) @@ -6021,9 +6457,16 @@ class LinkAudience(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar public: Link is accessible by anyone. - :ivar team: Link is accessible only by team members. - :ivar members: Link is accessible only by members of the content. + :ivar sharing.LinkAudience.public: Link is accessible by anyone. + :ivar sharing.LinkAudience.team: Link is accessible only by team members. + :ivar sharing.LinkAudience.no_one: The link can be used by no one. The link + merely points the user to the content, and does not grant additional + rights to the user. Members of the content who use this link can only + access the content with their pre-existing access rights. + :ivar sharing.LinkAudience.password: A link-specific password is required to + access the link. Login is not required. + :ivar sharing.LinkAudience.members: Link is accessible only by members of + the content. """ _catch_all = 'other' @@ -6032,6 +6475,10 @@ class LinkAudience(bb.Union): # Attribute is overwritten below the class definition team = None # Attribute is overwritten below the class definition + no_one = None + # Attribute is overwritten below the class definition + password = None + # Attribute is overwritten below the class definition members = None # Attribute is overwritten below the class definition other = None @@ -6052,6 +6499,22 @@ class LinkAudience(bb.Union): """ return self._tag == 'team' + def is_no_one(self): + """ + Check if the union tag is ``no_one``. + + :rtype: bool + """ + return self._tag == 'no_one' + + def is_password(self): + """ + Check if the union tag is ``password``. + + :rtype: bool + """ + return self._tag == 'password' + def is_members(self): """ Check if the union tag is ``members``. @@ -6068,6 +6531,9 @@ class LinkAudience(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkAudience, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LinkAudience(%r, %r)' % (self._tag, self._value) @@ -6079,9 +6545,10 @@ class LinkExpiry(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar remove_expiry: Remove the currently set expiry for the link. - :ivar datetime.datetime set_expiry: Set a new expiry or change an existing - expiry. + :ivar sharing.LinkExpiry.remove_expiry: Remove the currently set expiry for + the link. + :ivar datetime.datetime sharing.LinkExpiry.set_expiry: Set a new expiry or + change an existing expiry. """ _catch_all = 'other' @@ -6137,6 +6604,9 @@ class LinkExpiry(bb.Union): raise AttributeError("tag 'set_expiry' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkExpiry, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LinkExpiry(%r, %r)' % (self._tag, self._value) @@ -6148,8 +6618,10 @@ class LinkPassword(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar remove_password: Remove the currently set password for the link. - :ivar str set_password: Set a new password or change an existing password. + :ivar sharing.LinkPassword.remove_password: Remove the currently set + password for the link. + :ivar str sharing.LinkPassword.set_password: Set a new password or change an + existing password. """ _catch_all = 'other' @@ -6205,12 +6677,15 @@ class LinkPassword(bb.Union): raise AttributeError("tag 'set_password' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkPassword, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LinkPassword(%r, %r)' % (self._tag, self._value) LinkPassword_validator = bv.Union(LinkPassword) -class LinkPermission(object): +class LinkPermission(bb.Struct): """ Permissions for actions that can be performed on a link. """ @@ -6309,6 +6784,9 @@ class LinkPermission(object): self._reason_value = None self._reason_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkPermission, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LinkPermission(action={!r}, allow={!r}, reason={!r})'.format( self._action_value, @@ -6318,22 +6796,38 @@ class LinkPermission(object): LinkPermission_validator = bv.Struct(LinkPermission) -class LinkPermissions(object): +class LinkPermissions(bb.Struct): """ - :ivar resolved_visibility: The current visibility of the link after - considering the shared links policies of the the team (in case the - link's owner is part of a team) and the shared folder (in case the - linked file is part of a shared folder). This field is shown only if the - caller has access to this info (the link's owner always has access to - this data). - :ivar requested_visibility: The shared link's requested visibility. This can - be overridden by the team and shared folder policies. The final - visibility, after considering these policies, can be found in - ``resolved_visibility``. This is shown only if the caller is the link's - owner. - :ivar can_revoke: Whether the caller can revoke the shared link. - :ivar revoke_failure_reason: The failure reason for revoking the link. This - field will only be present if the ``can_revoke`` is ``False``. + :ivar sharing.LinkPermissions.resolved_visibility: The current visibility of + the link after considering the shared links policies of the the team (in + case the link's owner is part of a team) and the shared folder (in case + the linked file is part of a shared folder). This field is shown only if + the caller has access to this info (the link's owner always has access + to this data). For some links, an effective_audience value is returned + instead. + :ivar sharing.LinkPermissions.requested_visibility: The shared link's + requested visibility. This can be overridden by the team and shared + folder policies. The final visibility, after considering these policies, + can be found in ``resolved_visibility``. This is shown only if the + caller is the link's owner and resolved_visibility is returned instead + of effective_audience. + :ivar sharing.LinkPermissions.can_revoke: Whether the caller can revoke the + shared link. + :ivar sharing.LinkPermissions.revoke_failure_reason: The failure reason for + revoking the link. This field will only be present if the ``can_revoke`` + is ``False``. + :ivar sharing.LinkPermissions.effective_audience: The type of audience who + can benefit from the access level specified by the `link_access_level` + field. + :ivar sharing.LinkPermissions.link_access_level: The access level that the + link will grant to its users. A link can grant additional rights to a + user beyond their current access level. For example, if a user was + invited as a viewer to a file, and then opens a link with + `link_access_level` set to `editor`, then they will gain editor + privileges. The `link_access_level` is a property of the link, and does + not depend on who is calling this API. In particular, + `link_access_level` does not take into account the API caller's current + permissions to the content. """ __slots__ = [ @@ -6345,6 +6839,10 @@ class LinkPermissions(object): '_can_revoke_present', '_revoke_failure_reason_value', '_revoke_failure_reason_present', + '_effective_audience_value', + '_effective_audience_present', + '_link_access_level_value', + '_link_access_level_present', ] _has_required_fields = True @@ -6353,7 +6851,9 @@ class LinkPermissions(object): can_revoke=None, resolved_visibility=None, requested_visibility=None, - revoke_failure_reason=None): + revoke_failure_reason=None, + effective_audience=None, + link_access_level=None): self._resolved_visibility_value = None self._resolved_visibility_present = False self._requested_visibility_value = None @@ -6362,6 +6862,10 @@ class LinkPermissions(object): self._can_revoke_present = False self._revoke_failure_reason_value = None self._revoke_failure_reason_present = False + self._effective_audience_value = None + self._effective_audience_present = False + self._link_access_level_value = None + self._link_access_level_present = False if resolved_visibility is not None: self.resolved_visibility = resolved_visibility if requested_visibility is not None: @@ -6370,6 +6874,10 @@ class LinkPermissions(object): self.can_revoke = can_revoke if revoke_failure_reason is not None: self.revoke_failure_reason = revoke_failure_reason + if effective_audience is not None: + self.effective_audience = effective_audience + if link_access_level is not None: + self.link_access_level = link_access_level @property def resolved_visibility(self): @@ -6378,7 +6886,8 @@ class LinkPermissions(object): policies of the the team (in case the link's owner is part of a team) and the shared folder (in case the linked file is part of a shared folder). This field is shown only if the caller has access to this info - (the link's owner always has access to this data). + (the link's owner always has access to this data). For some links, an + effective_audience value is returned instead. :rtype: ResolvedVisibility """ @@ -6407,7 +6916,8 @@ class LinkPermissions(object): The shared link's requested visibility. This can be overridden by the team and shared folder policies. The final visibility, after considering these policies, can be found in ``resolved_visibility``. This is shown - only if the caller is the link's owner. + only if the caller is the link's owner and resolved_visibility is + returned instead of effective_audience. :rtype: RequestedVisibility """ @@ -6480,25 +6990,91 @@ class LinkPermissions(object): self._revoke_failure_reason_value = None self._revoke_failure_reason_present = False + @property + def effective_audience(self): + """ + The type of audience who can benefit from the access level specified by + the `link_access_level` field. + + :rtype: LinkAudience + """ + if self._effective_audience_present: + return self._effective_audience_value + else: + return None + + @effective_audience.setter + def effective_audience(self, val): + if val is None: + del self.effective_audience + return + self._effective_audience_validator.validate_type_only(val) + self._effective_audience_value = val + self._effective_audience_present = True + + @effective_audience.deleter + def effective_audience(self): + self._effective_audience_value = None + self._effective_audience_present = False + + @property + def link_access_level(self): + """ + The access level that the link will grant to its users. A link can grant + additional rights to a user beyond their current access level. For + example, if a user was invited as a viewer to a file, and then opens a + link with `link_access_level` set to `editor`, then they will gain + editor privileges. The `link_access_level` is a property of the link, + and does not depend on who is calling this API. In particular, + `link_access_level` does not take into account the API caller's current + permissions to the content. + + :rtype: LinkAccessLevel + """ + if self._link_access_level_present: + return self._link_access_level_value + else: + return None + + @link_access_level.setter + def link_access_level(self, val): + if val is None: + del self.link_access_level + return + self._link_access_level_validator.validate_type_only(val) + self._link_access_level_value = val + self._link_access_level_present = True + + @link_access_level.deleter + def link_access_level(self): + self._link_access_level_value = None + self._link_access_level_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkPermissions, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'LinkPermissions(can_revoke={!r}, resolved_visibility={!r}, requested_visibility={!r}, revoke_failure_reason={!r})'.format( + return 'LinkPermissions(can_revoke={!r}, resolved_visibility={!r}, requested_visibility={!r}, revoke_failure_reason={!r}, effective_audience={!r}, link_access_level={!r})'.format( self._can_revoke_value, self._resolved_visibility_value, self._requested_visibility_value, self._revoke_failure_reason_value, + self._effective_audience_value, + self._link_access_level_value, ) LinkPermissions_validator = bv.Struct(LinkPermissions) -class LinkSettings(object): +class LinkSettings(bb.Struct): """ 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. + :ivar sharing.LinkSettings.access_level: The access level on the link for + this file. Currently, it only accepts 'viewer' and 'viewer_no_comment'. + :ivar sharing.LinkSettings.audience: The type of audience on the link for + this file. + :ivar sharing.LinkSettings.expiry: An expiry timestamp to set on a link. + :ivar sharing.LinkSettings.password: The password for the link. """ __slots__ = [ @@ -6641,6 +7217,9 @@ class LinkSettings(object): self._password_value = None self._password_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkSettings, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LinkSettings(access_level={!r}, audience={!r}, expiry={!r}, password={!r})'.format( self._access_level_value, @@ -6651,16 +7230,18 @@ class LinkSettings(object): LinkSettings_validator = bv.Struct(LinkSettings) -class ListFileMembersArg(object): +class ListFileMembersArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members`. - :ivar file: The file for which you want to see members. - :ivar actions: The actions for which to return permissions on a member. - :ivar include_inherited: Whether to include members who only have access - from a parent shared folder. - :ivar limit: Number of members to return max per query. Defaults to 100 if - no limit is specified. + :ivar sharing.ListFileMembersArg.file: The file for which you want to see + members. + :ivar sharing.ListFileMembersArg.actions: The actions for which to return + permissions on a member. + :ivar sharing.ListFileMembersArg.include_inherited: Whether to include + members who only have access from a parent shared folder. + :ivar sharing.ListFileMembersArg.limit: Number of members to return max per + query. Defaults to 100 if no limit is specified. """ __slots__ = [ @@ -6777,7 +7358,7 @@ class ListFileMembersArg(object): Number of members to return max per query. Defaults to 100 if no limit is specified. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -6795,6 +7376,9 @@ class ListFileMembersArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersArg(file={!r}, actions={!r}, include_inherited={!r}, limit={!r})'.format( self._file_value, @@ -6805,14 +7389,15 @@ class ListFileMembersArg(object): ListFileMembersArg_validator = bv.Struct(ListFileMembersArg) -class ListFileMembersBatchArg(object): +class ListFileMembersBatchArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`. - :ivar files: Files for which to return members. - :ivar limit: Number of members to return max per query. Defaults to 10 if no - limit is specified. + :ivar sharing.ListFileMembersBatchArg.files: Files for which to return + members. + :ivar sharing.ListFileMembersBatchArg.limit: Number of members to return max + per query. Defaults to 10 if no limit is specified. """ __slots__ = [ @@ -6865,7 +7450,7 @@ class ListFileMembersBatchArg(object): Number of members to return max per query. Defaults to 10 if no limit is specified. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -6883,6 +7468,9 @@ class ListFileMembersBatchArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersBatchArg(files={!r}, limit={!r})'.format( self._files_value, @@ -6891,13 +7479,15 @@ class ListFileMembersBatchArg(object): ListFileMembersBatchArg_validator = bv.Struct(ListFileMembersBatchArg) -class ListFileMembersBatchResult(object): +class ListFileMembersBatchResult(bb.Struct): """ Per-file result for :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`. - :ivar file: This is the input file identifier, whether an ID or a path. - :ivar result: The result for this particular file. + :ivar sharing.ListFileMembersBatchResult.file: This is the input file + identifier, whether an ID or a path. + :ivar sharing.ListFileMembersBatchResult.result: The result for this + particular file. """ __slots__ = [ @@ -6967,6 +7557,9 @@ class ListFileMembersBatchResult(object): self._result_value = None self._result_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersBatchResult(file={!r}, result={!r})'.format( self._file_value, @@ -6975,13 +7568,13 @@ class ListFileMembersBatchResult(object): ListFileMembersBatchResult_validator = bv.Struct(ListFileMembersBatchResult) -class ListFileMembersContinueArg(object): +class ListFileMembersContinueArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`. - :ivar cursor: The cursor returned by your last call to - :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members`, + :ivar sharing.ListFileMembersContinueArg.cursor: The cursor returned by your + last call to :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members`, :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`, or :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`. """ @@ -7026,6 +7619,9 @@ class ListFileMembersContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersContinueArg(cursor={!r})'.format( self._cursor_value, @@ -7042,7 +7638,8 @@ class ListFileMembersContinueError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_cursor: ``ListFileMembersContinueArg.cursor`` is invalid. + :ivar sharing.ListFileMembersContinueError.invalid_cursor: + ``ListFileMembersContinueArg.cursor`` is invalid. """ _catch_all = 'other' @@ -7125,16 +7722,20 @@ class ListFileMembersContinueError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersContinueError(%r, %r)' % (self._tag, self._value) ListFileMembersContinueError_validator = bv.Union(ListFileMembersContinueError) -class ListFileMembersCountResult(object): +class ListFileMembersCountResult(bb.Struct): """ - :ivar members: A list of members on this file. - :ivar member_count: The number of members on this file. This does not - include inherited members. + :ivar sharing.ListFileMembersCountResult.members: A list of members on this + file. + :ivar sharing.ListFileMembersCountResult.member_count: The number of members + on this file. This does not include inherited members. """ __slots__ = [ @@ -7187,7 +7788,7 @@ class ListFileMembersCountResult(object): The number of members on this file. This does not include inherited members. - :rtype: long + :rtype: int """ if self._member_count_present: return self._member_count_value @@ -7205,6 +7806,9 @@ class ListFileMembersCountResult(object): self._member_count_value = None self._member_count_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersCountResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersCountResult(members={!r}, member_count={!r})'.format( self._members_value, @@ -7292,6 +7896,9 @@ class ListFileMembersError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersError(%r, %r)' % (self._tag, self._value) @@ -7303,10 +7910,10 @@ class ListFileMembersIndividualResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar ListFileMembersCountResult result: The results of the query for this - file if it was successful. - :ivar SharingFileAccessError access_error: The result of the query for this - file if it was an error. + :ivar ListFileMembersCountResult ListFileMembersIndividualResult.result: The + results of the query for this file if it was successful. + :ivar SharingFileAccessError ListFileMembersIndividualResult.access_error: + The result of the query for this file if it was an error. """ _catch_all = 'other' @@ -7383,21 +7990,24 @@ class ListFileMembersIndividualResult(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFileMembersIndividualResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFileMembersIndividualResult(%r, %r)' % (self._tag, self._value) ListFileMembersIndividualResult_validator = bv.Union(ListFileMembersIndividualResult) -class ListFilesArg(object): +class ListFilesArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_list_received_files`. - :ivar limit: Number of files to return max per query. Defaults to 100 if no - limit is specified. - :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. + :ivar sharing.ListFilesArg.limit: Number of files to return max per query. + Defaults to 100 if no limit is specified. + :ivar sharing.ListFilesArg.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__ = [ @@ -7427,7 +8037,7 @@ class ListFilesArg(object): Number of files to return max per query. Defaults to 100 if no limit is specified. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -7473,6 +8083,9 @@ class ListFilesArg(object): self._actions_value = None self._actions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFilesArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFilesArg(limit={!r}, actions={!r})'.format( self._limit_value, @@ -7481,12 +8094,13 @@ class ListFilesArg(object): ListFilesArg_validator = bv.Struct(ListFilesArg) -class ListFilesContinueArg(object): +class ListFilesContinueArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_list_received_files_continue`. - :ivar cursor: Cursor in ``ListFilesResult.cursor``. + :ivar sharing.ListFilesContinueArg.cursor: Cursor in + ``ListFilesResult.cursor``. """ __slots__ = [ @@ -7526,6 +8140,9 @@ class ListFilesContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFilesContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFilesContinueArg(cursor={!r})'.format( self._cursor_value, @@ -7542,8 +8159,10 @@ class ListFilesContinueError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar SharingUserError user_error: User account had a problem. - :ivar invalid_cursor: ``ListFilesContinueArg.cursor`` is invalid. + :ivar SharingUserError ListFilesContinueError.user_error: User account had a + problem. + :ivar sharing.ListFilesContinueError.invalid_cursor: + ``ListFilesContinueArg.cursor`` is invalid. """ _catch_all = 'other' @@ -7599,18 +8218,23 @@ class ListFilesContinueError(bb.Union): raise AttributeError("tag 'user_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFilesContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFilesContinueError(%r, %r)' % (self._tag, self._value) ListFilesContinueError_validator = bv.Union(ListFilesContinueError) -class ListFilesResult(object): +class ListFilesResult(bb.Struct): """ Success results for :meth:`dropbox.dropbox.Dropbox.sharing_list_received_files`. - :ivar entries: Information about the files shared with current user. - :ivar cursor: Cursor used to obtain additional shared files. + :ivar sharing.ListFilesResult.entries: Information about the files shared + with current user. + :ivar sharing.ListFilesResult.cursor: Cursor used to obtain additional + shared files. """ __slots__ = [ @@ -7683,6 +8307,9 @@ class ListFilesResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFilesResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFilesResult(entries={!r}, cursor={!r})'.format( self._entries_value, @@ -7691,13 +8318,14 @@ class ListFilesResult(object): ListFilesResult_validator = bv.Struct(ListFilesResult) -class ListFolderMembersCursorArg(object): +class ListFolderMembersCursorArg(bb.Struct): """ - :ivar actions: This is a list indicating whether each returned member will - include a boolean value ``MemberPermission.allow`` that describes - whether the current user can perform the MemberAction on the member. - :ivar limit: The maximum number of results that include members, groups and - invitees to return per request. + :ivar sharing.ListFolderMembersCursorArg.actions: This is a list indicating + whether each returned member will include a boolean value + ``MemberPermission.allow`` that describes whether the current user can + perform the MemberAction on the member. + :ivar sharing.ListFolderMembersCursorArg.limit: The maximum number of + results that include members, groups and invitees to return per request. """ __slots__ = [ @@ -7755,7 +8383,7 @@ class ListFolderMembersCursorArg(object): The maximum number of results that include members, groups and invitees to return per request. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -7773,6 +8401,9 @@ class ListFolderMembersCursorArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderMembersCursorArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderMembersCursorArg(actions={!r}, limit={!r})'.format( self._actions_value, @@ -7783,7 +8414,8 @@ ListFolderMembersCursorArg_validator = bv.Struct(ListFolderMembersCursorArg) class ListFolderMembersArgs(ListFolderMembersCursorArg): """ - :ivar shared_folder_id: The ID for the shared folder. + :ivar sharing.ListFolderMembersArgs.shared_folder_id: The ID for the shared + folder. """ __slots__ = [ @@ -7827,6 +8459,9 @@ class ListFolderMembersArgs(ListFolderMembersCursorArg): self._shared_folder_id_value = None self._shared_folder_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderMembersArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderMembersArgs(shared_folder_id={!r}, actions={!r}, limit={!r})'.format( self._shared_folder_id_value, @@ -7836,9 +8471,10 @@ class ListFolderMembersArgs(ListFolderMembersCursorArg): ListFolderMembersArgs_validator = bv.Struct(ListFolderMembersArgs) -class ListFolderMembersContinueArg(object): +class ListFolderMembersContinueArg(bb.Struct): """ - :ivar cursor: The cursor returned by your last call to + :ivar sharing.ListFolderMembersContinueArg.cursor: The cursor returned by + your last call to :meth:`dropbox.dropbox.Dropbox.sharing_list_folder_members` or :meth:`dropbox.dropbox.Dropbox.sharing_list_folder_members_continue`. """ @@ -7882,6 +8518,9 @@ class ListFolderMembersContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderMembersContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderMembersContinueArg(cursor={!r})'.format( self._cursor_value, @@ -7895,7 +8534,8 @@ class ListFolderMembersContinueError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_cursor: ``ListFolderMembersContinueArg.cursor`` is invalid. + :ivar sharing.ListFolderMembersContinueError.invalid_cursor: + ``ListFolderMembersContinueArg.cursor`` is invalid. """ _catch_all = 'other' @@ -7949,18 +8589,22 @@ class ListFolderMembersContinueError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFolderMembersContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFolderMembersContinueError(%r, %r)' % (self._tag, self._value) ListFolderMembersContinueError_validator = bv.Union(ListFolderMembersContinueError) -class ListFoldersArgs(object): +class ListFoldersArgs(bb.Struct): """ - :ivar limit: The maximum number of results to return per request. - :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 sharing.ListFoldersArgs.limit: The maximum number of results to return + per request. + :ivar sharing.ListFoldersArgs.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__ = [ @@ -7989,7 +8633,7 @@ class ListFoldersArgs(object): """ The maximum number of results to return per request. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -8036,6 +8680,9 @@ class ListFoldersArgs(object): self._actions_value = None self._actions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFoldersArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFoldersArgs(limit={!r}, actions={!r})'.format( self._limit_value, @@ -8044,10 +8691,10 @@ class ListFoldersArgs(object): ListFoldersArgs_validator = bv.Struct(ListFoldersArgs) -class ListFoldersContinueArg(object): +class ListFoldersContinueArg(bb.Struct): """ - :ivar cursor: The cursor returned by the previous API call specified in the - endpoint description. + :ivar sharing.ListFoldersContinueArg.cursor: The cursor returned by the + previous API call specified in the endpoint description. """ __slots__ = [ @@ -8088,6 +8735,9 @@ class ListFoldersContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFoldersContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFoldersContinueArg(cursor={!r})'.format( self._cursor_value, @@ -8101,7 +8751,8 @@ class ListFoldersContinueError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_cursor: ``ListFoldersContinueArg.cursor`` is invalid. + :ivar sharing.ListFoldersContinueError.invalid_cursor: + ``ListFoldersContinueArg.cursor`` is invalid. """ _catch_all = 'other' @@ -8126,23 +8777,26 @@ class ListFoldersContinueError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFoldersContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFoldersContinueError(%r, %r)' % (self._tag, self._value) ListFoldersContinueError_validator = bv.Union(ListFoldersContinueError) -class ListFoldersResult(object): +class ListFoldersResult(bb.Struct): """ Result for :meth:`dropbox.dropbox.Dropbox.sharing_list_folders` or :meth:`dropbox.dropbox.Dropbox.sharing_list_mountable_folders`, depending on which endpoint was requested. Unmounted shared folders can be identified by the absence of ``SharedFolderMetadata.path_lower``. - :ivar entries: List of all shared folders the authenticated user has access - to. - :ivar cursor: Present if there are additional shared folders that have not - been returned yet. Pass the cursor into the corresponding continue - endpoint (either + :ivar sharing.ListFoldersResult.entries: List of all shared folders the + authenticated user has access to. + :ivar sharing.ListFoldersResult.cursor: Present if there are additional + shared folders that have not been returned yet. Pass the cursor into the + corresponding continue endpoint (either :meth:`dropbox.dropbox.Dropbox.sharing_list_folders_continue` or :meth:`dropbox.dropbox.Dropbox.sharing_list_mountable_folders_continue`) to list additional folders. @@ -8222,6 +8876,9 @@ class ListFoldersResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListFoldersResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListFoldersResult(entries={!r}, cursor={!r})'.format( self._entries_value, @@ -8230,13 +8887,13 @@ class ListFoldersResult(object): ListFoldersResult_validator = bv.Struct(ListFoldersResult) -class ListSharedLinksArg(object): +class ListSharedLinksArg(bb.Struct): """ - :ivar path: See :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` - description. - :ivar cursor: The cursor returned by your last call to - :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links`. - :ivar direct_only: See + :ivar sharing.ListSharedLinksArg.path: See + :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` description. + :ivar sharing.ListSharedLinksArg.cursor: The cursor returned by your last + call to :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links`. + :ivar sharing.ListSharedLinksArg.direct_only: See :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` description. """ @@ -8349,6 +9006,9 @@ class ListSharedLinksArg(object): self._direct_only_value = None self._direct_only_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListSharedLinksArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListSharedLinksArg(path={!r}, cursor={!r}, direct_only={!r})'.format( self._path_value, @@ -8364,7 +9024,8 @@ class ListSharedLinksError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar reset: Indicates that the cursor has been invalidated. Call + :ivar sharing.ListSharedLinksError.reset: Indicates that the cursor has been + invalidated. Call :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` to obtain a new cursor. """ @@ -8381,7 +9042,7 @@ class ListSharedLinksError(bb.Union): Create an instance of this class set to the ``path`` tag with value ``val``. - :param files.LookupError_validator val: + :param files.LookupError val: :rtype: ListSharedLinksError """ return cls('path', val) @@ -8414,25 +9075,29 @@ class ListSharedLinksError(bb.Union): """ Only call this if :meth:`is_path` is true. - :rtype: files.LookupError_validator + :rtype: files.LookupError """ if not self.is_path(): raise AttributeError("tag 'path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListSharedLinksError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListSharedLinksError(%r, %r)' % (self._tag, self._value) ListSharedLinksError_validator = bv.Union(ListSharedLinksError) -class ListSharedLinksResult(object): +class ListSharedLinksResult(bb.Struct): """ - :ivar links: Shared links applicable to the path argument. - :ivar has_more: Is true if there are additional shared links that have not - been returned yet. Pass the cursor into - :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` to retrieve - them. - :ivar cursor: Pass the cursor into + :ivar sharing.ListSharedLinksResult.links: Shared links applicable to the + path argument. + :ivar sharing.ListSharedLinksResult.has_more: Is true if there are + additional shared links that have not been returned yet. Pass the cursor + into :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` to + retrieve them. + :ivar sharing.ListSharedLinksResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` to obtain the additional links. Cursor is returned only if no path is given. """ @@ -8542,6 +9207,9 @@ class ListSharedLinksResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListSharedLinksResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListSharedLinksResult(links={!r}, has_more={!r}, cursor={!r})'.format( self._links_value, @@ -8551,18 +9219,19 @@ class ListSharedLinksResult(object): ListSharedLinksResult_validator = bv.Struct(ListSharedLinksResult) -class MemberAccessLevelResult(object): +class MemberAccessLevelResult(bb.Struct): """ Contains information about a member's access level to content after an operation. - :ivar access_level: The member still has this level of access to the content - through a parent folder. - :ivar warning: A localized string with additional information about why the - user has this access level to the content. - :ivar access_details: The parent folders that a member has access to. The - field is present if the user has access to the first parent folder where - the member gains access. + :ivar sharing.MemberAccessLevelResult.access_level: The member still has + this level of access to the content through a parent folder. + :ivar sharing.MemberAccessLevelResult.warning: A localized string with + additional information about why the user has this access level to the + content. + :ivar sharing.MemberAccessLevelResult.access_details: The parent folders + that a member has access to. The field is present if the user has access + to the first parent folder where the member gains access. """ __slots__ = [ @@ -8675,6 +9344,9 @@ class MemberAccessLevelResult(object): self._access_details_value = None self._access_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAccessLevelResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberAccessLevelResult(access_level={!r}, warning={!r}, access_details={!r})'.format( self._access_level_value, @@ -8692,14 +9364,17 @@ class MemberAction(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar leave_a_copy: Allow the member to keep a copy of the folder when - removing. - :ivar make_editor: Make the member an editor of the folder. - :ivar make_owner: Make the member an owner of the folder. - :ivar make_viewer: Make the member a viewer of the folder. - :ivar make_viewer_no_comment: Make the member a viewer of the folder without - commenting permissions. - :ivar remove: Remove the member from the folder. + :ivar sharing.MemberAction.leave_a_copy: Allow the member to keep a copy of + the folder when removing. + :ivar sharing.MemberAction.make_editor: Make the member an editor of the + folder. + :ivar sharing.MemberAction.make_owner: Make the member an owner of the + folder. + :ivar sharing.MemberAction.make_viewer: Make the member a viewer of the + folder. + :ivar sharing.MemberAction.make_viewer_no_comment: Make the member a viewer + of the folder without commenting permissions. + :ivar sharing.MemberAction.remove: Remove the member from the folder. """ _catch_all = 'other' @@ -8774,19 +9449,24 @@ class MemberAction(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAction, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberAction(%r, %r)' % (self._tag, self._value) MemberAction_validator = bv.Union(MemberAction) -class MemberPermission(object): +class MemberPermission(bb.Struct): """ Whether the user is allowed to take the action on the associated member. - :ivar action: The action that the user may wish to take on the member. - :ivar allow: True if the user is allowed to take the action. - :ivar reason: The reason why the user is denied the permission. Not present - if the action is allowed. + :ivar sharing.MemberPermission.action: The action that the user may wish to + take on the member. + :ivar sharing.MemberPermission.allow: True if the user is allowed to take + the action. + :ivar sharing.MemberPermission.reason: The reason why the user is denied the + permission. Not present if the action is allowed. """ __slots__ = [ @@ -8890,6 +9570,9 @@ class MemberPermission(object): self._reason_value = None self._reason_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberPermission, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberPermission(action={!r}, allow={!r}, reason={!r})'.format( self._action_value, @@ -8908,8 +9591,8 @@ class MemberPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar team: Only a teammate can become a member. - :ivar anyone: Anyone can become a member. + :ivar sharing.MemberPolicy.team: Only a teammate can become a member. + :ivar sharing.MemberPolicy.anyone: Anyone can become a member. """ _catch_all = 'other' @@ -8944,6 +9627,9 @@ class MemberPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberPolicy(%r, %r)' % (self._tag, self._value) @@ -8957,8 +9643,9 @@ class MemberSelector(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str dropbox_id: Dropbox account, team member, or group ID of member. - :ivar str email: E-mail address of member. + :ivar str sharing.MemberSelector.dropbox_id: Dropbox account, team member, + or group ID of member. + :ivar str sharing.MemberSelector.email: E-mail address of member. """ _catch_all = 'other' @@ -9035,17 +9722,22 @@ class MemberSelector(bb.Union): raise AttributeError("tag 'email' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSelector, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSelector(%r, %r)' % (self._tag, self._value) MemberSelector_validator = bv.Union(MemberSelector) -class ModifySharedLinkSettingsArgs(object): +class ModifySharedLinkSettingsArgs(bb.Struct): """ - :ivar url: URL of the shared link to change its settings. - :ivar settings: Set of settings for the shared link. - :ivar remove_expiration: If set to true, removes the expiration of the + :ivar sharing.ModifySharedLinkSettingsArgs.url: URL of the shared link to + change its settings. + :ivar sharing.ModifySharedLinkSettingsArgs.settings: Set of settings for the shared link. + :ivar sharing.ModifySharedLinkSettingsArgs.remove_expiration: If set to + true, removes the expiration of the shared link. """ __slots__ = [ @@ -9145,6 +9837,9 @@ class ModifySharedLinkSettingsArgs(object): self._remove_expiration_value = None self._remove_expiration_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ModifySharedLinkSettingsArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ModifySharedLinkSettingsArgs(url={!r}, settings={!r}, remove_expiration={!r})'.format( self._url_value, @@ -9160,9 +9855,10 @@ class ModifySharedLinkSettingsError(SharedLinkError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar SharedLinkSettingsError settings_error: There is an error with the - given settings. - :ivar email_not_verified: The caller's email should be verified. + :ivar SharedLinkSettingsError ModifySharedLinkSettingsError.settings_error: + There is an error with the given settings. + :ivar sharing.ModifySharedLinkSettingsError.email_not_verified: The caller's + email should be verified. """ # Attribute is overwritten below the class definition @@ -9207,14 +9903,18 @@ class ModifySharedLinkSettingsError(SharedLinkError): raise AttributeError("tag 'settings_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ModifySharedLinkSettingsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ModifySharedLinkSettingsError(%r, %r)' % (self._tag, self._value) ModifySharedLinkSettingsError_validator = bv.Union(ModifySharedLinkSettingsError) -class MountFolderArg(object): +class MountFolderArg(bb.Struct): """ - :ivar shared_folder_id: The ID of the shared folder to mount. + :ivar sharing.MountFolderArg.shared_folder_id: The ID of the shared folder + to mount. """ __slots__ = [ @@ -9254,6 +9954,9 @@ class MountFolderArg(object): self._shared_folder_id_value = None self._shared_folder_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MountFolderArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MountFolderArg(shared_folder_id={!r})'.format( self._shared_folder_id_value, @@ -9267,16 +9970,17 @@ class MountFolderError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar inside_shared_folder: Mounting would cause a shared folder to be - inside another, which is disallowed. - :ivar InsufficientQuotaAmounts insufficient_quota: The current user does not - have enough space to mount the shared folder. - :ivar already_mounted: The shared folder is already mounted. - :ivar no_permission: The current user does not have permission to perform - this action. - :ivar not_mountable: The shared folder is not mountable. One example where - this can occur is when the shared folder belongs within a team folder in - the user's Dropbox. + :ivar sharing.MountFolderError.inside_shared_folder: Mounting would cause a + shared folder to be inside another, which is disallowed. + :ivar InsufficientQuotaAmounts MountFolderError.insufficient_quota: The + current user does not have enough space to mount the shared folder. + :ivar sharing.MountFolderError.already_mounted: The shared folder is already + mounted. + :ivar sharing.MountFolderError.no_permission: The current user does not have + permission to perform this action. + :ivar sharing.MountFolderError.not_mountable: The shared folder is not + mountable. One example where this can occur is when the shared folder + belongs within a team folder in the user's Dropbox. """ _catch_all = 'other' @@ -9391,20 +10095,26 @@ class MountFolderError(bb.Union): raise AttributeError("tag 'insufficient_quota' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MountFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MountFolderError(%r, %r)' % (self._tag, self._value) MountFolderError_validator = bv.Union(MountFolderError) -class ParentFolderAccessInfo(object): +class ParentFolderAccessInfo(bb.Struct): """ Contains information about a parent folder that a member has access to. - :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. + :ivar sharing.ParentFolderAccessInfo.folder_name: Display name for the + folder. + :ivar sharing.ParentFolderAccessInfo.shared_folder_id: The identifier of the + parent shared folder. + :ivar sharing.ParentFolderAccessInfo.permissions: The user's permissions for + the parent shared folder. + :ivar sharing.ParentFolderAccessInfo.path: The full path to the parent + shared folder relative to the acting user's root. """ __slots__ = [ @@ -9535,6 +10245,9 @@ class ParentFolderAccessInfo(object): self._path_value = None self._path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ParentFolderAccessInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ParentFolderAccessInfo(folder_name={!r}, shared_folder_id={!r}, permissions={!r}, path={!r})'.format( self._folder_name_value, @@ -9549,7 +10262,7 @@ class PathLinkMetadata(LinkMetadata): """ Metadata for a path-based shared link. - :ivar path: Path in user's Dropbox. + :ivar sharing.PathLinkMetadata.path: Path in user's Dropbox. """ __slots__ = [ @@ -9595,6 +10308,9 @@ class PathLinkMetadata(LinkMetadata): self._path_value = None self._path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PathLinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PathLinkMetadata(url={!r}, visibility={!r}, path={!r}, expires={!r})'.format( self._url_value, @@ -9614,8 +10330,8 @@ class PendingUploadMode(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar file: Assume pending uploads are files. - :ivar folder: Assume pending uploads are folders. + :ivar sharing.PendingUploadMode.file: Assume pending uploads are files. + :ivar sharing.PendingUploadMode.folder: Assume pending uploads are folders. """ _catch_all = None @@ -9640,6 +10356,9 @@ class PendingUploadMode(bb.Union): """ return self._tag == 'folder' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PendingUploadMode, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PendingUploadMode(%r, %r)' % (self._tag, self._value) @@ -9653,31 +10372,34 @@ class PermissionDeniedReason(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user_not_same_team_as_owner: User is not on the same team as the - folder owner. - :ivar user_not_allowed_by_owner: User is prohibited by the owner from taking - the action. - :ivar target_is_indirect_member: Target is indirectly a member of the - folder, for example by being part of a group. - :ivar target_is_owner: Target is the owner of the folder. - :ivar target_is_self: Target is the user itself. - :ivar target_not_active: Target is not an active member of the team. - :ivar folder_is_limited_team_folder: Folder is team folder for a limited - team. - :ivar owner_not_on_team: The content owner needs to be on a Dropbox team to - perform this action. - :ivar permission_denied: The user does not have permission to perform this - action on the link. - :ivar restricted_by_team: The user's team policy prevents performing this - action on the link. - :ivar user_account_type: The user's account type does not support this - action. - :ivar user_not_on_team: The user needs to be on a Dropbox team to perform - this action. - :ivar folder_is_inside_shared_folder: Folder is inside of another shared - folder. - :ivar restricted_by_parent_folder: Policy cannot be changed due to - restrictions from parent folder. + :ivar sharing.PermissionDeniedReason.user_not_same_team_as_owner: User is + not on the same team as the folder owner. + :ivar sharing.PermissionDeniedReason.user_not_allowed_by_owner: User is + prohibited by the owner from taking the action. + :ivar sharing.PermissionDeniedReason.target_is_indirect_member: Target is + indirectly a member of the folder, for example by being part of a group. + :ivar sharing.PermissionDeniedReason.target_is_owner: Target is the owner of + the folder. + :ivar sharing.PermissionDeniedReason.target_is_self: Target is the user + itself. + :ivar sharing.PermissionDeniedReason.target_not_active: Target is not an + active member of the team. + :ivar sharing.PermissionDeniedReason.folder_is_limited_team_folder: Folder + is team folder for a limited team. + :ivar sharing.PermissionDeniedReason.owner_not_on_team: The content owner + needs to be on a Dropbox team to perform this action. + :ivar sharing.PermissionDeniedReason.permission_denied: The user does not + have permission to perform this action on the link. + :ivar sharing.PermissionDeniedReason.restricted_by_team: The user's team + policy prevents performing this action on the link. + :ivar sharing.PermissionDeniedReason.user_account_type: The user's account + type does not support this action. + :ivar sharing.PermissionDeniedReason.user_not_on_team: The user needs to be + on a Dropbox team to perform this action. + :ivar sharing.PermissionDeniedReason.folder_is_inside_shared_folder: Folder + is inside of another shared folder. + :ivar sharing.PermissionDeniedReason.restricted_by_parent_folder: Policy + cannot be changed due to restrictions from parent folder. """ _catch_all = 'other' @@ -9861,14 +10583,17 @@ class PermissionDeniedReason(bb.Union): raise AttributeError("tag 'insufficient_plan' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PermissionDeniedReason, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PermissionDeniedReason(%r, %r)' % (self._tag, self._value) PermissionDeniedReason_validator = bv.Union(PermissionDeniedReason) -class RelinquishFileMembershipArg(object): +class RelinquishFileMembershipArg(bb.Struct): """ - :ivar file: The path or id for the file. + :ivar sharing.RelinquishFileMembershipArg.file: The path or id for the file. """ __slots__ = [ @@ -9908,6 +10633,9 @@ class RelinquishFileMembershipArg(object): self._file_value = None self._file_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelinquishFileMembershipArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelinquishFileMembershipArg(file={!r})'.format( self._file_value, @@ -9921,10 +10649,11 @@ class RelinquishFileMembershipError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar group_access: The current user has access to the shared file via a - group. You can't relinquish membership to a file shared via groups. - :ivar no_permission: The current user does not have permission to perform - this action. + :ivar sharing.RelinquishFileMembershipError.group_access: The current user + has access to the shared file via a group. You can't relinquish + membership to a file shared via groups. + :ivar sharing.RelinquishFileMembershipError.no_permission: The current user + does not have permission to perform this action. """ _catch_all = 'other' @@ -9988,16 +10717,20 @@ class RelinquishFileMembershipError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelinquishFileMembershipError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelinquishFileMembershipError(%r, %r)' % (self._tag, self._value) RelinquishFileMembershipError_validator = bv.Union(RelinquishFileMembershipError) -class RelinquishFolderMembershipArg(object): +class RelinquishFolderMembershipArg(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared folder. - :ivar leave_a_copy: Keep a copy of the folder's contents upon relinquishing - membership. + :ivar sharing.RelinquishFolderMembershipArg.shared_folder_id: The ID for the + shared folder. + :ivar sharing.RelinquishFolderMembershipArg.leave_a_copy: Keep a copy of the + folder's contents upon relinquishing membership. """ __slots__ = [ @@ -10067,6 +10800,9 @@ class RelinquishFolderMembershipArg(object): self._leave_a_copy_value = None self._leave_a_copy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelinquishFolderMembershipArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelinquishFolderMembershipArg(shared_folder_id={!r}, leave_a_copy={!r})'.format( self._shared_folder_id_value, @@ -10081,18 +10817,22 @@ class RelinquishFolderMembershipError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar folder_owner: The current user is the owner of the shared folder. - Owners cannot relinquish membership to their own folders. Try unsharing - or transferring ownership first. - :ivar mounted: The shared folder is currently mounted. Unmount the shared - folder before relinquishing membership. - :ivar group_access: The current user has access to the shared folder via a - group. You can't relinquish membership to folders shared via groups. - :ivar team_folder: This action cannot be performed on a team shared folder. - :ivar no_permission: The current user does not have permission to perform - this action. - :ivar no_explicit_access: The current user only has inherited access to the - shared folder. You can't relinquish inherited membership to folders. + :ivar sharing.RelinquishFolderMembershipError.folder_owner: The current user + is the owner of the shared folder. Owners cannot relinquish membership + to their own folders. Try unsharing or transferring ownership first. + :ivar sharing.RelinquishFolderMembershipError.mounted: The shared folder is + currently mounted. Unmount the shared folder before relinquishing + membership. + :ivar sharing.RelinquishFolderMembershipError.group_access: The current user + has access to the shared folder via a group. You can't relinquish + membership to folders shared via groups. + :ivar sharing.RelinquishFolderMembershipError.team_folder: This action + cannot be performed on a team shared folder. + :ivar sharing.RelinquishFolderMembershipError.no_permission: The current + user does not have permission to perform this action. + :ivar sharing.RelinquishFolderMembershipError.no_explicit_access: The + current user only has inherited access to the shared folder. You can't + relinquish inherited membership to folders. """ _catch_all = 'other' @@ -10196,19 +10936,23 @@ class RelinquishFolderMembershipError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelinquishFolderMembershipError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelinquishFolderMembershipError(%r, %r)' % (self._tag, self._value) RelinquishFolderMembershipError_validator = bv.Union(RelinquishFolderMembershipError) -class RemoveFileMemberArg(object): +class RemoveFileMemberArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_remove_file_member_2`. - :ivar file: File from which to remove members. - :ivar member: Member to remove from this file. Note that even if an email is - specified, it may result in the removal of a user (not an invitee) if - the user's main account corresponds to that email address. + :ivar sharing.RemoveFileMemberArg.file: File from which to remove members. + :ivar sharing.RemoveFileMemberArg.member: Member to remove from this file. + Note that even if an email is specified, it may result in the removal of + a user (not an invitee) if the user's main account corresponds to that + email address. """ __slots__ = [ @@ -10280,6 +11024,9 @@ class RemoveFileMemberArg(object): self._member_value = None self._member_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemoveFileMemberArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemoveFileMemberArg(file={!r}, member={!r})'.format( self._file_value, @@ -10296,10 +11043,10 @@ class RemoveFileMemberError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar MemberAccessLevelResult no_explicit_access: This member does not have - explicit access to the file and therefore cannot be removed. The return - value is the access that a user might have to the file from a parent - folder. + :ivar MemberAccessLevelResult RemoveFileMemberError.no_explicit_access: This + member does not have explicit access to the file and therefore cannot be + removed. The return value is the access that a user might have to the + file from a parent folder. """ _catch_all = 'other' @@ -10405,19 +11152,24 @@ class RemoveFileMemberError(bb.Union): raise AttributeError("tag 'no_explicit_access' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemoveFileMemberError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemoveFileMemberError(%r, %r)' % (self._tag, self._value) RemoveFileMemberError_validator = bv.Union(RemoveFileMemberError) -class RemoveFolderMemberArg(object): +class RemoveFolderMemberArg(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared folder. - :ivar member: The member to remove from the folder. - :ivar leave_a_copy: If true, the removed user will keep their copy of the - folder after it's unshared, assuming it was mounted. Otherwise, it will - be removed from their Dropbox. Also, this must be set to false when - kicking a group. + :ivar sharing.RemoveFolderMemberArg.shared_folder_id: The ID for the shared + folder. + :ivar sharing.RemoveFolderMemberArg.member: The member to remove from the + folder. + :ivar sharing.RemoveFolderMemberArg.leave_a_copy: If true, the removed user + will keep their copy of the folder after it's unshared, assuming it was + mounted. Otherwise, it will be removed from their Dropbox. Also, this + must be set to false when kicking a group. """ __slots__ = [ @@ -10519,6 +11271,9 @@ class RemoveFolderMemberArg(object): self._leave_a_copy_value = None self._leave_a_copy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemoveFolderMemberArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemoveFolderMemberArg(shared_folder_id={!r}, member={!r}, leave_a_copy={!r})'.format( self._shared_folder_id_value, @@ -10534,14 +11289,18 @@ class RemoveFolderMemberError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar folder_owner: The target user is the owner of the shared folder. You - can't remove this user until ownership has been transferred to another - member. - :ivar group_access: The target user has access to the shared folder via a - group. - :ivar team_folder: This action cannot be performed on a team shared folder. - :ivar no_permission: The current user does not have permission to perform - this action. + :ivar sharing.RemoveFolderMemberError.folder_owner: The target user is the + owner of the shared folder. You can't remove this user until ownership + has been transferred to another member. + :ivar sharing.RemoveFolderMemberError.group_access: The target user has + access to the shared folder via a group. + :ivar sharing.RemoveFolderMemberError.team_folder: This action cannot be + performed on a team shared folder. + :ivar sharing.RemoveFolderMemberError.no_permission: The current user does + not have permission to perform this action. + :ivar sharing.RemoveFolderMemberError.too_many_files: This shared folder has + too many files for leaving a copy. You can still remove this user + without leaving a copy. """ _catch_all = 'other' @@ -10554,6 +11313,8 @@ class RemoveFolderMemberError(bb.Union): # Attribute is overwritten below the class definition no_permission = None # Attribute is overwritten below the class definition + too_many_files = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -10626,6 +11387,14 @@ class RemoveFolderMemberError(bb.Union): """ return self._tag == 'no_permission' + def is_too_many_files(self): + """ + Check if the union tag is ``too_many_files``. + + :rtype: bool + """ + return self._tag == 'too_many_files' + def is_other(self): """ Check if the union tag is ``other``. @@ -10654,20 +11423,23 @@ class RemoveFolderMemberError(bb.Union): raise AttributeError("tag 'member_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemoveFolderMemberError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemoveFolderMemberError(%r, %r)' % (self._tag, self._value) RemoveFolderMemberError_validator = bv.Union(RemoveFolderMemberError) -class RemoveMemberJobStatus(async.PollResultBase): +class RemoveMemberJobStatus(async_.PollResultBase): """ 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 MemberAccessLevelResult complete: Removing the folder member has - finished. The value is information about whether the member has another - form of access. + :ivar MemberAccessLevelResult RemoveMemberJobStatus.complete: Removing the + folder member has finished. The value is information about whether the + member has another form of access. """ @classmethod @@ -10731,11 +11503,78 @@ class RemoveMemberJobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemoveMemberJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemoveMemberJobStatus(%r, %r)' % (self._tag, self._value) RemoveMemberJobStatus_validator = bv.Union(RemoveMemberJobStatus) +class RequestedLinkAccessLevel(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 sharing.RequestedLinkAccessLevel.viewer: Users who use the link can + view and comment on the content. + :ivar sharing.RequestedLinkAccessLevel.editor: Users who use the link can + edit, view and comment on the content. + :ivar sharing.RequestedLinkAccessLevel.max: Request for the maximum access + level you can set the link to. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + viewer = None + # Attribute is overwritten below the class definition + editor = None + # Attribute is overwritten below the class definition + max = 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_editor(self): + """ + Check if the union tag is ``editor``. + + :rtype: bool + """ + return self._tag == 'editor' + + def is_max(self): + """ + Check if the union tag is ``max``. + + :rtype: bool + """ + return self._tag == 'max' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RequestedLinkAccessLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'RequestedLinkAccessLevel(%r, %r)' % (self._tag, self._value) + +RequestedLinkAccessLevel_validator = bv.Union(RequestedLinkAccessLevel) + class RequestedVisibility(bb.Union): """ The access permission that can be requested by the caller for the shared @@ -10748,12 +11587,12 @@ class RequestedVisibility(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar public: Anyone who has received the link can access it. No login - required. - :ivar team_only: Only members of the same team can access the link. Login is - required. - :ivar password: A link-specific password is required to access the link. - Login is not required. + :ivar sharing.RequestedVisibility.public: Anyone who has received the link + can access it. No login required. + :ivar sharing.RequestedVisibility.team_only: Only members of the same team + can access the link. Login is required. + :ivar sharing.RequestedVisibility.password: A link-specific password is + required to access the link. Login is not required. """ _catch_all = None @@ -10788,6 +11627,9 @@ class RequestedVisibility(bb.Union): """ return self._tag == 'password' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RequestedVisibility, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RequestedVisibility(%r, %r)' % (self._tag, self._value) @@ -10804,10 +11646,12 @@ class ResolvedVisibility(RequestedVisibility): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar team_and_password: Only members of the same team who have the - link-specific password can access the link. Login is required. - :ivar shared_folder_only: Only members of the shared folder containing the - linked file can access the link. Login is required. + :ivar sharing.ResolvedVisibility.team_and_password: Only members of the same + team who have the link-specific password can access the link. Login is + required. + :ivar sharing.ResolvedVisibility.shared_folder_only: Only members of the + shared folder containing the linked file can access the link. Login is + required. """ _catch_all = 'other' @@ -10842,14 +11686,17 @@ class ResolvedVisibility(RequestedVisibility): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResolvedVisibility, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ResolvedVisibility(%r, %r)' % (self._tag, self._value) ResolvedVisibility_validator = bv.Union(ResolvedVisibility) -class RevokeSharedLinkArg(object): +class RevokeSharedLinkArg(bb.Struct): """ - :ivar url: URL of the shared link. + :ivar sharing.RevokeSharedLinkArg.url: URL of the shared link. """ __slots__ = [ @@ -10889,6 +11736,9 @@ class RevokeSharedLinkArg(object): self._url_value = None self._url_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeSharedLinkArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeSharedLinkArg(url={!r})'.format( self._url_value, @@ -10902,7 +11752,8 @@ class RevokeSharedLinkError(SharedLinkError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar shared_link_malformed: Shared link is malformed. + :ivar sharing.RevokeSharedLinkError.shared_link_malformed: Shared link is + malformed. """ # Attribute is overwritten below the class definition @@ -10916,25 +11767,191 @@ class RevokeSharedLinkError(SharedLinkError): """ return self._tag == 'shared_link_malformed' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeSharedLinkError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeSharedLinkError(%r, %r)' % (self._tag, self._value) RevokeSharedLinkError_validator = bv.Union(RevokeSharedLinkError) -class ShareFolderArgBase(object): +class SetAccessInheritanceArg(bb.Struct): """ - :ivar acl_update_policy: Who can add and remove members of this shared - folder. - :ivar force_async: Whether to force the share to happen asynchronously. - :ivar member_policy: Who can be a member of this shared folder. Only - applicable if the current user is on a team. - :ivar path: The path to the folder to share. If it does not exist, then a - new one is created. - :ivar shared_link_policy: The policy to apply to shared links created for - content inside this shared folder. The current user must be on a team - to set this policy to ``SharedLinkPolicy.members``. - :ivar viewer_info_policy: Who can enable/disable viewer info for this shared - folder. + :ivar sharing.SetAccessInheritanceArg.access_inheritance: The access + inheritance settings for the folder. + :ivar sharing.SetAccessInheritanceArg.shared_folder_id: The ID for the + shared folder. + """ + + __slots__ = [ + '_access_inheritance_value', + '_access_inheritance_present', + '_shared_folder_id_value', + '_shared_folder_id_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_folder_id=None, + access_inheritance=None): + self._access_inheritance_value = None + self._access_inheritance_present = False + self._shared_folder_id_value = None + self._shared_folder_id_present = False + if access_inheritance is not None: + self.access_inheritance = access_inheritance + if shared_folder_id is not None: + self.shared_folder_id = shared_folder_id + + @property + def access_inheritance(self): + """ + The access inheritance settings for the folder. + + :rtype: AccessInheritance + """ + if self._access_inheritance_present: + return self._access_inheritance_value + else: + return AccessInheritance.inherit + + @access_inheritance.setter + def access_inheritance(self, val): + self._access_inheritance_validator.validate_type_only(val) + self._access_inheritance_value = val + self._access_inheritance_present = True + + @access_inheritance.deleter + def access_inheritance(self): + self._access_inheritance_value = None + self._access_inheritance_present = False + + @property + def shared_folder_id(self): + """ + The ID for 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 + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SetAccessInheritanceArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SetAccessInheritanceArg(shared_folder_id={!r}, access_inheritance={!r})'.format( + self._shared_folder_id_value, + self._access_inheritance_value, + ) + +SetAccessInheritanceArg_validator = bv.Struct(SetAccessInheritanceArg) + +class SetAccessInheritanceError(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 SharedFolderAccessError SetAccessInheritanceError.access_error: Unable + to access shared folder. + :ivar sharing.SetAccessInheritanceError.no_permission: The current user does + not have permission to perform this action. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + no_permission = None + # Attribute is overwritten below the class definition + other = None + + @classmethod + def access_error(cls, val): + """ + Create an instance of this class set to the ``access_error`` tag with + value ``val``. + + :param SharedFolderAccessError val: + :rtype: SetAccessInheritanceError + """ + return cls('access_error', val) + + def is_access_error(self): + """ + Check if the union tag is ``access_error``. + + :rtype: bool + """ + return self._tag == 'access_error' + + def is_no_permission(self): + """ + Check if the union tag is ``no_permission``. + + :rtype: bool + """ + return self._tag == 'no_permission' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_access_error(self): + """ + Unable to access shared folder. + + Only call this if :meth:`is_access_error` is true. + + :rtype: SharedFolderAccessError + """ + if not self.is_access_error(): + raise AttributeError("tag 'access_error' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SetAccessInheritanceError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SetAccessInheritanceError(%r, %r)' % (self._tag, self._value) + +SetAccessInheritanceError_validator = bv.Union(SetAccessInheritanceError) + +class ShareFolderArgBase(bb.Struct): + """ + :ivar sharing.ShareFolderArgBase.acl_update_policy: Who can add and remove + members of this shared folder. + :ivar sharing.ShareFolderArgBase.force_async: Whether to force the share to + happen asynchronously. + :ivar sharing.ShareFolderArgBase.member_policy: Who can be a member of this + shared folder. Only applicable if the current user is on a team. + :ivar sharing.ShareFolderArgBase.path: The path to the folder to share. If + it does not exist, then a new one is created. + :ivar sharing.ShareFolderArgBase.shared_link_policy: The policy to apply to + shared links created for content inside this shared folder. The current + user must be on a team to set this policy to + ``SharedLinkPolicy.members``. + :ivar sharing.ShareFolderArgBase.viewer_info_policy: Who can enable/disable + viewer info for this shared folder. + :ivar sharing.ShareFolderArgBase.access_inheritance: The access inheritance + settings for the folder. """ __slots__ = [ @@ -10950,6 +11967,8 @@ class ShareFolderArgBase(object): '_shared_link_policy_present', '_viewer_info_policy_value', '_viewer_info_policy_present', + '_access_inheritance_value', + '_access_inheritance_present', ] _has_required_fields = True @@ -10960,7 +11979,8 @@ class ShareFolderArgBase(object): force_async=None, member_policy=None, shared_link_policy=None, - viewer_info_policy=None): + viewer_info_policy=None, + access_inheritance=None): self._acl_update_policy_value = None self._acl_update_policy_present = False self._force_async_value = None @@ -10973,6 +11993,8 @@ class ShareFolderArgBase(object): self._shared_link_policy_present = False self._viewer_info_policy_value = None self._viewer_info_policy_present = False + self._access_inheritance_value = None + self._access_inheritance_present = False if acl_update_policy is not None: self.acl_update_policy = acl_update_policy if force_async is not None: @@ -10985,6 +12007,8 @@ class ShareFolderArgBase(object): self.shared_link_policy = shared_link_policy if viewer_info_policy is not None: self.viewer_info_policy = viewer_info_policy + if access_inheritance is not None: + self.access_inheritance = access_inheritance @property def acl_update_policy(self): @@ -11140,25 +12164,53 @@ class ShareFolderArgBase(object): self._viewer_info_policy_value = None self._viewer_info_policy_present = False + @property + def access_inheritance(self): + """ + The access inheritance settings for the folder. + + :rtype: AccessInheritance + """ + if self._access_inheritance_present: + return self._access_inheritance_value + else: + return AccessInheritance.inherit + + @access_inheritance.setter + def access_inheritance(self, val): + self._access_inheritance_validator.validate_type_only(val) + self._access_inheritance_value = val + self._access_inheritance_present = True + + @access_inheritance.deleter + def access_inheritance(self): + self._access_inheritance_value = None + self._access_inheritance_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShareFolderArgBase, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'ShareFolderArgBase(path={!r}, acl_update_policy={!r}, force_async={!r}, member_policy={!r}, shared_link_policy={!r}, viewer_info_policy={!r})'.format( + return 'ShareFolderArgBase(path={!r}, acl_update_policy={!r}, force_async={!r}, member_policy={!r}, shared_link_policy={!r}, viewer_info_policy={!r}, access_inheritance={!r})'.format( self._path_value, self._acl_update_policy_value, self._force_async_value, self._member_policy_value, self._shared_link_policy_value, self._viewer_info_policy_value, + self._access_inheritance_value, ) ShareFolderArgBase_validator = bv.Struct(ShareFolderArgBase) class ShareFolderArg(ShareFolderArgBase): """ - :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 sharing.ShareFolderArg.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 sharing.ShareFolderArg.link_settings: Settings on the link for this + folder. """ __slots__ = [ @@ -11177,6 +12229,7 @@ class ShareFolderArg(ShareFolderArgBase): member_policy=None, shared_link_policy=None, viewer_info_policy=None, + access_inheritance=None, actions=None, link_settings=None): super(ShareFolderArg, self).__init__(path, @@ -11184,7 +12237,8 @@ class ShareFolderArg(ShareFolderArgBase): force_async, member_policy, shared_link_policy, - viewer_info_policy) + viewer_info_policy, + access_inheritance) self._actions_value = None self._actions_present = False self._link_settings_value = None @@ -11249,14 +12303,18 @@ class ShareFolderArg(ShareFolderArgBase): self._link_settings_value = None self._link_settings_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShareFolderArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'ShareFolderArg(path={!r}, acl_update_policy={!r}, force_async={!r}, member_policy={!r}, shared_link_policy={!r}, viewer_info_policy={!r}, actions={!r}, link_settings={!r})'.format( + return 'ShareFolderArg(path={!r}, acl_update_policy={!r}, force_async={!r}, member_policy={!r}, shared_link_policy={!r}, viewer_info_policy={!r}, access_inheritance={!r}, actions={!r}, link_settings={!r})'.format( self._path_value, self._acl_update_policy_value, self._force_async_value, self._member_policy_value, self._shared_link_policy_value, self._viewer_info_policy_value, + self._access_inheritance_value, self._actions_value, self._link_settings_value, ) @@ -11269,12 +12327,15 @@ class ShareFolderErrorBase(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar email_unverified: The current user's e-mail address is unverified. - :ivar SharePathError bad_path: ``ShareFolderArg.path`` is invalid. - :ivar team_policy_disallows_member_policy: Team policy is more restrictive - than ``ShareFolderArg.member_policy``. - :ivar disallowed_shared_link_policy: The current user's account is not - allowed to select the specified ``ShareFolderArg.shared_link_policy``. + :ivar sharing.ShareFolderErrorBase.email_unverified: The current user's + e-mail address is unverified. + :ivar SharePathError ShareFolderErrorBase.bad_path: ``ShareFolderArg.path`` + is invalid. + :ivar sharing.ShareFolderErrorBase.team_policy_disallows_member_policy: Team + policy is more restrictive than ``ShareFolderArg.member_policy``. + :ivar sharing.ShareFolderErrorBase.disallowed_shared_link_policy: The + current user's account is not allowed to select the specified + ``ShareFolderArg.shared_link_policy``. """ _catch_all = 'other' @@ -11350,6 +12411,9 @@ class ShareFolderErrorBase(bb.Union): raise AttributeError("tag 'bad_path' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShareFolderErrorBase, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ShareFolderErrorBase(%r, %r)' % (self._tag, self._value) @@ -11361,8 +12425,8 @@ class ShareFolderError(ShareFolderErrorBase): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar no_permission: The current user does not have permission to perform - this action. + :ivar sharing.ShareFolderError.no_permission: The current user does not have + permission to perform this action. """ # Attribute is overwritten below the class definition @@ -11376,19 +12440,22 @@ class ShareFolderError(ShareFolderErrorBase): """ return self._tag == 'no_permission' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShareFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ShareFolderError(%r, %r)' % (self._tag, self._value) ShareFolderError_validator = bv.Union(ShareFolderError) -class ShareFolderJobStatus(async.PollResultBase): +class ShareFolderJobStatus(async_.PollResultBase): """ 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 SharedFolderMetadata complete: The share job has finished. The value - is the metadata for the folder. + :ivar SharedFolderMetadata ShareFolderJobStatus.complete: The share job has + finished. The value is the metadata for the folder. """ @classmethod @@ -11451,12 +12518,15 @@ class ShareFolderJobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShareFolderJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ShareFolderJobStatus(%r, %r)' % (self._tag, self._value) ShareFolderJobStatus_validator = bv.Union(ShareFolderJobStatus) -class ShareFolderLaunch(async.LaunchResultBase): +class ShareFolderLaunch(async_.LaunchResultBase): """ 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 @@ -11492,6 +12562,9 @@ class ShareFolderLaunch(async.LaunchResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShareFolderLaunch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ShareFolderLaunch(%r, %r)' % (self._tag, self._value) @@ -11503,28 +12576,30 @@ class SharePathError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar is_file: A file is at the specified path. - :ivar inside_shared_folder: We do not support sharing a folder inside a - shared folder. - :ivar contains_shared_folder: We do not support shared folders that contain - shared folders. - :ivar contains_app_folder: We do not support shared folders that contain app - folders. - :ivar contains_team_folder: We do not support shared folders that contain - team folders. - :ivar is_app_folder: We do not support sharing an app folder. - :ivar inside_app_folder: We do not support sharing a folder inside an app + :ivar sharing.SharePathError.is_file: A file is at the specified path. + :ivar sharing.SharePathError.inside_shared_folder: We do not support sharing + a folder inside a shared folder. + :ivar sharing.SharePathError.contains_shared_folder: We do not support + shared folders that contain shared folders. + :ivar sharing.SharePathError.contains_app_folder: We do not support shared + folders that contain app folders. + :ivar sharing.SharePathError.contains_team_folder: We do not support shared + folders that contain team folders. + :ivar sharing.SharePathError.is_app_folder: We do not support sharing an app folder. - :ivar is_public_folder: A public folder can't be shared this way. Use a - public link instead. - :ivar inside_public_folder: A folder inside a public folder can't be shared - this way. Use a public link instead. - :ivar SharedFolderMetadata already_shared: Folder is already shared. - Contains metadata about the existing shared folder. - :ivar invalid_path: Path is not valid. - :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 sharing.SharePathError.inside_app_folder: We do not support sharing a + folder inside an app folder. + :ivar sharing.SharePathError.is_public_folder: A public folder can't be + shared this way. Use a public link instead. + :ivar sharing.SharePathError.inside_public_folder: A folder inside a public + folder can't be shared this way. Use a public link instead. + :ivar SharedFolderMetadata SharePathError.already_shared: Folder is already + shared. Contains metadata about the existing shared folder. + :ivar sharing.SharePathError.invalid_path: Path is not valid. + :ivar sharing.SharePathError.is_osx_package: We do not support sharing a Mac + OS X package. + :ivar sharing.SharePathError.inside_osx_package: We do not support sharing a + folder inside a Mac OS X package. """ _catch_all = 'other' @@ -11691,6 +12766,9 @@ class SharePathError(bb.Union): raise AttributeError("tag 'already_shared' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharePathError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharePathError(%r, %r)' % (self._tag, self._value) @@ -11700,11 +12778,11 @@ class SharedContentLinkMetadata(SharedContentLinkMetadataBase): """ Metadata of a shared link for a file or folder. - :ivar audience_exceptions: The content inside this folder with link audience - different than this folder's. This is only returned when an endpoint - that returns metadata for a single shared folder is called, e.g. - /get_folder_metadata. - :ivar url: The URL of the link. + :ivar sharing.SharedContentLinkMetadata.audience_exceptions: The content + inside this folder with link audience different than this folder's. This + is only returned when an endpoint that returns metadata for a single + shared folder is called, e.g. /get_folder_metadata. + :ivar sharing.SharedContentLinkMetadata.url: The URL of the link. """ __slots__ = [ @@ -11793,6 +12871,9 @@ class SharedContentLinkMetadata(SharedContentLinkMetadataBase): self._url_value = None self._url_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentLinkMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + 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}, audience_exceptions={!r})'.format( self._audience_options_value, @@ -11808,7 +12889,7 @@ class SharedContentLinkMetadata(SharedContentLinkMetadataBase): SharedContentLinkMetadata_validator = bv.Struct(SharedContentLinkMetadata) -class SharedFileMembers(object): +class SharedFileMembers(bb.Struct): """ Shared file user, group, and invitee membership. Used for the results of :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members` and @@ -11816,14 +12897,16 @@ class SharedFileMembers(object): 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. + :ivar sharing.SharedFileMembers.users: The list of user members of the + shared file. + :ivar sharing.SharedFileMembers.groups: The list of group members of the + shared file. + :ivar sharing.SharedFileMembers.invitees: The list of invited members of a + file, but have not logged in and claimed this. + :ivar sharing.SharedFileMembers.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__ = [ @@ -11960,6 +13043,9 @@ class SharedFileMembers(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFileMembers, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFileMembers(users={!r}, groups={!r}, invitees={!r}, cursor={!r})'.format( self._users_value, @@ -11970,41 +13056,48 @@ class SharedFileMembers(object): SharedFileMembers_validator = bv.Struct(SharedFileMembers) -class SharedFileMetadata(object): +class SharedFileMetadata(bb.Struct): """ Properties of the shared file. - :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_display_names: The display names of the users that own the file. - If the file is part of a team folder, the display names of the team - admins are also included. Absent if the owner display names cannot be - fetched. - :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 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 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 - folder. This value may be absent. + :ivar sharing.SharedFileMetadata.access_type: The current user's access + level for this shared file. + :ivar sharing.SharedFileMetadata.id: The ID of the file. + :ivar sharing.SharedFileMetadata.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 sharing.SharedFileMetadata.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 sharing.SharedFileMetadata.name: The name of this file. + :ivar sharing.SharedFileMetadata.owner_display_names: The display names of + the users that own the file. If the file is part of a team folder, the + display names of the team admins are also included. Absent if the owner + display names cannot be fetched. + :ivar sharing.SharedFileMetadata.owner_team: The team that owns the file. + This field is not present if the file is not owned by a team. + :ivar sharing.SharedFileMetadata.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 sharing.SharedFileMetadata.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 sharing.SharedFileMetadata.path_lower: The lower-case full path of + this file. Absent for unmounted files. + :ivar sharing.SharedFileMetadata.permissions: The sharing permissions that + requesting user has on this file. This corresponds to the entries given + in ``GetFileMetadataBatchArg.actions`` or + ``GetFileMetadataArg.actions``. + :ivar sharing.SharedFileMetadata.policy: Policies governing this shared + file. + :ivar sharing.SharedFileMetadata.preview_url: URL for displaying a web + preview of the shared file. + :ivar sharing.SharedFileMetadata.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 folder. This value may be absent. """ __slots__ = [ @@ -12273,7 +13366,7 @@ class SharedFileMetadata(object): The team that owns the file. This field is not present if the file is not owned by a team. - :rtype: users.Team_validator + :rtype: users.Team """ if self._owner_team_present: return self._owner_team_value @@ -12479,6 +13572,9 @@ class SharedFileMetadata(object): self._time_invited_value = None self._time_invited_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFileMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFileMetadata(id={!r}, name={!r}, policy={!r}, preview_url={!r}, access_type={!r}, expected_link_metadata={!r}, link_metadata={!r}, owner_display_names={!r}, owner_team={!r}, parent_shared_folder_id={!r}, path_display={!r}, path_lower={!r}, permissions={!r}, time_invited={!r})'.format( self._id_value, @@ -12507,11 +13603,13 @@ class SharedFolderAccessError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_id: This shared folder ID is invalid. - :ivar not_a_member: The user is not a member of the shared folder thus - cannot access it. - :ivar email_unverified: The current user's e-mail address is unverified. - :ivar unmounted: The shared folder is unmounted. + :ivar sharing.SharedFolderAccessError.invalid_id: This shared folder ID is + invalid. + :ivar sharing.SharedFolderAccessError.not_a_member: The user is not a member + of the shared folder thus cannot access it. + :ivar sharing.SharedFolderAccessError.email_unverified: Never set. + :ivar sharing.SharedFolderAccessError.unmounted: The shared folder is + unmounted. """ _catch_all = 'other' @@ -12566,6 +13664,9 @@ class SharedFolderAccessError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderAccessError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFolderAccessError(%r, %r)' % (self._tag, self._value) @@ -12577,11 +13678,12 @@ class SharedFolderMemberError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_dropbox_id: The target dropbox_id is invalid. - :ivar not_a_member: The target dropbox_id is not a member of the shared - folder. - :ivar MemberAccessLevelResult no_explicit_access: The target member only has - inherited access to the shared folder. + :ivar sharing.SharedFolderMemberError.invalid_dropbox_id: The target + dropbox_id is invalid. + :ivar sharing.SharedFolderMemberError.not_a_member: The target dropbox_id is + not a member of the shared folder. + :ivar MemberAccessLevelResult SharedFolderMemberError.no_explicit_access: + The target member only has inherited access to the shared folder. """ _catch_all = 'other' @@ -12647,20 +13749,27 @@ class SharedFolderMemberError(bb.Union): raise AttributeError("tag 'no_explicit_access' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMemberError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFolderMemberError(%r, %r)' % (self._tag, self._value) SharedFolderMemberError_validator = bv.Union(SharedFolderMemberError) -class SharedFolderMembers(object): +class SharedFolderMembers(bb.Struct): """ Shared folder user and group membership. - :ivar users: The list of user members of the shared folder. - :ivar groups: The list of group members of the shared folder. - :ivar invitees: The list of invitees to the shared folder. - :ivar cursor: Present if there are additional shared folder members that - have not been returned yet. Pass the cursor into + :ivar sharing.SharedFolderMembers.users: The list of user members of the + shared folder. + :ivar sharing.SharedFolderMembers.groups: The list of group members of the + shared folder. + :ivar sharing.SharedFolderMembers.invitees: The list of invitees to the + shared folder. + :ivar sharing.SharedFolderMembers.cursor: Present if there are additional + shared folder members that have not been returned yet. Pass the cursor + into :meth:`dropbox.dropbox.Dropbox.sharing_list_folder_members_continue` to list additional members. """ @@ -12798,6 +13907,9 @@ class SharedFolderMembers(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMembers, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFolderMembers(users={!r}, groups={!r}, invitees={!r}, cursor={!r})'.format( self._users_value, @@ -12808,25 +13920,27 @@ class SharedFolderMembers(object): SharedFolderMembers_validator = bv.Struct(SharedFolderMembers) -class SharedFolderMetadataBase(object): +class SharedFolderMetadataBase(bb.Struct): """ Properties of the shared folder. - :ivar access_type: The current user's access level for this shared folder. - :ivar is_inside_team_folder: Whether this folder is inside of a team folder. - :ivar is_team_folder: Whether this folder is a `team folder - `_. - :ivar owner_display_names: The display names of the users that own the - folder. If the folder is part of a team folder, the display names of the - team admins are also included. Absent if the owner display names cannot - be fetched. - :ivar owner_team: The team that owns the folder. This field is not present - if the folder 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 folder is contained within another shared - folder. - :ivar path_lower: The lower-cased full path of this shared folder. Absent - for unmounted folders. + :ivar sharing.SharedFolderMetadataBase.access_type: The current user's + access level for this shared folder. + :ivar sharing.SharedFolderMetadataBase.is_inside_team_folder: Whether this + folder is inside of a team folder. + :ivar sharing.SharedFolderMetadataBase.is_team_folder: Whether this folder + is a `team folder `_. + :ivar sharing.SharedFolderMetadataBase.owner_display_names: The display + names of the users that own the folder. If the folder is part of a team + folder, the display names of the team admins are also included. Absent + if the owner display names cannot be fetched. + :ivar sharing.SharedFolderMetadataBase.owner_team: The team that owns the + folder. This field is not present if the folder is not owned by a team. + :ivar sharing.SharedFolderMetadataBase.parent_shared_folder_id: The ID of + the parent shared folder. This field is present only if the folder is + contained within another shared folder. + :ivar sharing.SharedFolderMetadataBase.path_lower: The lower-cased full path + of this shared folder. Absent for unmounted folders. """ __slots__ = [ @@ -12989,7 +14103,7 @@ class SharedFolderMetadataBase(object): The team that owns the folder. This field is not present if the folder is not owned by a team. - :rtype: users.Team_validator + :rtype: users.Team """ if self._owner_team_present: return self._owner_team_value @@ -13064,6 +14178,9 @@ class SharedFolderMetadataBase(object): self._path_lower_value = None self._path_lower_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMetadataBase, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFolderMetadataBase(access_type={!r}, is_inside_team_folder={!r}, is_team_folder={!r}, owner_display_names={!r}, owner_team={!r}, parent_shared_folder_id={!r}, path_lower={!r})'.format( self._access_type_value, @@ -13081,18 +14198,23 @@ 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. 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 - the request. - :ivar policy: Policies governing this shared folder. - :ivar preview_url: URL for displaying a web preview of the shared folder. - :ivar shared_folder_id: The ID of the shared folder. - :ivar time_invited: Timestamp indicating when the current user was invited - to this shared folder. + :ivar sharing.SharedFolderMetadata.link_metadata: The metadata of the shared + content link to this shared folder. Absent if there is no link on the + folder. This is for an unreleased feature so it may not be returned yet. + :ivar sharing.SharedFolderMetadata.name: The name of the this shared folder. + :ivar sharing.SharedFolderMetadata.permissions: Actions the current user may + perform on the folder and its contents. The set of permissions + corresponds to the FolderActions in the request. + :ivar sharing.SharedFolderMetadata.policy: Policies governing this shared + folder. + :ivar sharing.SharedFolderMetadata.preview_url: URL for displaying a web + preview of the shared folder. + :ivar sharing.SharedFolderMetadata.shared_folder_id: The ID of the shared + folder. + :ivar sharing.SharedFolderMetadata.time_invited: Timestamp indicating when + the current user was invited to this shared folder. + :ivar sharing.SharedFolderMetadata.access_inheritance: Whether the folder + inherits its members from its parent. """ __slots__ = [ @@ -13110,6 +14232,8 @@ class SharedFolderMetadata(SharedFolderMetadataBase): '_shared_folder_id_present', '_time_invited_value', '_time_invited_present', + '_access_inheritance_value', + '_access_inheritance_present', ] _has_required_fields = True @@ -13128,7 +14252,8 @@ class SharedFolderMetadata(SharedFolderMetadataBase): parent_shared_folder_id=None, path_lower=None, link_metadata=None, - permissions=None): + permissions=None, + access_inheritance=None): super(SharedFolderMetadata, self).__init__(access_type, is_inside_team_folder, is_team_folder, @@ -13150,6 +14275,8 @@ class SharedFolderMetadata(SharedFolderMetadataBase): self._shared_folder_id_present = False self._time_invited_value = None self._time_invited_present = False + self._access_inheritance_value = None + self._access_inheritance_present = False if link_metadata is not None: self.link_metadata = link_metadata if name is not None: @@ -13164,6 +14291,8 @@ class SharedFolderMetadata(SharedFolderMetadataBase): self.shared_folder_id = shared_folder_id if time_invited is not None: self.time_invited = time_invited + if access_inheritance is not None: + self.access_inheritance = access_inheritance @property def link_metadata(self): @@ -13336,8 +14465,34 @@ class SharedFolderMetadata(SharedFolderMetadataBase): self._time_invited_value = None self._time_invited_present = False + @property + def access_inheritance(self): + """ + Whether the folder inherits its members from its parent. + + :rtype: AccessInheritance + """ + if self._access_inheritance_present: + return self._access_inheritance_value + else: + return AccessInheritance.inherit + + @access_inheritance.setter + def access_inheritance(self, val): + self._access_inheritance_validator.validate_type_only(val) + self._access_inheritance_value = val + self._access_inheritance_present = True + + @access_inheritance.deleter + def access_inheritance(self): + self._access_inheritance_value = None + self._access_inheritance_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedFolderMetadata(access_type={!r}, is_inside_team_folder={!r}, is_team_folder={!r}, name={!r}, policy={!r}, preview_url={!r}, shared_folder_id={!r}, time_invited={!r}, owner_display_names={!r}, owner_team={!r}, parent_shared_folder_id={!r}, path_lower={!r}, link_metadata={!r}, permissions={!r})'.format( + return 'SharedFolderMetadata(access_type={!r}, is_inside_team_folder={!r}, is_team_folder={!r}, name={!r}, policy={!r}, preview_url={!r}, shared_folder_id={!r}, time_invited={!r}, owner_display_names={!r}, owner_team={!r}, parent_shared_folder_id={!r}, path_lower={!r}, link_metadata={!r}, permissions={!r}, access_inheritance={!r})'.format( self._access_type_value, self._is_inside_team_folder_value, self._is_team_folder_value, @@ -13352,6 +14507,7 @@ class SharedFolderMetadata(SharedFolderMetadataBase): self._path_lower_value, self._link_metadata_value, self._permissions_value, + self._access_inheritance_value, ) SharedFolderMetadata_validator = bv.Struct(SharedFolderMetadata) @@ -13362,11 +14518,16 @@ class SharedLinkAccessFailureReason(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar login_required: User is not logged in. - :ivar email_verify_required: User's email is not verified. - :ivar password_required: The link is password protected. - :ivar team_only: Access is allowed for team members only. - :ivar owner_only: Access is allowed for the shared link's owner only. + :ivar sharing.SharedLinkAccessFailureReason.login_required: User is not + logged in. + :ivar sharing.SharedLinkAccessFailureReason.email_verify_required: User's + email is not verified. + :ivar sharing.SharedLinkAccessFailureReason.password_required: The link is + password protected. + :ivar sharing.SharedLinkAccessFailureReason.team_only: Access is allowed for + team members only. + :ivar sharing.SharedLinkAccessFailureReason.owner_only: Access is allowed + for the shared link's owner only. """ _catch_all = 'other' @@ -13431,11 +14592,75 @@ class SharedLinkAccessFailureReason(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkAccessFailureReason, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedLinkAccessFailureReason(%r, %r)' % (self._tag, self._value) SharedLinkAccessFailureReason_validator = bv.Union(SharedLinkAccessFailureReason) +class SharedLinkAlreadyExistsMetadata(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 SharedLinkMetadata SharedLinkAlreadyExistsMetadata.metadata: Metadata + of the shared link that already exists. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def metadata(cls, val): + """ + Create an instance of this class set to the ``metadata`` tag with value + ``val``. + + :param SharedLinkMetadata val: + :rtype: SharedLinkAlreadyExistsMetadata + """ + return cls('metadata', val) + + def is_metadata(self): + """ + Check if the union tag is ``metadata``. + + :rtype: bool + """ + return self._tag == 'metadata' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_metadata(self): + """ + Metadata of the shared link that already exists. + + Only call this if :meth:`is_metadata` is true. + + :rtype: SharedLinkMetadata + """ + if not self.is_metadata(): + raise AttributeError("tag 'metadata' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkAlreadyExistsMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkAlreadyExistsMetadata(%r, %r)' % (self._tag, self._value) + +SharedLinkAlreadyExistsMetadata_validator = bv.Union(SharedLinkAlreadyExistsMetadata) + class SharedLinkPolicy(bb.Union): """ Who can view shared links in this folder. @@ -13444,9 +14669,11 @@ class SharedLinkPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar anyone: Links can be shared with anyone. - :ivar team: Links can be shared with anyone on the same team as the owner. - :ivar members: Links can only be shared among members of the shared folder. + :ivar sharing.SharedLinkPolicy.anyone: Links can be shared with anyone. + :ivar sharing.SharedLinkPolicy.team: Links can be shared with anyone on the + same team as the owner. + :ivar sharing.SharedLinkPolicy.members: Links can only be shared among + members of the shared folder. """ _catch_all = 'other' @@ -13491,19 +14718,31 @@ class SharedLinkPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedLinkPolicy(%r, %r)' % (self._tag, self._value) SharedLinkPolicy_validator = bv.Union(SharedLinkPolicy) -class SharedLinkSettings(object): +class SharedLinkSettings(bb.Struct): """ - :ivar requested_visibility: The requested access for this shared link. - :ivar link_password: If ``requested_visibility`` is - ``RequestedVisibility.password`` this is needed to specify the password - to access the link. - :ivar expires: Expiration time of the shared link. By default the link won't - expire. + :ivar sharing.SharedLinkSettings.requested_visibility: The requested access + for this shared link. + :ivar sharing.SharedLinkSettings.link_password: If ``requested_visibility`` + is ``RequestedVisibility.password`` this is needed to specify the + password to access the link. + :ivar sharing.SharedLinkSettings.expires: Expiration time of the shared + link. By default the link won't expire. + :ivar sharing.SharedLinkSettings.audience: The new audience who can benefit + from the access level specified by the link's access level specified in + the `link_access_level` field of `LinkPermissions`. This is used in + conjunction with team policies and shared folder policies to determine + the final effective audience type in the `effective_audience` field of + `LinkPermissions. + :ivar sharing.SharedLinkSettings.access: Requested access level you want the + audience to gain from this link. """ __slots__ = [ @@ -13513,6 +14752,10 @@ class SharedLinkSettings(object): '_link_password_present', '_expires_value', '_expires_present', + '_audience_value', + '_audience_present', + '_access_value', + '_access_present', ] _has_required_fields = False @@ -13520,19 +14763,29 @@ class SharedLinkSettings(object): def __init__(self, requested_visibility=None, link_password=None, - expires=None): + expires=None, + audience=None, + access=None): self._requested_visibility_value = None self._requested_visibility_present = False self._link_password_value = None self._link_password_present = False self._expires_value = None self._expires_present = False + self._audience_value = None + self._audience_present = False + self._access_value = None + self._access_present = False if requested_visibility is not None: self.requested_visibility = requested_visibility if link_password is not None: self.link_password = link_password if expires is not None: self.expires = expires + if audience is not None: + self.audience = audience + if access is not None: + self.access = access @property def requested_visibility(self): @@ -13613,11 +14866,72 @@ class SharedLinkSettings(object): self._expires_value = None self._expires_present = False + @property + def audience(self): + """ + The new audience who can benefit from the access level specified by the + link's access level specified in the `link_access_level` field of + `LinkPermissions`. This is used in conjunction with team policies and + shared folder policies to determine the final effective audience type in + the `effective_audience` field of `LinkPermissions. + + :rtype: LinkAudience + """ + if self._audience_present: + return self._audience_value + else: + return None + + @audience.setter + def audience(self, val): + if val is None: + del self.audience + return + 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 + + @property + def access(self): + """ + Requested access level you want the audience to gain from this link. + + :rtype: RequestedLinkAccessLevel + """ + if self._access_present: + return self._access_value + else: + return None + + @access.setter + def access(self, val): + if val is None: + del self.access + return + self._access_validator.validate_type_only(val) + self._access_value = val + self._access_present = True + + @access.deleter + def access(self): + self._access_value = None + self._access_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkSettings, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedLinkSettings(requested_visibility={!r}, link_password={!r}, expires={!r})'.format( + return 'SharedLinkSettings(requested_visibility={!r}, link_password={!r}, expires={!r}, audience={!r}, access={!r})'.format( self._requested_visibility_value, self._link_password_value, self._expires_value, + self._audience_value, + self._access_value, ) SharedLinkSettings_validator = bv.Struct(SharedLinkSettings) @@ -13628,14 +14942,16 @@ class SharedLinkSettingsError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_settings: The given settings are invalid (for example, all - attributes of the :class:`SharedLinkSettings` are empty, the requested - visibility is ``RequestedVisibility.password`` but the + :ivar sharing.SharedLinkSettingsError.invalid_settings: The given settings + are invalid (for example, all attributes of the + :class:`SharedLinkSettings` are empty, the requested visibility is + ``RequestedVisibility.password`` but the ``SharedLinkSettings.link_password`` is missing, ``SharedLinkSettings.expires`` is set to the past, etc.). - :ivar not_authorized: User is not allowed to modify the settings of this - link. Note that basic users can only set ``RequestedVisibility.public`` - as the ``SharedLinkSettings.requested_visibility`` and cannot set + :ivar sharing.SharedLinkSettingsError.not_authorized: User is not allowed to + modify the settings of this link. Note that basic users can only set + ``RequestedVisibility.public`` as the + ``SharedLinkSettings.requested_visibility`` and cannot set ``SharedLinkSettings.expires``. """ @@ -13661,6 +14977,9 @@ class SharedLinkSettingsError(bb.Union): """ return self._tag == 'not_authorized' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkSettingsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedLinkSettingsError(%r, %r)' % (self._tag, self._value) @@ -13674,15 +14993,16 @@ class SharingFileAccessError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar no_permission: Current user does not have sufficient privileges to - perform the desired action. - :ivar invalid_file: File specified was not found. - :ivar is_folder: A folder can't be shared this way. Use folder sharing or a - shared link instead. - :ivar inside_public_folder: A file inside a public folder can't be shared - this way. Use a public link instead. - :ivar inside_osx_package: A Mac OS X package can't be shared this way. Use a - shared link instead. + :ivar sharing.SharingFileAccessError.no_permission: Current user does not + have sufficient privileges to perform the desired action. + :ivar sharing.SharingFileAccessError.invalid_file: File specified was not + found. + :ivar sharing.SharingFileAccessError.is_folder: A folder can't be shared + this way. Use folder sharing or a shared link instead. + :ivar sharing.SharingFileAccessError.inside_public_folder: A file inside a + public folder can't be shared this way. Use a public link instead. + :ivar sharing.SharingFileAccessError.inside_osx_package: A Mac OS X package + can't be shared this way. Use a shared link instead. """ _catch_all = 'other' @@ -13747,6 +15067,9 @@ class SharingFileAccessError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingFileAccessError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingFileAccessError(%r, %r)' % (self._tag, self._value) @@ -13760,8 +15083,8 @@ class SharingUserError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar email_unverified: The current user must verify the account e-mail - address before performing this action. + :ivar sharing.SharingUserError.email_unverified: The current user must + verify the account e-mail address before performing this action. """ _catch_all = 'other' @@ -13786,19 +15109,23 @@ class SharingUserError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingUserError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingUserError(%r, %r)' % (self._tag, self._value) SharingUserError_validator = bv.Union(SharingUserError) -class TeamMemberInfo(object): +class TeamMemberInfo(bb.Struct): """ Information about a team member. - :ivar team_info: Information about the member's team. - :ivar display_name: The display name of the user. - :ivar member_id: ID of user as a member of a team. This field will only be - present if the member is in the same team as current user. + :ivar sharing.TeamMemberInfo.team_info: Information about the member's team. + :ivar sharing.TeamMemberInfo.display_name: The display name of the user. + :ivar sharing.TeamMemberInfo.member_id: ID of user as a member of a team. + This field will only be present if the member is in the same team as + current user. """ __slots__ = [ @@ -13834,7 +15161,7 @@ class TeamMemberInfo(object): """ Information about the member's team. - :rtype: users.Team_validator + :rtype: users.Team """ if self._team_info_present: return self._team_info_value @@ -13902,6 +15229,9 @@ class TeamMemberInfo(object): self._member_id_value = None self._member_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMemberInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMemberInfo(team_info={!r}, display_name={!r}, member_id={!r})'.format( self._team_info_value, @@ -13911,10 +15241,12 @@ class TeamMemberInfo(object): TeamMemberInfo_validator = bv.Struct(TeamMemberInfo) -class TransferFolderArg(object): +class TransferFolderArg(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared folder. - :ivar to_dropbox_id: A account or team member ID to transfer ownership to. + :ivar sharing.TransferFolderArg.shared_folder_id: The ID for the shared + folder. + :ivar sharing.TransferFolderArg.to_dropbox_id: A account or team member ID + to transfer ownership to. """ __slots__ = [ @@ -13984,6 +15316,9 @@ class TransferFolderArg(object): self._to_dropbox_id_value = None self._to_dropbox_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TransferFolderArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TransferFolderArg(shared_folder_id={!r}, to_dropbox_id={!r})'.format( self._shared_folder_id_value, @@ -13998,16 +15333,18 @@ class TransferFolderError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_dropbox_id: ``TransferFolderArg.to_dropbox_id`` is invalid. - :ivar new_owner_not_a_member: The new designated owner is not currently a - member of the shared folder. - :ivar new_owner_unmounted: The new designated owner has not added the folder - to their Dropbox. - :ivar new_owner_email_unverified: The new designated owner's e-mail address - is unverified. - :ivar team_folder: This action cannot be performed on a team shared folder. - :ivar no_permission: The current user does not have permission to perform - this action. + :ivar sharing.TransferFolderError.invalid_dropbox_id: + ``TransferFolderArg.to_dropbox_id`` is invalid. + :ivar sharing.TransferFolderError.new_owner_not_a_member: The new designated + owner is not currently a member of the shared folder. + :ivar sharing.TransferFolderError.new_owner_unmounted: The new designated + owner has not added the folder to their Dropbox. + :ivar sharing.TransferFolderError.new_owner_email_unverified: The new + designated owner's e-mail address is unverified. + :ivar sharing.TransferFolderError.team_folder: This action cannot be + performed on a team shared folder. + :ivar sharing.TransferFolderError.no_permission: The current user does not + have permission to perform this action. """ _catch_all = 'other' @@ -14111,14 +15448,18 @@ class TransferFolderError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TransferFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TransferFolderError(%r, %r)' % (self._tag, self._value) TransferFolderError_validator = bv.Union(TransferFolderError) -class UnmountFolderArg(object): +class UnmountFolderArg(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared folder. + :ivar sharing.UnmountFolderArg.shared_folder_id: The ID for the shared + folder. """ __slots__ = [ @@ -14158,6 +15499,9 @@ class UnmountFolderArg(object): self._shared_folder_id_value = None self._shared_folder_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UnmountFolderArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UnmountFolderArg(shared_folder_id={!r})'.format( self._shared_folder_id_value, @@ -14171,11 +15515,12 @@ class UnmountFolderError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar no_permission: The current user does not have permission to perform - this action. - :ivar not_unmountable: The shared folder can't be unmounted. One example - where this can occur is when the shared folder's parent folder is also a - shared folder that resides in the current user's Dropbox. + :ivar sharing.UnmountFolderError.no_permission: The current user does not + have permission to perform this action. + :ivar sharing.UnmountFolderError.not_unmountable: The shared folder can't be + unmounted. One example where this can occur is when the shared folder's + parent folder is also a shared folder that resides in the current user's + Dropbox. """ _catch_all = 'other' @@ -14239,16 +15584,19 @@ class UnmountFolderError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UnmountFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UnmountFolderError(%r, %r)' % (self._tag, self._value) UnmountFolderError_validator = bv.Union(UnmountFolderError) -class UnshareFileArg(object): +class UnshareFileArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_unshare_file`. - :ivar file: The file to unshare. + :ivar sharing.UnshareFileArg.file: The file to unshare. """ __slots__ = [ @@ -14288,6 +15636,9 @@ class UnshareFileArg(object): self._file_value = None self._file_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UnshareFileArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UnshareFileArg(file={!r})'.format( self._file_value, @@ -14374,18 +15725,22 @@ class UnshareFileError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UnshareFileError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UnshareFileError(%r, %r)' % (self._tag, self._value) UnshareFileError_validator = bv.Union(UnshareFileError) -class UnshareFolderArg(object): +class UnshareFolderArg(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared folder. - :ivar leave_a_copy: If true, members of this shared folder will get a copy - of this folder after it's unshared. Otherwise, it will be removed from - their Dropbox. The current user, who is an owner, will always retain - their copy. + :ivar sharing.UnshareFolderArg.shared_folder_id: The ID for the shared + folder. + :ivar sharing.UnshareFolderArg.leave_a_copy: If true, members of this shared + folder will get a copy of this folder after it's unshared. Otherwise, it + will be removed from their Dropbox. The current user, who is an owner, + will always retain their copy. """ __slots__ = [ @@ -14457,6 +15812,9 @@ class UnshareFolderArg(object): self._leave_a_copy_value = None self._leave_a_copy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UnshareFolderArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UnshareFolderArg(shared_folder_id={!r}, leave_a_copy={!r})'.format( self._shared_folder_id_value, @@ -14471,10 +15829,12 @@ class UnshareFolderError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar team_folder: This action cannot be performed on a team shared folder. - :ivar no_permission: The current user does not have permission to perform - this action. - :ivar too_many_files: This shared folder has too many files to be unshared. + :ivar sharing.UnshareFolderError.team_folder: This action cannot be + performed on a team shared folder. + :ivar sharing.UnshareFolderError.no_permission: The current user does not + have permission to perform this action. + :ivar sharing.UnshareFolderError.too_many_files: This shared folder has too + many files to be unshared. """ _catch_all = 'other' @@ -14548,6 +15908,9 @@ class UnshareFolderError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UnshareFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UnshareFolderError(%r, %r)' % (self._tag, self._value) @@ -14571,6 +15934,9 @@ class UpdateFileMemberArgs(ChangeFileMemberAccessArgs): member, access_level) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFileMemberArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateFileMemberArgs(file={!r}, member={!r}, access_level={!r})'.format( self._file_value, @@ -14580,13 +15946,15 @@ class UpdateFileMemberArgs(ChangeFileMemberAccessArgs): UpdateFileMemberArgs_validator = bv.Struct(UpdateFileMemberArgs) -class UpdateFolderMemberArg(object): +class UpdateFolderMemberArg(bb.Struct): """ - :ivar shared_folder_id: The ID for the shared folder. - :ivar member: The member of the shared folder to update. Only the - ``MemberSelector.dropbox_id`` may be set at this time. - :ivar access_level: The new access level for ``member``. - ``AccessLevel.owner`` is disallowed. + :ivar sharing.UpdateFolderMemberArg.shared_folder_id: The ID for the shared + folder. + :ivar sharing.UpdateFolderMemberArg.member: The member of the shared folder + to update. Only the ``MemberSelector.dropbox_id`` may be set at this + time. + :ivar sharing.UpdateFolderMemberArg.access_level: The new access level for + ``member``. ``AccessLevel.owner`` is disallowed. """ __slots__ = [ @@ -14688,6 +16056,9 @@ class UpdateFolderMemberArg(object): self._access_level_value = None self._access_level_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFolderMemberArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateFolderMemberArg(shared_folder_id={!r}, member={!r}, access_level={!r})'.format( self._shared_folder_id_value, @@ -14703,15 +16074,15 @@ class UpdateFolderMemberError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar AddFolderMemberError no_explicit_access: If updating the access type - required the member to be added to the shared folder and there was an - error when adding the member. - :ivar insufficient_plan: The current user's account doesn't support this - action. An example of this is when downgrading a member from editor to - viewer. This action can only be performed by users that have upgraded to - a Pro or Business plan. - :ivar no_permission: The current user does not have permission to perform - this action. + :ivar AddFolderMemberError UpdateFolderMemberError.no_explicit_access: If + updating the access type required the member to be added to the shared + folder and there was an error when adding the member. + :ivar sharing.UpdateFolderMemberError.insufficient_plan: The current user's + account doesn't support this action. An example of this is when + downgrading a member from editor to viewer. This action can only be + performed by users that have upgraded to a Pro or Business plan. + :ivar sharing.UpdateFolderMemberError.no_permission: The current user does + not have permission to perform this action. """ _catch_all = 'other' @@ -14836,30 +16207,36 @@ class UpdateFolderMemberError(bb.Union): raise AttributeError("tag 'no_explicit_access' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFolderMemberError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateFolderMemberError(%r, %r)' % (self._tag, self._value) UpdateFolderMemberError_validator = bv.Union(UpdateFolderMemberError) -class UpdateFolderPolicyArg(object): +class UpdateFolderPolicyArg(bb.Struct): """ If any of the policies are unset, then they retain their current setting. - :ivar shared_folder_id: The ID for the shared folder. - :ivar member_policy: Who can be a member of this shared folder. Only - applicable if the current user is on a team. - :ivar acl_update_policy: Who can add and remove members of this shared + :ivar sharing.UpdateFolderPolicyArg.shared_folder_id: The ID for the shared folder. - :ivar viewer_info_policy: Who can enable/disable viewer info for this shared - folder. - :ivar shared_link_policy: The policy to apply to shared links created for - 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. + :ivar sharing.UpdateFolderPolicyArg.member_policy: Who can be a member of + this shared folder. Only applicable if the current user is on a team. + :ivar sharing.UpdateFolderPolicyArg.acl_update_policy: Who can add and + remove members of this shared folder. + :ivar sharing.UpdateFolderPolicyArg.viewer_info_policy: Who can + enable/disable viewer info for this shared folder. + :ivar sharing.UpdateFolderPolicyArg.shared_link_policy: The policy to apply + to shared links created for content inside this shared folder. The + current user must be on a team to set this policy to + ``SharedLinkPolicy.members``. + :ivar sharing.UpdateFolderPolicyArg.link_settings: Settings on the link for + this folder. + :ivar sharing.UpdateFolderPolicyArg.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__ = [ @@ -15103,6 +16480,9 @@ class UpdateFolderPolicyArg(object): self._actions_value = None self._actions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFolderPolicyArg, self)._process_custom_annotations(annotation_type, field_path, processor) + 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}, actions={!r})'.format( self._shared_folder_id_value, @@ -15122,15 +16502,18 @@ class UpdateFolderPolicyError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar not_on_team: ``UpdateFolderPolicyArg.member_policy`` was set even - though user is not on a team. - :ivar team_policy_disallows_member_policy: Team policy is more restrictive - than ``ShareFolderArg.member_policy``. - :ivar disallowed_shared_link_policy: The current account is not allowed to - 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. + :ivar sharing.UpdateFolderPolicyError.not_on_team: + ``UpdateFolderPolicyArg.member_policy`` was set even though user is not + on a team. + :ivar sharing.UpdateFolderPolicyError.team_policy_disallows_member_policy: + Team policy is more restrictive than ``ShareFolderArg.member_policy``. + :ivar sharing.UpdateFolderPolicyError.disallowed_shared_link_policy: The + current account is not allowed to select the specified + ``ShareFolderArg.shared_link_policy``. + :ivar sharing.UpdateFolderPolicyError.no_permission: The current user does + not have permission to perform this action. + :ivar sharing.UpdateFolderPolicyError.team_folder: This action cannot be + performed on a team shared folder. """ _catch_all = 'other' @@ -15224,6 +16607,9 @@ class UpdateFolderPolicyError(bb.Union): raise AttributeError("tag 'access_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UpdateFolderPolicyError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UpdateFolderPolicyError(%r, %r)' % (self._tag, self._value) @@ -15233,7 +16619,8 @@ class UserMembershipInfo(MembershipInfo): """ The information about a user member of the shared content. - :ivar user: The account information for the membership user. + :ivar sharing.UserMembershipInfo.user: The account information for the + membership user. """ __slots__ = [ @@ -15281,6 +16668,9 @@ class UserMembershipInfo(MembershipInfo): self._user_value = None self._user_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserMembershipInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserMembershipInfo(access_type={!r}, user={!r}, permissions={!r}, initials={!r}, is_inherited={!r})'.format( self._access_type_value, @@ -15297,13 +16687,17 @@ class UserFileMembershipInfo(UserMembershipInfo): The information about a user member of the shared content with an appended last seen timestamp. - :ivar time_last_seen: The UTC timestamp of when the user has last seen the - content, if they have. + :ivar sharing.UserFileMembershipInfo.time_last_seen: The UTC timestamp of + when the user has last seen the content, if they have. + :ivar sharing.UserFileMembershipInfo.platform_type: The platform on which + the user has last seen the content, or unknown. """ __slots__ = [ '_time_last_seen_value', '_time_last_seen_present', + '_platform_type_value', + '_platform_type_present', ] _has_required_fields = True @@ -15314,7 +16708,8 @@ class UserFileMembershipInfo(UserMembershipInfo): permissions=None, initials=None, is_inherited=None, - time_last_seen=None): + time_last_seen=None, + platform_type=None): super(UserFileMembershipInfo, self).__init__(access_type, user, permissions, @@ -15322,8 +16717,12 @@ class UserFileMembershipInfo(UserMembershipInfo): is_inherited) self._time_last_seen_value = None self._time_last_seen_present = False + self._platform_type_value = None + self._platform_type_present = False if time_last_seen is not None: self.time_last_seen = time_last_seen + if platform_type is not None: + self.platform_type = platform_type @property def time_last_seen(self): @@ -15352,34 +16751,71 @@ class UserFileMembershipInfo(UserMembershipInfo): self._time_last_seen_value = None self._time_last_seen_present = False + @property + def platform_type(self): + """ + The platform on which the user has last seen the content, or unknown. + + :rtype: seen_state.PlatformType + """ + if self._platform_type_present: + return self._platform_type_value + else: + return None + + @platform_type.setter + def platform_type(self, val): + if val is None: + del self.platform_type + return + self._platform_type_validator.validate_type_only(val) + self._platform_type_value = val + self._platform_type_present = True + + @platform_type.deleter + def platform_type(self): + self._platform_type_value = None + self._platform_type_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserFileMembershipInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'UserFileMembershipInfo(access_type={!r}, user={!r}, permissions={!r}, initials={!r}, is_inherited={!r}, time_last_seen={!r})'.format( + return 'UserFileMembershipInfo(access_type={!r}, user={!r}, permissions={!r}, initials={!r}, is_inherited={!r}, time_last_seen={!r}, platform_type={!r})'.format( self._access_type_value, self._user_value, self._permissions_value, self._initials_value, self._is_inherited_value, self._time_last_seen_value, + self._platform_type_value, ) UserFileMembershipInfo_validator = bv.Struct(UserFileMembershipInfo) -class UserInfo(object): +class UserInfo(bb.Struct): """ Basic information about a user. Use :meth:`dropbox.dropbox.Dropbox.sharing_users_account` and :meth:`dropbox.dropbox.Dropbox.sharing_users_account_batch` to obtain more detailed information. - :ivar account_id: The account ID of the user. - :ivar same_team: If the user is in the same team as current user. - :ivar team_member_id: The team member ID of the shared folder member. Only - present if ``same_team`` is true. + :ivar sharing.UserInfo.account_id: The account ID of the user. + :ivar sharing.UserInfo.email: Email address of user. + :ivar sharing.UserInfo.display_name: The display name of the user. + :ivar sharing.UserInfo.same_team: If the user is in the same team as current + user. + :ivar sharing.UserInfo.team_member_id: The team member ID of the shared + folder member. Only present if ``same_team`` is true. """ __slots__ = [ '_account_id_value', '_account_id_present', + '_email_value', + '_email_present', + '_display_name_value', + '_display_name_present', '_same_team_value', '_same_team_present', '_team_member_id_value', @@ -15390,16 +16826,26 @@ class UserInfo(object): def __init__(self, account_id=None, + email=None, + display_name=None, same_team=None, team_member_id=None): self._account_id_value = None self._account_id_present = False + self._email_value = None + self._email_present = False + self._display_name_value = None + self._display_name_present = False self._same_team_value = None self._same_team_present = False self._team_member_id_value = None self._team_member_id_present = False if account_id is not None: self.account_id = account_id + if email is not None: + self.email = email + if display_name is not None: + self.display_name = display_name if same_team is not None: self.same_team = same_team if team_member_id is not None: @@ -15428,6 +16874,52 @@ class UserInfo(object): self._account_id_value = None self._account_id_present = False + @property + def email(self): + """ + Email address of user. + + :rtype: str + """ + if self._email_present: + return self._email_value + else: + raise AttributeError("missing required field 'email'") + + @email.setter + def email(self, val): + 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 + + @property + def display_name(self): + """ + The display name of the user. + + :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 same_team(self): """ @@ -15478,9 +16970,14 @@ class UserInfo(object): self._team_member_id_value = None self._team_member_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'UserInfo(account_id={!r}, same_team={!r}, team_member_id={!r})'.format( + return 'UserInfo(account_id={!r}, email={!r}, display_name={!r}, same_team={!r}, team_member_id={!r})'.format( self._account_id_value, + self._email_value, + self._display_name_value, self._same_team_value, self._team_member_id_value, ) @@ -15493,8 +16990,10 @@ class ViewerInfoPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar enabled: Viewer information is available on this file. - :ivar disabled: Viewer information is disabled on this file. + :ivar sharing.ViewerInfoPolicy.enabled: Viewer information is available on + this file. + :ivar sharing.ViewerInfoPolicy.disabled: Viewer information is disabled on + this file. """ _catch_all = 'other' @@ -15529,6 +17028,9 @@ class ViewerInfoPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ViewerInfoPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ViewerInfoPolicy(%r, %r)' % (self._tag, self._value) @@ -15544,16 +17046,17 @@ class Visibility(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar public: Anyone who has received the link can access it. No login + :ivar sharing.Visibility.public: Anyone who has received the link can access + it. No login required. + :ivar sharing.Visibility.team_only: Only members of the same team can access + the link. Login is required. + :ivar sharing.Visibility.password: A link-specific password is required to + access the link. Login is not required. + :ivar sharing.Visibility.team_and_password: Only members of the same team + who have the link-specific password can access the link. + :ivar sharing.Visibility.shared_folder_only: Only members of the shared + folder containing the linked file can access the link. Login is required. - :ivar team_only: Only members of the same team can access the link. Login is - required. - :ivar password: A link-specific password is required to access the link. - Login is not required. - :ivar team_and_password: Only members of the same team who have the - link-specific password can access the link. - :ivar shared_folder_only: Only members of the shared folder containing the - linked file can access the link. Login is required. """ _catch_all = 'other' @@ -15618,13 +17121,15 @@ class Visibility(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Visibility, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Visibility(%r, %r)' % (self._tag, self._value) Visibility_validator = bv.Union(Visibility) DropboxId_validator = bv.String(min_length=1) -FileId_validator = bv.String(min_length=1, pattern=u'id:.*') GetSharedLinkFileArg_validator = GetSharedLinkMetadataArg_validator GetSharedLinkFileArg = GetSharedLinkMetadataArg Id_validator = files.Id_validator @@ -15634,6 +17139,19 @@ ReadPath_validator = files.ReadPath_validator Rev_validator = files.Rev_validator TeamInfo_validator = users.Team_validator TeamInfo = users.Team +AccessInheritance._inherit_validator = bv.Void() +AccessInheritance._no_inherit_validator = bv.Void() +AccessInheritance._other_validator = bv.Void() +AccessInheritance._tagmap = { + 'inherit': AccessInheritance._inherit_validator, + 'no_inherit': AccessInheritance._no_inherit_validator, + 'other': AccessInheritance._other_validator, +} + +AccessInheritance.inherit = AccessInheritance('inherit') +AccessInheritance.no_inherit = AccessInheritance('no_inherit') +AccessInheritance.other = AccessInheritance('other') + AccessLevel._owner_validator = bv.Void() AccessLevel._editor_validator = bv.Void() AccessLevel._viewer_validator = bv.Void() @@ -15725,6 +17243,7 @@ AddFolderMemberArg._all_fields_ = [ AddFolderMemberError._access_error_validator = SharedFolderAccessError_validator AddFolderMemberError._email_unverified_validator = bv.Void() +AddFolderMemberError._banned_member_validator = bv.Void() AddFolderMemberError._bad_member_validator = AddMemberSelectorError_validator AddFolderMemberError._cant_share_outside_team_validator = bv.Void() AddFolderMemberError._too_many_members_validator = bv.UInt64() @@ -15738,6 +17257,7 @@ AddFolderMemberError._other_validator = bv.Void() AddFolderMemberError._tagmap = { 'access_error': AddFolderMemberError._access_error_validator, 'email_unverified': AddFolderMemberError._email_unverified_validator, + 'banned_member': AddFolderMemberError._banned_member_validator, 'bad_member': AddFolderMemberError._bad_member_validator, 'cant_share_outside_team': AddFolderMemberError._cant_share_outside_team_validator, 'too_many_members': AddFolderMemberError._too_many_members_validator, @@ -15751,6 +17271,7 @@ AddFolderMemberError._tagmap = { } AddFolderMemberError.email_unverified = AddFolderMemberError('email_unverified') +AddFolderMemberError.banned_member = AddFolderMemberError('banned_member') AddFolderMemberError.cant_share_outside_team = AddFolderMemberError('cant_share_outside_team') AddFolderMemberError.rate_limit = AddFolderMemberError('rate_limit') AddFolderMemberError.too_many_invitees = AddFolderMemberError('too_many_invitees') @@ -15902,7 +17423,7 @@ CreateSharedLinkWithSettingsArg._all_fields_ = [ CreateSharedLinkWithSettingsError._path_validator = files.LookupError_validator CreateSharedLinkWithSettingsError._email_not_verified_validator = bv.Void() -CreateSharedLinkWithSettingsError._shared_link_already_exists_validator = bv.Void() +CreateSharedLinkWithSettingsError._shared_link_already_exists_validator = bv.Nullable(SharedLinkAlreadyExistsMetadata_validator) CreateSharedLinkWithSettingsError._settings_error_validator = SharedLinkSettingsError_validator CreateSharedLinkWithSettingsError._access_denied_validator = bv.Void() CreateSharedLinkWithSettingsError._tagmap = { @@ -15914,7 +17435,6 @@ CreateSharedLinkWithSettingsError._tagmap = { } CreateSharedLinkWithSettingsError.email_not_verified = CreateSharedLinkWithSettingsError('email_not_verified') -CreateSharedLinkWithSettingsError.shared_link_already_exists = CreateSharedLinkWithSettingsError('shared_link_already_exists') CreateSharedLinkWithSettingsError.access_denied = CreateSharedLinkWithSettingsError('access_denied') SharedContentLinkMetadataBase._access_level_validator = bv.Nullable(AccessLevel_validator) @@ -15951,10 +17471,13 @@ FileAction._edit_contents_validator = bv.Void() FileAction._enable_viewer_info_validator = bv.Void() FileAction._invite_viewer_validator = bv.Void() FileAction._invite_viewer_no_comment_validator = bv.Void() +FileAction._invite_editor_validator = bv.Void() FileAction._unshare_validator = bv.Void() FileAction._relinquish_membership_validator = bv.Void() FileAction._share_link_validator = bv.Void() FileAction._create_link_validator = bv.Void() +FileAction._create_view_link_validator = bv.Void() +FileAction._create_edit_link_validator = bv.Void() FileAction._other_validator = bv.Void() FileAction._tagmap = { 'disable_viewer_info': FileAction._disable_viewer_info_validator, @@ -15962,10 +17485,13 @@ FileAction._tagmap = { 'enable_viewer_info': FileAction._enable_viewer_info_validator, 'invite_viewer': FileAction._invite_viewer_validator, 'invite_viewer_no_comment': FileAction._invite_viewer_no_comment_validator, + 'invite_editor': FileAction._invite_editor_validator, 'unshare': FileAction._unshare_validator, 'relinquish_membership': FileAction._relinquish_membership_validator, 'share_link': FileAction._share_link_validator, 'create_link': FileAction._create_link_validator, + 'create_view_link': FileAction._create_view_link_validator, + 'create_edit_link': FileAction._create_edit_link_validator, 'other': FileAction._other_validator, } @@ -15974,10 +17500,13 @@ FileAction.edit_contents = FileAction('edit_contents') FileAction.enable_viewer_info = FileAction('enable_viewer_info') FileAction.invite_viewer = FileAction('invite_viewer') FileAction.invite_viewer_no_comment = FileAction('invite_viewer_no_comment') +FileAction.invite_editor = FileAction('invite_editor') FileAction.unshare = FileAction('unshare') FileAction.relinquish_membership = FileAction('relinquish_membership') FileAction.share_link = FileAction('share_link') FileAction.create_link = FileAction('create_link') +FileAction.create_view_link = FileAction('create_view_link') +FileAction.create_edit_link = FileAction('create_edit_link') FileAction.other = FileAction('other') FileErrorResult._file_not_found_error_validator = files.Id_validator @@ -16126,6 +17655,7 @@ FolderAction._unshare_validator = bv.Void() FolderAction._leave_a_copy_validator = bv.Void() FolderAction._share_link_validator = bv.Void() FolderAction._create_link_validator = bv.Void() +FolderAction._set_access_inheritance_validator = bv.Void() FolderAction._other_validator = bv.Void() FolderAction._tagmap = { 'change_options': FolderAction._change_options_validator, @@ -16141,6 +17671,7 @@ FolderAction._tagmap = { 'leave_a_copy': FolderAction._leave_a_copy_validator, 'share_link': FolderAction._share_link_validator, 'create_link': FolderAction._create_link_validator, + 'set_access_inheritance': FolderAction._set_access_inheritance_validator, 'other': FolderAction._other_validator, } @@ -16157,6 +17688,7 @@ FolderAction.unshare = FolderAction('unshare') FolderAction.leave_a_copy = FolderAction('leave_a_copy') FolderAction.share_link = FolderAction('share_link') FolderAction.create_link = FolderAction('create_link') +FolderAction.set_access_inheritance = FolderAction('set_access_inheritance') FolderAction.other = FolderAction('other') FolderLinkMetadata._field_names_ = set([]) @@ -16421,10 +17953,23 @@ JobStatus._tagmap = { 'complete': JobStatus._complete_validator, 'failed': JobStatus._failed_validator, } -JobStatus._tagmap.update(async.PollResultBase._tagmap) +JobStatus._tagmap.update(async_.PollResultBase._tagmap) JobStatus.complete = JobStatus('complete') +LinkAccessLevel._viewer_validator = bv.Void() +LinkAccessLevel._editor_validator = bv.Void() +LinkAccessLevel._other_validator = bv.Void() +LinkAccessLevel._tagmap = { + 'viewer': LinkAccessLevel._viewer_validator, + 'editor': LinkAccessLevel._editor_validator, + 'other': LinkAccessLevel._other_validator, +} + +LinkAccessLevel.viewer = LinkAccessLevel('viewer') +LinkAccessLevel.editor = LinkAccessLevel('editor') +LinkAccessLevel.other = LinkAccessLevel('other') + LinkAction._change_access_level_validator = bv.Void() LinkAction._change_audience_validator = bv.Void() LinkAction._remove_expiry_validator = bv.Void() @@ -16452,17 +17997,23 @@ LinkAction.other = LinkAction('other') LinkAudience._public_validator = bv.Void() LinkAudience._team_validator = bv.Void() +LinkAudience._no_one_validator = bv.Void() +LinkAudience._password_validator = bv.Void() LinkAudience._members_validator = bv.Void() LinkAudience._other_validator = bv.Void() LinkAudience._tagmap = { 'public': LinkAudience._public_validator, 'team': LinkAudience._team_validator, + 'no_one': LinkAudience._no_one_validator, + 'password': LinkAudience._password_validator, 'members': LinkAudience._members_validator, 'other': LinkAudience._other_validator, } LinkAudience.public = LinkAudience('public') LinkAudience.team = LinkAudience('team') +LinkAudience.no_one = LinkAudience('no_one') +LinkAudience.password = LinkAudience('password') LinkAudience.members = LinkAudience('members') LinkAudience.other = LinkAudience('other') @@ -16508,17 +18059,23 @@ LinkPermissions._resolved_visibility_validator = bv.Nullable(ResolvedVisibility_ LinkPermissions._requested_visibility_validator = bv.Nullable(RequestedVisibility_validator) LinkPermissions._can_revoke_validator = bv.Boolean() LinkPermissions._revoke_failure_reason_validator = bv.Nullable(SharedLinkAccessFailureReason_validator) +LinkPermissions._effective_audience_validator = bv.Nullable(LinkAudience_validator) +LinkPermissions._link_access_level_validator = bv.Nullable(LinkAccessLevel_validator) LinkPermissions._all_field_names_ = set([ 'resolved_visibility', 'requested_visibility', 'can_revoke', 'revoke_failure_reason', + 'effective_audience', + 'link_access_level', ]) LinkPermissions._all_fields_ = [ ('resolved_visibility', LinkPermissions._resolved_visibility_validator), ('requested_visibility', LinkPermissions._requested_visibility_validator), ('can_revoke', LinkPermissions._can_revoke_validator), ('revoke_failure_reason', LinkPermissions._revoke_failure_reason_validator), + ('effective_audience', LinkPermissions._effective_audience_validator), + ('link_access_level', LinkPermissions._link_access_level_validator), ] LinkSettings._access_level_validator = bv.Nullable(AccessLevel_validator) @@ -17086,6 +18643,7 @@ RemoveFolderMemberError._folder_owner_validator = bv.Void() RemoveFolderMemberError._group_access_validator = bv.Void() RemoveFolderMemberError._team_folder_validator = bv.Void() RemoveFolderMemberError._no_permission_validator = bv.Void() +RemoveFolderMemberError._too_many_files_validator = bv.Void() RemoveFolderMemberError._other_validator = bv.Void() RemoveFolderMemberError._tagmap = { 'access_error': RemoveFolderMemberError._access_error_validator, @@ -17094,6 +18652,7 @@ RemoveFolderMemberError._tagmap = { 'group_access': RemoveFolderMemberError._group_access_validator, 'team_folder': RemoveFolderMemberError._team_folder_validator, 'no_permission': RemoveFolderMemberError._no_permission_validator, + 'too_many_files': RemoveFolderMemberError._too_many_files_validator, 'other': RemoveFolderMemberError._other_validator, } @@ -17101,6 +18660,7 @@ RemoveFolderMemberError.folder_owner = RemoveFolderMemberError('folder_owner') RemoveFolderMemberError.group_access = RemoveFolderMemberError('group_access') RemoveFolderMemberError.team_folder = RemoveFolderMemberError('team_folder') RemoveFolderMemberError.no_permission = RemoveFolderMemberError('no_permission') +RemoveFolderMemberError.too_many_files = RemoveFolderMemberError('too_many_files') RemoveFolderMemberError.other = RemoveFolderMemberError('other') RemoveMemberJobStatus._complete_validator = MemberAccessLevelResult_validator @@ -17109,7 +18669,23 @@ RemoveMemberJobStatus._tagmap = { 'complete': RemoveMemberJobStatus._complete_validator, 'failed': RemoveMemberJobStatus._failed_validator, } -RemoveMemberJobStatus._tagmap.update(async.PollResultBase._tagmap) +RemoveMemberJobStatus._tagmap.update(async_.PollResultBase._tagmap) + +RequestedLinkAccessLevel._viewer_validator = bv.Void() +RequestedLinkAccessLevel._editor_validator = bv.Void() +RequestedLinkAccessLevel._max_validator = bv.Void() +RequestedLinkAccessLevel._other_validator = bv.Void() +RequestedLinkAccessLevel._tagmap = { + 'viewer': RequestedLinkAccessLevel._viewer_validator, + 'editor': RequestedLinkAccessLevel._editor_validator, + 'max': RequestedLinkAccessLevel._max_validator, + 'other': RequestedLinkAccessLevel._other_validator, +} + +RequestedLinkAccessLevel.viewer = RequestedLinkAccessLevel('viewer') +RequestedLinkAccessLevel.editor = RequestedLinkAccessLevel('editor') +RequestedLinkAccessLevel.max = RequestedLinkAccessLevel('max') +RequestedLinkAccessLevel.other = RequestedLinkAccessLevel('other') RequestedVisibility._public_validator = bv.Void() RequestedVisibility._team_only_validator = bv.Void() @@ -17150,12 +18726,36 @@ RevokeSharedLinkError._tagmap.update(SharedLinkError._tagmap) RevokeSharedLinkError.shared_link_malformed = RevokeSharedLinkError('shared_link_malformed') +SetAccessInheritanceArg._access_inheritance_validator = AccessInheritance_validator +SetAccessInheritanceArg._shared_folder_id_validator = common.SharedFolderId_validator +SetAccessInheritanceArg._all_field_names_ = set([ + 'access_inheritance', + 'shared_folder_id', +]) +SetAccessInheritanceArg._all_fields_ = [ + ('access_inheritance', SetAccessInheritanceArg._access_inheritance_validator), + ('shared_folder_id', SetAccessInheritanceArg._shared_folder_id_validator), +] + +SetAccessInheritanceError._access_error_validator = SharedFolderAccessError_validator +SetAccessInheritanceError._no_permission_validator = bv.Void() +SetAccessInheritanceError._other_validator = bv.Void() +SetAccessInheritanceError._tagmap = { + 'access_error': SetAccessInheritanceError._access_error_validator, + 'no_permission': SetAccessInheritanceError._no_permission_validator, + 'other': SetAccessInheritanceError._other_validator, +} + +SetAccessInheritanceError.no_permission = SetAccessInheritanceError('no_permission') +SetAccessInheritanceError.other = SetAccessInheritanceError('other') + ShareFolderArgBase._acl_update_policy_validator = bv.Nullable(AclUpdatePolicy_validator) ShareFolderArgBase._force_async_validator = bv.Boolean() ShareFolderArgBase._member_policy_validator = bv.Nullable(MemberPolicy_validator) ShareFolderArgBase._path_validator = files.WritePath_validator ShareFolderArgBase._shared_link_policy_validator = bv.Nullable(SharedLinkPolicy_validator) ShareFolderArgBase._viewer_info_policy_validator = bv.Nullable(ViewerInfoPolicy_validator) +ShareFolderArgBase._access_inheritance_validator = AccessInheritance_validator ShareFolderArgBase._all_field_names_ = set([ 'acl_update_policy', 'force_async', @@ -17163,6 +18763,7 @@ ShareFolderArgBase._all_field_names_ = set([ 'path', 'shared_link_policy', 'viewer_info_policy', + 'access_inheritance', ]) ShareFolderArgBase._all_fields_ = [ ('acl_update_policy', ShareFolderArgBase._acl_update_policy_validator), @@ -17171,6 +18772,7 @@ ShareFolderArgBase._all_fields_ = [ ('path', ShareFolderArgBase._path_validator), ('shared_link_policy', ShareFolderArgBase._shared_link_policy_validator), ('viewer_info_policy', ShareFolderArgBase._viewer_info_policy_validator), + ('access_inheritance', ShareFolderArgBase._access_inheritance_validator), ] ShareFolderArg._actions_validator = bv.Nullable(bv.List(FolderAction_validator)) @@ -17216,13 +18818,13 @@ ShareFolderJobStatus._tagmap = { 'complete': ShareFolderJobStatus._complete_validator, 'failed': ShareFolderJobStatus._failed_validator, } -ShareFolderJobStatus._tagmap.update(async.PollResultBase._tagmap) +ShareFolderJobStatus._tagmap.update(async_.PollResultBase._tagmap) ShareFolderLaunch._complete_validator = SharedFolderMetadata_validator ShareFolderLaunch._tagmap = { 'complete': ShareFolderLaunch._complete_validator, } -ShareFolderLaunch._tagmap.update(async.LaunchResultBase._tagmap) +ShareFolderLaunch._tagmap.update(async_.LaunchResultBase._tagmap) SharePathError._is_file_validator = bv.Void() SharePathError._inside_shared_folder_validator = bv.Void() @@ -17298,7 +18900,7 @@ SharedFileMembers._all_fields_ = [ ] SharedFileMetadata._access_type_validator = bv.Nullable(AccessLevel_validator) -SharedFileMetadata._id_validator = FileId_validator +SharedFileMetadata._id_validator = files.FileId_validator SharedFileMetadata._expected_link_metadata_validator = bv.Nullable(ExpectedSharedContentLinkMetadata_validator) SharedFileMetadata._link_metadata_validator = bv.Nullable(SharedContentLinkMetadata_validator) SharedFileMetadata._name_validator = bv.String() @@ -17428,6 +19030,7 @@ SharedFolderMetadata._policy_validator = FolderPolicy_validator SharedFolderMetadata._preview_url_validator = bv.String() SharedFolderMetadata._shared_folder_id_validator = common.SharedFolderId_validator SharedFolderMetadata._time_invited_validator = common.DropboxTimestamp_validator +SharedFolderMetadata._access_inheritance_validator = AccessInheritance_validator SharedFolderMetadata._all_field_names_ = SharedFolderMetadataBase._all_field_names_.union(set([ 'link_metadata', 'name', @@ -17436,6 +19039,7 @@ SharedFolderMetadata._all_field_names_ = SharedFolderMetadataBase._all_field_nam 'preview_url', 'shared_folder_id', 'time_invited', + 'access_inheritance', ])) SharedFolderMetadata._all_fields_ = SharedFolderMetadataBase._all_fields_ + [ ('link_metadata', SharedFolderMetadata._link_metadata_validator), @@ -17445,6 +19049,7 @@ SharedFolderMetadata._all_fields_ = SharedFolderMetadataBase._all_fields_ + [ ('preview_url', SharedFolderMetadata._preview_url_validator), ('shared_folder_id', SharedFolderMetadata._shared_folder_id_validator), ('time_invited', SharedFolderMetadata._time_invited_validator), + ('access_inheritance', SharedFolderMetadata._access_inheritance_validator), ] SharedLinkAccessFailureReason._login_required_validator = bv.Void() @@ -17469,6 +19074,15 @@ SharedLinkAccessFailureReason.team_only = SharedLinkAccessFailureReason('team_on SharedLinkAccessFailureReason.owner_only = SharedLinkAccessFailureReason('owner_only') SharedLinkAccessFailureReason.other = SharedLinkAccessFailureReason('other') +SharedLinkAlreadyExistsMetadata._metadata_validator = SharedLinkMetadata_validator +SharedLinkAlreadyExistsMetadata._other_validator = bv.Void() +SharedLinkAlreadyExistsMetadata._tagmap = { + 'metadata': SharedLinkAlreadyExistsMetadata._metadata_validator, + 'other': SharedLinkAlreadyExistsMetadata._other_validator, +} + +SharedLinkAlreadyExistsMetadata.other = SharedLinkAlreadyExistsMetadata('other') + SharedLinkPolicy._anyone_validator = bv.Void() SharedLinkPolicy._team_validator = bv.Void() SharedLinkPolicy._members_validator = bv.Void() @@ -17488,15 +19102,21 @@ SharedLinkPolicy.other = SharedLinkPolicy('other') SharedLinkSettings._requested_visibility_validator = bv.Nullable(RequestedVisibility_validator) SharedLinkSettings._link_password_validator = bv.Nullable(bv.String()) SharedLinkSettings._expires_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedLinkSettings._audience_validator = bv.Nullable(LinkAudience_validator) +SharedLinkSettings._access_validator = bv.Nullable(RequestedLinkAccessLevel_validator) SharedLinkSettings._all_field_names_ = set([ 'requested_visibility', 'link_password', 'expires', + 'audience', + 'access', ]) SharedLinkSettings._all_fields_ = [ ('requested_visibility', SharedLinkSettings._requested_visibility_validator), ('link_password', SharedLinkSettings._link_password_validator), ('expires', SharedLinkSettings._expires_validator), + ('audience', SharedLinkSettings._audience_validator), + ('access', SharedLinkSettings._access_validator), ] SharedLinkSettingsError._invalid_settings_validator = bv.Void() @@ -17747,19 +19367,32 @@ UserMembershipInfo._all_field_names_ = MembershipInfo._all_field_names_.union(se UserMembershipInfo._all_fields_ = MembershipInfo._all_fields_ + [('user', UserMembershipInfo._user_validator)] UserFileMembershipInfo._time_last_seen_validator = bv.Nullable(common.DropboxTimestamp_validator) -UserFileMembershipInfo._all_field_names_ = UserMembershipInfo._all_field_names_.union(set(['time_last_seen'])) -UserFileMembershipInfo._all_fields_ = UserMembershipInfo._all_fields_ + [('time_last_seen', UserFileMembershipInfo._time_last_seen_validator)] +UserFileMembershipInfo._platform_type_validator = bv.Nullable(seen_state.PlatformType_validator) +UserFileMembershipInfo._all_field_names_ = UserMembershipInfo._all_field_names_.union(set([ + 'time_last_seen', + 'platform_type', +])) +UserFileMembershipInfo._all_fields_ = UserMembershipInfo._all_fields_ + [ + ('time_last_seen', UserFileMembershipInfo._time_last_seen_validator), + ('platform_type', UserFileMembershipInfo._platform_type_validator), +] UserInfo._account_id_validator = users_common.AccountId_validator +UserInfo._email_validator = bv.String() +UserInfo._display_name_validator = bv.String() UserInfo._same_team_validator = bv.Boolean() UserInfo._team_member_id_validator = bv.Nullable(bv.String()) UserInfo._all_field_names_ = set([ 'account_id', + 'email', + 'display_name', 'same_team', 'team_member_id', ]) UserInfo._all_fields_ = [ ('account_id', UserInfo._account_id_validator), + ('email', UserInfo._email_validator), + ('display_name', UserInfo._display_name_validator), ('same_team', UserInfo._same_team_validator), ('team_member_id', UserInfo._team_member_id_validator), ] @@ -17801,6 +19434,7 @@ Visibility.other = Visibility('other') add_file_member = bb.Route( 'add_file_member', + 1, False, AddFileMemberArgs_validator, bv.List(FileMemberActionResult_validator), @@ -17810,6 +19444,7 @@ add_file_member = bb.Route( ) add_folder_member = bb.Route( 'add_folder_member', + 1, False, AddFolderMemberArg_validator, bv.Void(), @@ -17819,6 +19454,7 @@ add_folder_member = bb.Route( ) change_file_member_access = bb.Route( 'change_file_member_access', + 1, True, ChangeFileMemberAccessArgs_validator, FileMemberActionResult_validator, @@ -17828,33 +19464,37 @@ change_file_member_access = bb.Route( ) check_job_status = bb.Route( 'check_job_status', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, JobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) check_remove_member_job_status = bb.Route( 'check_remove_member_job_status', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, RemoveMemberJobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) check_share_job_status = bb.Route( 'check_share_job_status', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, ShareFolderJobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) create_shared_link = bb.Route( 'create_shared_link', + 1, True, CreateSharedLinkArg_validator, PathLinkMetadata_validator, @@ -17864,6 +19504,7 @@ create_shared_link = bb.Route( ) create_shared_link_with_settings = bb.Route( 'create_shared_link_with_settings', + 1, False, CreateSharedLinkWithSettingsArg_validator, SharedLinkMetadata_validator, @@ -17873,6 +19514,7 @@ create_shared_link_with_settings = bb.Route( ) get_file_metadata = bb.Route( 'get_file_metadata', + 1, False, GetFileMetadataArg_validator, SharedFileMetadata_validator, @@ -17882,6 +19524,7 @@ get_file_metadata = bb.Route( ) get_file_metadata_batch = bb.Route( 'get_file_metadata/batch', + 1, False, GetFileMetadataBatchArg_validator, bv.List(GetFileMetadataBatchResult_validator), @@ -17891,6 +19534,7 @@ get_file_metadata_batch = bb.Route( ) get_folder_metadata = bb.Route( 'get_folder_metadata', + 1, False, GetMetadataArgs_validator, SharedFolderMetadata_validator, @@ -17900,6 +19544,7 @@ get_folder_metadata = bb.Route( ) get_shared_link_file = bb.Route( 'get_shared_link_file', + 1, False, GetSharedLinkFileArg_validator, SharedLinkMetadata_validator, @@ -17909,6 +19554,7 @@ get_shared_link_file = bb.Route( ) get_shared_link_metadata = bb.Route( 'get_shared_link_metadata', + 1, False, GetSharedLinkMetadataArg_validator, SharedLinkMetadata_validator, @@ -17918,6 +19564,7 @@ get_shared_link_metadata = bb.Route( ) get_shared_links = bb.Route( 'get_shared_links', + 1, True, GetSharedLinksArg_validator, GetSharedLinksResult_validator, @@ -17927,6 +19574,7 @@ get_shared_links = bb.Route( ) list_file_members = bb.Route( 'list_file_members', + 1, False, ListFileMembersArg_validator, SharedFileMembers_validator, @@ -17936,6 +19584,7 @@ list_file_members = bb.Route( ) list_file_members_batch = bb.Route( 'list_file_members/batch', + 1, False, ListFileMembersBatchArg_validator, bv.List(ListFileMembersBatchResult_validator), @@ -17945,6 +19594,7 @@ list_file_members_batch = bb.Route( ) list_file_members_continue = bb.Route( 'list_file_members/continue', + 1, False, ListFileMembersContinueArg_validator, SharedFileMembers_validator, @@ -17954,6 +19604,7 @@ list_file_members_continue = bb.Route( ) list_folder_members = bb.Route( 'list_folder_members', + 1, False, ListFolderMembersArgs_validator, SharedFolderMembers_validator, @@ -17963,6 +19614,7 @@ list_folder_members = bb.Route( ) list_folder_members_continue = bb.Route( 'list_folder_members/continue', + 1, False, ListFolderMembersContinueArg_validator, SharedFolderMembers_validator, @@ -17972,6 +19624,7 @@ list_folder_members_continue = bb.Route( ) list_folders = bb.Route( 'list_folders', + 1, False, ListFoldersArgs_validator, ListFoldersResult_validator, @@ -17981,6 +19634,7 @@ list_folders = bb.Route( ) list_folders_continue = bb.Route( 'list_folders/continue', + 1, False, ListFoldersContinueArg_validator, ListFoldersResult_validator, @@ -17990,6 +19644,7 @@ list_folders_continue = bb.Route( ) list_mountable_folders = bb.Route( 'list_mountable_folders', + 1, False, ListFoldersArgs_validator, ListFoldersResult_validator, @@ -17999,6 +19654,7 @@ list_mountable_folders = bb.Route( ) list_mountable_folders_continue = bb.Route( 'list_mountable_folders/continue', + 1, False, ListFoldersContinueArg_validator, ListFoldersResult_validator, @@ -18008,6 +19664,7 @@ list_mountable_folders_continue = bb.Route( ) list_received_files = bb.Route( 'list_received_files', + 1, False, ListFilesArg_validator, ListFilesResult_validator, @@ -18017,6 +19674,7 @@ list_received_files = bb.Route( ) list_received_files_continue = bb.Route( 'list_received_files/continue', + 1, False, ListFilesContinueArg_validator, ListFilesResult_validator, @@ -18026,6 +19684,7 @@ list_received_files_continue = bb.Route( ) list_shared_links = bb.Route( 'list_shared_links', + 1, False, ListSharedLinksArg_validator, ListSharedLinksResult_validator, @@ -18035,6 +19694,7 @@ list_shared_links = bb.Route( ) modify_shared_link_settings = bb.Route( 'modify_shared_link_settings', + 1, False, ModifySharedLinkSettingsArgs_validator, SharedLinkMetadata_validator, @@ -18044,6 +19704,7 @@ modify_shared_link_settings = bb.Route( ) mount_folder = bb.Route( 'mount_folder', + 1, False, MountFolderArg_validator, SharedFolderMetadata_validator, @@ -18053,6 +19714,7 @@ mount_folder = bb.Route( ) relinquish_file_membership = bb.Route( 'relinquish_file_membership', + 1, False, RelinquishFileMembershipArg_validator, bv.Void(), @@ -18062,15 +19724,17 @@ relinquish_file_membership = bb.Route( ) relinquish_folder_membership = bb.Route( 'relinquish_folder_membership', + 1, False, RelinquishFolderMembershipArg_validator, - async.LaunchEmptyResult_validator, + async_.LaunchEmptyResult_validator, RelinquishFolderMembershipError_validator, {'host': u'api', 'style': u'rpc'}, ) remove_file_member = bb.Route( 'remove_file_member', + 1, True, RemoveFileMemberArg_validator, FileMemberActionIndividualResult_validator, @@ -18080,6 +19744,7 @@ remove_file_member = bb.Route( ) remove_file_member_2 = bb.Route( 'remove_file_member_2', + 1, False, RemoveFileMemberArg_validator, FileMemberRemoveActionResult_validator, @@ -18089,15 +19754,17 @@ remove_file_member_2 = bb.Route( ) remove_folder_member = bb.Route( 'remove_folder_member', + 1, False, RemoveFolderMemberArg_validator, - async.LaunchResultBase_validator, + async_.LaunchResultBase_validator, RemoveFolderMemberError_validator, {'host': u'api', 'style': u'rpc'}, ) revoke_shared_link = bb.Route( 'revoke_shared_link', + 1, False, RevokeSharedLinkArg_validator, bv.Void(), @@ -18105,8 +19772,19 @@ revoke_shared_link = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +set_access_inheritance = bb.Route( + 'set_access_inheritance', + 1, + False, + SetAccessInheritanceArg_validator, + ShareFolderLaunch_validator, + SetAccessInheritanceError_validator, + {'host': u'api', + 'style': u'rpc'}, +) share_folder = bb.Route( 'share_folder', + 1, False, ShareFolderArg_validator, ShareFolderLaunch_validator, @@ -18116,6 +19794,7 @@ share_folder = bb.Route( ) transfer_folder = bb.Route( 'transfer_folder', + 1, False, TransferFolderArg_validator, bv.Void(), @@ -18125,6 +19804,7 @@ transfer_folder = bb.Route( ) unmount_folder = bb.Route( 'unmount_folder', + 1, False, UnmountFolderArg_validator, bv.Void(), @@ -18134,6 +19814,7 @@ unmount_folder = bb.Route( ) unshare_file = bb.Route( 'unshare_file', + 1, False, UnshareFileArg_validator, bv.Void(), @@ -18143,15 +19824,17 @@ unshare_file = bb.Route( ) unshare_folder = bb.Route( 'unshare_folder', + 1, False, UnshareFolderArg_validator, - async.LaunchEmptyResult_validator, + async_.LaunchEmptyResult_validator, UnshareFolderError_validator, {'host': u'api', 'style': u'rpc'}, ) update_file_member = bb.Route( 'update_file_member', + 1, False, UpdateFileMemberArgs_validator, MemberAccessLevelResult_validator, @@ -18161,6 +19844,7 @@ update_file_member = bb.Route( ) update_folder_member = bb.Route( 'update_folder_member', + 1, False, UpdateFolderMemberArg_validator, MemberAccessLevelResult_validator, @@ -18170,6 +19854,7 @@ update_folder_member = bb.Route( ) update_folder_policy = bb.Route( 'update_folder_policy', + 1, False, UpdateFolderPolicyArg_validator, SharedFolderMetadata_validator, @@ -18213,6 +19898,7 @@ ROUTES = { 'remove_file_member_2': remove_file_member_2, 'remove_folder_member': remove_folder_member, 'revoke_shared_link': revoke_shared_link, + 'set_access_inheritance': set_access_inheritance, 'share_folder': share_folder, 'transfer_folder': transfer_folder, 'unmount_folder': unmount_folder, diff --git a/resources/lib/dropbox/stone_base.py b/resources/lib/dropbox/stone_base.py index 915a818..6fa0fe5 100644 --- a/resources/lib/dropbox/stone_base.py +++ b/resources/lib/dropbox/stone_base.py @@ -8,9 +8,11 @@ than being added to a project. from __future__ import absolute_import, unicode_literals +import functools + try: from . import stone_validators as bv -except (SystemError, ValueError): +except (ImportError, 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 # type: ignore @@ -19,17 +21,34 @@ _MYPY = False if _MYPY: import typing # noqa: F401 # pylint: disable=import-error,unused-import,useless-suppression +class AnnotationType(object): + # This is a base class for all annotation types. + pass + +if _MYPY: + T = typing.TypeVar('T', bound=AnnotationType) + U = typing.TypeVar('U') + +class Struct(object): + # This is a base class for all classes representing Stone structs. + def _process_custom_annotations(self, annotation_type, field_path, processor): + # type: (typing.Type[T], typing.Text, typing.Callable[[T, U], U]) -> None + pass class Union(object): # TODO(kelkabany): Possible optimization is to remove _value if a # union is composed of only symbols. __slots__ = ['_tag', '_value'] _tagmap = {} # type: typing.Dict[typing.Text, bv.Validator] + _permissioned_tagmaps = set() # type: typing.Set[typing.Text] 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] + validator = None + tagmap_names = ['_{}_tagmap'.format(map_name) for map_name in self._permissioned_tagmaps] + for tagmap_name in ['_tagmap'] + tagmap_names: + if tag in getattr(self, tagmap_name): + validator = getattr(self, tagmap_name)[tag] + assert validator is not None, 'Invalid tag %r.' % tag if isinstance(validator, bv.Void): assert value is None, 'Void type union member must have None value.' elif isinstance(validator, (bv.Struct, bv.Union)): @@ -54,10 +73,40 @@ class Union(object): def __hash__(self): return hash((self._tag, self._value)) + def _process_custom_annotations(self, annotation_type, field_path, processor): + # type: (typing.Type[T], typing.Text, typing.Callable[[T, U], U]) -> None + pass + + @classmethod + def _is_tag_present(cls, tag, caller_permissions): + assert tag, 'tag value should not be None' + + if tag in cls._tagmap: + return True + + for extra_permission in caller_permissions.permissions: + tagmap_name = '_{}_tagmap'.format(extra_permission) + if hasattr(cls, tagmap_name) and tag in getattr(cls, tagmap_name): + return True + + return False + + @classmethod + def _get_val_data_type(cls, tag, caller_permissions): + assert tag, 'tag value should not be None' + + for extra_permission in caller_permissions.permissions: + tagmap_name = '_{}_tagmap'.format(extra_permission) + if hasattr(cls, tagmap_name) and tag in getattr(cls, tagmap_name): + return getattr(cls, tagmap_name)[tag] + + return cls._tagmap[tag] + class Route(object): - def __init__(self, name, deprecated, arg_type, result_type, error_type, attrs): + def __init__(self, name, version, deprecated, arg_type, result_type, error_type, attrs): self.name = name + self.version = version self.deprecated = deprecated self.arg_type = arg_type self.result_type = result_type @@ -66,10 +115,38 @@ class Route(object): self.attrs = attrs def __repr__(self): - return 'Route({!r}, {!r}, {!r}, {!r}, {!r}, {!r})'.format( + return 'Route({!r}, {!r}, {!r}, {!r}, {!r}, {!r}, {!r})'.format( self.name, + self.version, self.deprecated, self.arg_type, self.result_type, self.error_type, self.attrs) + +# helper functions used when constructing custom annotation processors + +# put this here so that every other file doesn't need to import functools +partially_apply = functools.partial + +def make_struct_annotation_processor(annotation_type, processor): + def g(field_path, struct): + if struct is None: + return struct + struct._process_custom_annotations(annotation_type, field_path, processor) + return struct + return g + +def make_list_annotation_processor(processor): + def g(field_path, list_): + if list_ is None: + return list_ + return [processor('{}[{}]'.format(field_path, idx), x) for idx, x in enumerate(list_)] + return g + +def make_map_value_annotation_processor(processor): + def g(field_path, map_): + if map_ is None: + return map_ + return {k: processor('{}[{}]'.format(field_path, repr(k)), v) for k, v in map_.items()} + return g diff --git a/resources/lib/dropbox/stone_serializers.py b/resources/lib/dropbox/stone_serializers.py index e4be3fa..3622dbc 100644 --- a/resources/lib/dropbox/stone_serializers.py +++ b/resources/lib/dropbox/stone_serializers.py @@ -24,7 +24,7 @@ import time try: from . import stone_base as bb # noqa: F401 # pylint: disable=unused-import from . import stone_validators as bv -except (SystemError, ValueError): +except (ImportError, 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 bb # type: ignore # noqa: F401 # pylint: disable=unused-import @@ -35,6 +35,23 @@ if _MYPY: import typing # noqa: F401 # pylint: disable=import-error,unused-import,useless-suppression +# ------------------------------------------------------------------------ +class CallerPermissionsInterface(object): + + @property + def permissions(self): + """ + Returns the list of permissions this caller has access to. + """ + raise NotImplementedError + + +class CallerPermissionsDefault(CallerPermissionsInterface): + + @property + def permissions(self): + return [] + # ------------------------------------------------------------------------ class StoneEncoderInterface(object): """ @@ -63,13 +80,15 @@ class StoneEncoderInterface(object): # ------------------------------------------------------------------------ class StoneSerializerBase(StoneEncoderInterface): - def __init__(self, alias_validators=None): - # type: (typing.Mapping[bv.Validator, typing.Callable[[typing.Any], None]]) -> None + def __init__(self, caller_permissions, alias_validators): + # type: (CallerPermissionsInterface, typing.Mapping[bv.Validator, typing.Callable[[typing.Any], None]]) -> None # noqa: E501 """ Constructor, `obviously `. Args: + caller_permissions (list): The list of raw-string caller permissions with which + to serialize. alias_validators (``typing.Mapping``, optional): A mapping of custom validation callables in the format ``{stone_validators.Validator: @@ -77,6 +96,8 @@ class StoneSerializerBase(StoneEncoderInterface): raise a ``stone_validators.ValidationError`` on failure. Defaults to ``None``. """ + self.caller_permissions = (caller_permissions if + caller_permissions else CallerPermissionsDefault()) self._alias_validators = {} # type: typing.Dict[bv.Validator, typing.Callable[[typing.Any], None]] # noqa: E501 if alias_validators is not None: @@ -101,11 +122,12 @@ class StoneSerializerBase(StoneEncoderInterface): delegate encoding of sub-values. Arguments have the same semantics as with the ``encode`` method. """ + if isinstance(validator, bv.List): # Because Lists are mutable, we always validate them during # serialization - validate_f = validator.validate - encode_f = self.encode_list + validate_f = validator.validate # type: typing.Callable[[typing.Any], None] + encode_f = self.encode_list # type: typing.Callable[[typing.Any, typing.Any], typing.Any] # noqa: E501 elif isinstance(validator, bv.Map): # Also validate maps during serialization because they are also mutable validate_f = validator.validate @@ -118,11 +140,23 @@ class StoneSerializerBase(StoneEncoderInterface): encode_f = self.encode_primitive elif isinstance(validator, bv.Struct): if isinstance(validator, bv.StructTree): - validate_f = validator.validate + if self.caller_permissions.permissions: + def validate_with_permissions(val): + validator.validate_with_permissions(val, self.caller_permissions) + + validate_f = validate_with_permissions + else: + validate_f = validator.validate encode_f = self.encode_struct_tree else: # Fields are already validated on assignment - validate_f = validator.validate_type_only + if self.caller_permissions.permissions: + def validate_with_permissions(val): + validator.validate_with_permissions(val, self.caller_permissions) + + validate_f = validate_with_permissions + else: + validate_f = validator.validate_type_only encode_f = self.encode_struct elif isinstance(validator, bv.Union): # Fields are already validated on assignment @@ -194,8 +228,8 @@ class StoneSerializerBase(StoneEncoderInterface): # ------------------------------------------------------------------------ class StoneToPythonPrimitiveSerializer(StoneSerializerBase): - def __init__(self, alias_validators=None, for_msgpack=False, old_style=False): - # type: (typing.Mapping[bv.Validator, typing.Callable[[typing.Any], None]], bool, bool) -> None # noqa: E501 + def __init__(self, caller_permissions, alias_validators, for_msgpack, old_style, should_redact): + # type: (CallerPermissionsInterface, typing.Mapping[bv.Validator, typing.Callable[[typing.Any], None]], bool, bool, bool) -> None # noqa: E501 """ Args: alias_validators (``typing.Mapping``, optional): Passed @@ -204,10 +238,14 @@ class StoneToPythonPrimitiveSerializer(StoneSerializerBase): Defaults to ``False``. old_style (bool, optional): See the like-named property. Defaults to ``False``. + should_redact (bool, optional): Whether to perform redaction on + marked fields. Defaults to ``False``. """ - super(StoneToPythonPrimitiveSerializer, self).__init__(alias_validators=alias_validators) + super(StoneToPythonPrimitiveSerializer, self).__init__( + caller_permissions, alias_validators=alias_validators) self._for_msgpack = for_msgpack self._old_style = old_style + self.should_redact = should_redact @property def for_msgpack(self): @@ -228,6 +266,18 @@ class StoneToPythonPrimitiveSerializer(StoneSerializerBase): """ return self._old_style + def encode_sub(self, validator, value): + if self.should_redact and hasattr(validator, '_redact'): + if isinstance(value, list): + return [validator._redact.apply(v) for v in value] + elif isinstance(value, dict): + return {k: validator._redact.apply(v) for k, v in value.items()} + else: + return validator._redact.apply(value) + + # Encode value normally + return super(StoneToPythonPrimitiveSerializer, self).encode_sub(validator, value) + def encode_list(self, validator, value): validated_value = validator.validate(value) @@ -276,7 +326,13 @@ class StoneToPythonPrimitiveSerializer(StoneSerializerBase): # they've already been validated on assignment d = collections.OrderedDict() # type: typing.Dict[str, typing.Any] - for field_name, field_validator in validator.definition._all_fields_: + all_fields = validator.definition._all_fields_ + + for extra_permission in self.caller_permissions.permissions: + all_fields_name = '_all_{}_fields_'.format(extra_permission) + all_fields = all_fields + getattr(validator.definition, all_fields_name, []) + + for field_name, field_validator in all_fields: try: field_value = getattr(value, field_name) except AttributeError as exc: @@ -321,7 +377,13 @@ class StoneToPythonPrimitiveSerializer(StoneSerializerBase): if value._tag is None: raise bv.ValidationError('no tag set') - field_validator = validator.definition._tagmap[value._tag] + if not validator.definition._is_tag_present(value._tag, self.caller_permissions): + raise bv.ValidationError( + "caller does not have access to '{}' tag".format(value._tag)) + + field_validator = validator.definition._get_val_data_type(value._tag, + self.caller_permissions) + is_none = isinstance(field_validator, bv.Void) \ or (isinstance(field_validator, bv.Nullable) and value._value is None) @@ -371,7 +433,6 @@ class StoneToPythonPrimitiveSerializer(StoneSerializerBase): # ------------------------------------------------------------------------ class StoneToJsonSerializer(StoneToPythonPrimitiveSerializer): - def encode(self, validator, value): return json.dumps(super(StoneToJsonSerializer, self).encode(validator, value)) @@ -381,12 +442,15 @@ class StoneToJsonSerializer(StoneToPythonPrimitiveSerializer): # These interfaces are preserved for backward compatibility and symmetry with deserialization # functions. -def json_encode(data_type, obj, alias_validators=None, old_style=False): +def json_encode(data_type, obj, caller_permissions=None, alias_validators=None, old_style=False, + should_redact=False): """Encodes an object into JSON based on its type. Args: data_type (Validator): Validator for obj. obj (object): Object to be serialized. + caller_permissions (list): The list of raw-string caller permissions with which + to serialize. alias_validators (Optional[Mapping[bv.Validator, Callable[[], None]]]): Custom validation functions. These must raise bv.ValidationError on failure. @@ -433,17 +497,19 @@ def json_encode(data_type, obj, alias_validators=None, old_style=False): "{'update': {'path': 'a/b/c', 'rev': '1234'}}" """ for_msgpack = False - serializer = StoneToJsonSerializer(alias_validators, for_msgpack, old_style) + serializer = StoneToJsonSerializer( + caller_permissions, alias_validators, for_msgpack, old_style, should_redact) return serializer.encode(data_type, obj) -def json_compat_obj_encode( - data_type, obj, alias_validators=None, old_style=False, - for_msgpack=False): +def json_compat_obj_encode(data_type, obj, caller_permissions=None, alias_validators=None, + old_style=False, for_msgpack=False, should_redact=False): """Encodes an object into a JSON-compatible dict based on its type. Args: data_type (Validator): Validator for obj. obj (object): Object to be serialized. + caller_permissions (list): The list of raw-string caller permissions + with which to serialize. Returns: An object that when passed to json.dumps() will produce a string @@ -451,20 +517,406 @@ def json_compat_obj_encode( See json_encode() for additional information about validation. """ - serializer = StoneToPythonPrimitiveSerializer(alias_validators, for_msgpack, old_style) + serializer = StoneToPythonPrimitiveSerializer( + caller_permissions, alias_validators, for_msgpack, old_style, should_redact) return serializer.encode(data_type, obj) # -------------------------------------------------------------- # JSON Decoder +class PythonPrimitiveToStoneDecoder(object): + def __init__(self, caller_permissions, alias_validators, for_msgpack, old_style, strict): + self.caller_permissions = (caller_permissions if + caller_permissions else CallerPermissionsDefault()) + self.alias_validators = alias_validators + self.strict = strict + self._old_style = old_style + self._for_msgpack = for_msgpack -def json_decode( - data_type, serialized_obj, alias_validators=None, strict=True, - old_style=False): + @property + def for_msgpack(self): + """ + EXPERIMENTAL: A flag associated with the serializer indicating + whether objects produced by the ``encode`` method should be + encoded for msgpack. + """ + return self._for_msgpack + + @property + def old_style(self): + """ + A flag associated with the serializer indicating whether objects + produced by the ``encode`` method should be encoded according to + Dropbox's old or new API styles. + """ + return self._old_style + + def json_compat_obj_decode_helper(self, data_type, obj): + """ + See json_compat_obj_decode() for argument descriptions. + """ + if isinstance(data_type, bv.StructTree): + return self.decode_struct_tree(data_type, obj) + elif isinstance(data_type, bv.Struct): + return self.decode_struct(data_type, obj) + elif isinstance(data_type, bv.Union): + if self.old_style: + return self.decode_union_old(data_type, obj) + else: + return self.decode_union(data_type, obj) + elif isinstance(data_type, bv.List): + return self.decode_list( + data_type, obj) + elif isinstance(data_type, bv.Map): + return self.decode_map( + data_type, obj) + elif isinstance(data_type, bv.Nullable): + return self.decode_nullable( + data_type, obj) + elif isinstance(data_type, bv.Primitive): + # Set validate to false because validation will be done by the + # containing struct or union when the field is assigned. + return self.make_stone_friendly(data_type, obj, False) + else: + raise AssertionError('Cannot handle type %r.' % data_type) + + def decode_struct(self, data_type, obj): + """ + The data_type argument must be a Struct. + See json_compat_obj_decode() for argument descriptions. + """ + if obj is None and data_type.has_default(): + return data_type.get_default() + elif not isinstance(obj, dict): + raise bv.ValidationError('expected object, got %s' % + bv.generic_type_name(obj)) + all_fields = data_type.definition._all_fields_ + for extra_permission in self.caller_permissions.permissions: + all_extra_fields = '_all_{}_fields_'.format(extra_permission) + all_fields = all_fields + getattr(data_type.definition, all_extra_fields, []) + + if self.strict: + all_field_names = data_type.definition._all_field_names_ + for extra_permission in self.caller_permissions.permissions: + all_extra_field_names = '_all_{}_field_names_'.format(extra_permission) + all_field_names = all_field_names.union( + getattr(data_type.definition, all_extra_field_names, {})) + + for key in obj: + if (key not in all_field_names and + not key.startswith('.tag')): + raise bv.ValidationError("unknown field '%s'" % key) + ins = data_type.definition() + self.decode_struct_fields(ins, all_fields, obj) + # Check that all required fields have been set. + data_type.validate_fields_only_with_permissions(ins, self.caller_permissions) + return ins + + def decode_struct_fields(self, ins, fields, obj): + """ + Args: + ins: An instance of the class representing the data type being decoded. + The object will have its fields set. + fields: A tuple of (field_name: str, field_validator: Validator) + obj (dict): JSON-compatible dict that is being decoded. + strict (bool): See :func:`json_compat_obj_decode`. + Returns: + None: `ins` has its fields set based on the contents of `obj`. + """ + for name, field_data_type in fields: + if name in obj: + try: + v = self.json_compat_obj_decode_helper(field_data_type, obj[name]) + setattr(ins, name, v) + except bv.ValidationError as e: + e.add_parent(name) + raise + elif field_data_type.has_default(): + setattr(ins, name, field_data_type.get_default()) + + def decode_union(self, data_type, obj): + """ + The data_type argument must be a Union. + See json_compat_obj_decode() for argument descriptions. + """ + val = None + if isinstance(obj, six.string_types): + # Handles the shorthand format where the union is serialized as only + # the string of the tag. + tag = obj + if data_type.definition._is_tag_present(tag, self.caller_permissions): + val_data_type = data_type.definition._get_val_data_type( + tag, self.caller_permissions) + if not isinstance(val_data_type, (bv.Void, bv.Nullable)): + raise bv.ValidationError( + "expected object for '%s', got symbol" % tag) + if tag == data_type.definition._catch_all: + raise bv.ValidationError( + "unexpected use of the catch-all tag '%s'" % tag) + elif not self.strict and data_type.definition._catch_all: + tag = data_type.definition._catch_all + else: + raise bv.ValidationError("unknown tag '%s'" % tag) + elif isinstance(obj, dict): + tag, val = self.decode_union_dict( + data_type, obj) + else: + raise bv.ValidationError("expected string or object, got %s" % + bv.generic_type_name(obj)) + return data_type.definition(tag, val) + + def decode_union_dict(self, data_type, obj): + if '.tag' not in obj: + raise bv.ValidationError("missing '.tag' key") + tag = obj['.tag'] + if not isinstance(tag, six.string_types): + raise bv.ValidationError( + 'tag must be string, got %s' % bv.generic_type_name(tag)) + + if not data_type.definition._is_tag_present(tag, self.caller_permissions): + if not self.strict and data_type.definition._catch_all: + return data_type.definition._catch_all, None + else: + raise bv.ValidationError("unknown tag '%s'" % tag) + if tag == data_type.definition._catch_all: + raise bv.ValidationError( + "unexpected use of the catch-all tag '%s'" % tag) + + val_data_type = data_type.definition._get_val_data_type(tag, self.caller_permissions) + if isinstance(val_data_type, bv.Nullable): + val_data_type = val_data_type.validator + nullable = True + else: + nullable = False + + if isinstance(val_data_type, bv.Void): + if self.strict: + # In strict mode, ensure there are no extraneous keys set. In + # non-strict mode, we accept that other keys may be set due to a + # change of the void type to another. + if tag in obj: + if obj[tag] is not None: + raise bv.ValidationError('expected null, got %s' % + bv.generic_type_name(obj[tag])) + for key in obj: + if key != tag and key != '.tag': + raise bv.ValidationError("unexpected key '%s'" % key) + val = None + elif isinstance(val_data_type, + (bv.Primitive, bv.List, bv.StructTree, bv.Union, bv.Map)): + if tag in obj: + raw_val = obj[tag] + try: + val = self.json_compat_obj_decode_helper(val_data_type, raw_val) + except bv.ValidationError as e: + e.add_parent(tag) + raise + else: + # Check no other keys + if nullable: + val = None + else: + raise bv.ValidationError("missing '%s' key" % tag) + for key in obj: + if key != tag and key != '.tag': + raise bv.ValidationError("unexpected key '%s'" % key) + elif isinstance(val_data_type, bv.Struct): + if nullable and len(obj) == 1: # only has a .tag key + val = None + else: + # assume it's not null + raw_val = obj + try: + val = self.json_compat_obj_decode_helper(val_data_type, raw_val) + except bv.ValidationError as e: + e.add_parent(tag) + raise + else: + assert False, type(val_data_type) + return tag, val + + def decode_union_old(self, data_type, obj): + """ + The data_type argument must be a Union. + See json_compat_obj_decode() for argument descriptions. + """ + val = None + if isinstance(obj, six.string_types): + # Union member has no associated value + tag = obj + if data_type.definition._is_tag_present(tag, self.caller_permissions): + val_data_type = data_type.definition._get_val_data_type(tag, + self.caller_permissions) + if not isinstance(val_data_type, (bv.Void, bv.Nullable)): + raise bv.ValidationError( + "expected object for '%s', got symbol" % tag) + else: + if not self.strict and data_type.definition._catch_all: + tag = data_type.definition._catch_all + else: + raise bv.ValidationError("unknown tag '%s'" % tag) + elif isinstance(obj, dict): + # Union member has value + if len(obj) != 1: + raise bv.ValidationError('expected 1 key, got %s' % len(obj)) + tag = list(obj)[0] + raw_val = obj[tag] + if data_type.definition._is_tag_present(tag, self.caller_permissions): + val_data_type = data_type.definition._get_val_data_type(tag, + self.caller_permissions) + if isinstance(val_data_type, bv.Nullable) and raw_val is None: + val = None + elif isinstance(val_data_type, bv.Void): + if raw_val is None or not self.strict: + # If raw_val is None, then this is the more verbose + # representation of a void union member. If raw_val isn't + # None, then maybe the spec has changed, so check if we're + # in strict mode. + val = None + else: + raise bv.ValidationError('expected null, got %s' % + bv.generic_type_name(raw_val)) + else: + try: + val = self.json_compat_obj_decode_helper(val_data_type, raw_val) + except bv.ValidationError as e: + e.add_parent(tag) + raise + else: + if not self.strict and data_type.definition._catch_all: + tag = data_type.definition._catch_all + else: + raise bv.ValidationError("unknown tag '%s'" % tag) + else: + raise bv.ValidationError("expected string or object, got %s" % + bv.generic_type_name(obj)) + return data_type.definition(tag, val) + + def decode_struct_tree(self, data_type, obj): + """ + The data_type argument must be a StructTree. + See json_compat_obj_decode() for argument descriptions. + """ + subtype = self.determine_struct_tree_subtype(data_type, obj) + return self.decode_struct(subtype, obj) + + def determine_struct_tree_subtype(self, data_type, obj): + """ + Searches through the JSON-object-compatible dict using the data type + definition to determine which of the enumerated subtypes `obj` is. + """ + if '.tag' not in obj: + raise bv.ValidationError("missing '.tag' key") + if not isinstance(obj['.tag'], six.string_types): + raise bv.ValidationError('expected string, got %s' % + bv.generic_type_name(obj['.tag']), + parent='.tag') + + # Find the subtype the tags refer to + full_tags_tuple = (obj['.tag'],) + if full_tags_tuple in data_type.definition._tag_to_subtype_: + subtype = data_type.definition._tag_to_subtype_[full_tags_tuple] + if isinstance(subtype, bv.StructTree): + raise bv.ValidationError("tag '%s' refers to non-leaf subtype" % + ('.'.join(full_tags_tuple))) + return subtype + else: + if self.strict: + # In strict mode, the entirety of the tag hierarchy should + # point to a known subtype. + raise bv.ValidationError("unknown subtype '%s'" % + '.'.join(full_tags_tuple)) + else: + # If subtype was not found, use the base. + if data_type.definition._is_catch_all_: + return data_type + else: + raise bv.ValidationError( + "unknown subtype '%s' and '%s' is not a catch-all" % + ('.'.join(full_tags_tuple), data_type.definition.__name__)) + + def decode_list(self, data_type, obj): + """ + The data_type argument must be a List. + See json_compat_obj_decode() for argument descriptions. + """ + if not isinstance(obj, list): + raise bv.ValidationError( + 'expected list, got %s' % bv.generic_type_name(obj)) + return [ + self.json_compat_obj_decode_helper(data_type.item_validator, item) + for item in obj] + + def decode_map(self, data_type, obj): + """ + The data_type argument must be a Map. + See json_compat_obj_decode() for argument descriptions. + """ + if not isinstance(obj, dict): + raise bv.ValidationError( + 'expected dict, got %s' % bv.generic_type_name(obj)) + return { + self.json_compat_obj_decode_helper(data_type.key_validator, key): + self.json_compat_obj_decode_helper(data_type.value_validator, value) + for key, value in obj.items() + } + + def decode_nullable(self, data_type, obj): + """ + The data_type argument must be a Nullable. + See json_compat_obj_decode() for argument descriptions. + """ + if obj is not None: + return self.json_compat_obj_decode_helper(data_type.validator, obj) + else: + return None + + def make_stone_friendly(self, data_type, val, validate): + """ + Convert a Python object to a type that will pass validation by its + validator. + Validation by ``alias_validators`` is performed even if ``validate`` is + false. + """ + if isinstance(data_type, bv.Timestamp): + try: + ret = datetime.datetime.strptime(val, data_type.format) + except (TypeError, ValueError) as e: + raise bv.ValidationError(e.args[0]) + elif isinstance(data_type, bv.Bytes): + if self.for_msgpack: + if isinstance(val, six.text_type): + ret = val.encode('utf-8') + else: + ret = val + else: + try: + ret = base64.b64decode(val) + except TypeError: + raise bv.ValidationError('invalid base64-encoded bytes') + elif isinstance(data_type, bv.Void): + if self.strict and val is not None: + raise bv.ValidationError("expected null, got value") + return None + else: + if validate: + if self.caller_permissions.permissions: + data_type.validate_with_permissions(val, self.caller_permissions) + else: + data_type.validate(val) + ret = val + if self.alias_validators is not None and data_type in self.alias_validators: + self.alias_validators[data_type](ret) + return ret + +def json_decode(data_type, serialized_obj, caller_permissions=None, + alias_validators=None, strict=True, old_style=False): """Performs the reverse operation of json_encode. Args: data_type (Validator): Validator for serialized_obj. serialized_obj (str): The JSON string to deserialize. + caller_permissions (list): The list of raw-string caller permissions + with which to serialize. alias_validators (Optional[Mapping[bv.Validator, Callable[[], None]]]): Custom validation functions. These must raise bv.ValidationError on failure. @@ -495,12 +947,13 @@ def json_decode( raise bv.ValidationError('could not decode input as JSON') else: return json_compat_obj_decode( - data_type, deserialized_obj, alias_validators, strict, old_style) + data_type, deserialized_obj, caller_permissions=caller_permissions, + alias_validators=alias_validators, strict=strict, old_style=old_style) -def json_compat_obj_decode( - data_type, obj, alias_validators=None, strict=True, old_style=False, - for_msgpack=False): +def json_compat_obj_decode(data_type, obj, caller_permissions=None, + alias_validators=None, strict=True, + old_style=False, for_msgpack=False): """ Decodes a JSON-compatible object based on its data type into a representative Python object. @@ -508,6 +961,8 @@ def json_compat_obj_decode( Args: data_type (Validator): Validator for serialized_obj. obj: The JSON-compatible object to decode based on data_type. + caller_permissions (list): The list of raw-string caller permissions + with which to serialize. strict (bool): If strict, then unknown struct fields will raise an error, and unknown union variants will raise an error even if a catch all field is specified. See json_decode() for more. @@ -515,406 +970,15 @@ def json_compat_obj_decode( Returns: See json_decode(). """ + decoder = PythonPrimitiveToStoneDecoder(caller_permissions, + alias_validators, for_msgpack, old_style, strict) + if isinstance(data_type, bv.Primitive): - return _make_stone_friendly( - data_type, obj, alias_validators, strict, True, for_msgpack) + return decoder.make_stone_friendly( + data_type, obj, True) else: - return _json_compat_obj_decode_helper( - data_type, obj, alias_validators, strict, old_style, for_msgpack) - - -def _json_compat_obj_decode_helper( - data_type, obj, alias_validators, strict, old_style, for_msgpack): - """ - See json_compat_obj_decode() for argument descriptions. - """ - if isinstance(data_type, bv.StructTree): - return _decode_struct_tree( - data_type, obj, alias_validators, strict, for_msgpack) - elif isinstance(data_type, bv.Struct): - return _decode_struct( - data_type, obj, alias_validators, strict, old_style, for_msgpack) - elif isinstance(data_type, bv.Union): - if old_style: - return _decode_union_old( - data_type, obj, alias_validators, strict, for_msgpack) - else: - return _decode_union( - data_type, obj, alias_validators, strict, for_msgpack) - elif isinstance(data_type, bv.List): - return _decode_list( - data_type, obj, alias_validators, strict, old_style, for_msgpack) - elif isinstance(data_type, bv.Map): - return _decode_map( - data_type, obj, alias_validators, strict, old_style, for_msgpack) - elif isinstance(data_type, bv.Nullable): - return _decode_nullable( - data_type, obj, alias_validators, strict, old_style, for_msgpack) - elif isinstance(data_type, bv.Primitive): - # Set validate to false because validation will be done by the - # containing struct or union when the field is assigned. - return _make_stone_friendly( - data_type, obj, alias_validators, strict, False, for_msgpack) - else: - raise AssertionError('Cannot handle type %r.' % data_type) - - -def _decode_struct( - data_type, obj, alias_validators, strict, old_style, for_msgpack): - """ - The data_type argument must be a Struct. - See json_compat_obj_decode() for argument descriptions. - """ - if obj is None and data_type.has_default(): - return data_type.get_default() - elif not isinstance(obj, dict): - raise bv.ValidationError('expected object, got %s' % - bv.generic_type_name(obj)) - if strict: - for key in obj: - if (key not in data_type.definition._all_field_names_ and - not key.startswith('.tag')): - raise bv.ValidationError("unknown field '%s'" % key) - ins = data_type.definition() - _decode_struct_fields( - ins, data_type.definition._all_fields_, obj, alias_validators, strict, - old_style, for_msgpack) - # Check that all required fields have been set. - data_type.validate_fields_only(ins) - return ins - - -def _decode_struct_fields( - ins, fields, obj, alias_validators, strict, old_style, for_msgpack): - """ - Args: - ins: An instance of the class representing the data type being decoded. - The object will have its fields set. - fields: A tuple of (field_name: str, field_validator: Validator) - obj (dict): JSON-compatible dict that is being decoded. - strict (bool): See :func:`json_compat_obj_decode`. - - Returns: - None: `ins` has its fields set based on the contents of `obj`. - """ - for name, field_data_type in fields: - if name in obj: - try: - v = _json_compat_obj_decode_helper( - field_data_type, obj[name], alias_validators, strict, - old_style, for_msgpack) - setattr(ins, name, v) - except bv.ValidationError as e: - e.add_parent(name) - raise - elif field_data_type.has_default(): - setattr(ins, name, field_data_type.get_default()) - - -def _decode_union(data_type, obj, alias_validators, strict, for_msgpack): - """ - The data_type argument must be a Union. - See json_compat_obj_decode() for argument descriptions. - """ - val = None - if isinstance(obj, six.string_types): - # Handles the shorthand format where the union is serialized as only - # the string of the tag. - tag = obj - if tag in data_type.definition._tagmap: - val_data_type = data_type.definition._tagmap[tag] - if not isinstance(val_data_type, (bv.Void, bv.Nullable)): - raise bv.ValidationError( - "expected object for '%s', got symbol" % tag) - if tag == data_type.definition._catch_all: - raise bv.ValidationError( - "unexpected use of the catch-all tag '%s'" % tag) - else: - if not strict and data_type.definition._catch_all: - tag = data_type.definition._catch_all - else: - raise bv.ValidationError("unknown tag '%s'" % tag) - elif isinstance(obj, dict): - tag, val = _decode_union_dict( - data_type, obj, alias_validators, strict, for_msgpack) - else: - raise bv.ValidationError("expected string or object, got %s" % - bv.generic_type_name(obj)) - return data_type.definition(tag, val) - - -def _decode_union_dict(data_type, obj, alias_validators, strict, for_msgpack): - if '.tag' not in obj: - raise bv.ValidationError("missing '.tag' key") - tag = obj['.tag'] - if not isinstance(tag, six.string_types): - raise bv.ValidationError( - 'tag must be string, got %s' % bv.generic_type_name(tag)) - - if tag not in data_type.definition._tagmap: - if not strict and data_type.definition._catch_all: - return data_type.definition._catch_all, None - else: - raise bv.ValidationError("unknown tag '%s'" % tag) - if tag == data_type.definition._catch_all: - raise bv.ValidationError( - "unexpected use of the catch-all tag '%s'" % tag) - - val_data_type = data_type.definition._tagmap[tag] - if isinstance(val_data_type, bv.Nullable): - val_data_type = val_data_type.validator - nullable = True - else: - nullable = False - - if isinstance(val_data_type, bv.Void): - if strict: - # In strict mode, ensure there are no extraneous keys set. In - # non-strict mode, we accept that other keys may be set due to a - # change of the void type to another. - if tag in obj: - if obj[tag] is not None: - raise bv.ValidationError('expected null, got %s' % - bv.generic_type_name(obj[tag])) - for key in obj: - if key != tag and key != '.tag': - raise bv.ValidationError("unexpected key '%s'" % key) - val = None - elif isinstance(val_data_type, - (bv.Primitive, bv.List, bv.StructTree, bv.Union, bv.Map)): - if tag in obj: - raw_val = obj[tag] - try: - val = _json_compat_obj_decode_helper( - val_data_type, raw_val, alias_validators, strict, False, for_msgpack) - except bv.ValidationError as e: - e.add_parent(tag) - raise - else: - # Check no other keys - if nullable: - val = None - else: - raise bv.ValidationError("missing '%s' key" % tag) - for key in obj: - if key != tag and key != '.tag': - raise bv.ValidationError("unexpected key '%s'" % key) - elif isinstance(val_data_type, bv.Struct): - if nullable and len(obj) == 1: # only has a .tag key - val = None - else: - # assume it's not null - raw_val = obj - try: - val = _json_compat_obj_decode_helper( - val_data_type, raw_val, alias_validators, strict, False, - for_msgpack) - except bv.ValidationError as e: - e.add_parent(tag) - raise - else: - assert False, type(val_data_type) - return tag, val - - -def _decode_union_old(data_type, obj, alias_validators, strict, for_msgpack): - """ - The data_type argument must be a Union. - See json_compat_obj_decode() for argument descriptions. - """ - val = None - if isinstance(obj, six.string_types): - # Union member has no associated value - tag = obj - if tag in data_type.definition._tagmap: - val_data_type = data_type.definition._tagmap[tag] - if not isinstance(val_data_type, (bv.Void, bv.Nullable)): - raise bv.ValidationError( - "expected object for '%s', got symbol" % tag) - else: - if not strict and data_type.definition._catch_all: - tag = data_type.definition._catch_all - else: - raise bv.ValidationError("unknown tag '%s'" % tag) - elif isinstance(obj, dict): - # Union member has value - if len(obj) != 1: - raise bv.ValidationError('expected 1 key, got %s' % len(obj)) - tag = list(obj)[0] - raw_val = obj[tag] - if tag in data_type.definition._tagmap: - val_data_type = data_type.definition._tagmap[tag] - if isinstance(val_data_type, bv.Nullable) and raw_val is None: - val = None - elif isinstance(val_data_type, bv.Void): - if raw_val is None or not strict: - # If raw_val is None, then this is the more verbose - # representation of a void union member. If raw_val isn't - # None, then maybe the spec has changed, so check if we're - # in strict mode. - val = None - else: - raise bv.ValidationError('expected null, got %s' % - bv.generic_type_name(raw_val)) - else: - try: - val = _json_compat_obj_decode_helper( - val_data_type, raw_val, alias_validators, strict, True, - for_msgpack) - except bv.ValidationError as e: - e.add_parent(tag) - raise - else: - if not strict and data_type.definition._catch_all: - tag = data_type.definition._catch_all - else: - raise bv.ValidationError("unknown tag '%s'" % tag) - else: - raise bv.ValidationError("expected string or object, got %s" % - bv.generic_type_name(obj)) - return data_type.definition(tag, val) - - -def _decode_struct_tree(data_type, obj, alias_validators, strict, for_msgpack): - """ - The data_type argument must be a StructTree. - See json_compat_obj_decode() for argument descriptions. - """ - subtype = _determine_struct_tree_subtype(data_type, obj, strict) - return _decode_struct( - subtype, obj, alias_validators, strict, False, for_msgpack) - - -def _determine_struct_tree_subtype(data_type, obj, strict): - """ - Searches through the JSON-object-compatible dict using the data type - definition to determine which of the enumerated subtypes `obj` is. - """ - if '.tag' not in obj: - raise bv.ValidationError("missing '.tag' key") - if not isinstance(obj['.tag'], six.string_types): - raise bv.ValidationError('expected string, got %s' % - bv.generic_type_name(obj['.tag']), - parent='.tag') - - # Find the subtype the tags refer to - full_tags_tuple = (obj['.tag'],) - if full_tags_tuple in data_type.definition._tag_to_subtype_: - subtype = data_type.definition._tag_to_subtype_[full_tags_tuple] - if isinstance(subtype, bv.StructTree): - raise bv.ValidationError("tag '%s' refers to non-leaf subtype" % - ('.'.join(full_tags_tuple))) - return subtype - else: - if strict: - # In strict mode, the entirety of the tag hierarchy should - # point to a known subtype. - raise bv.ValidationError("unknown subtype '%s'" % - '.'.join(full_tags_tuple)) - else: - # If subtype was not found, use the base. - if data_type.definition._is_catch_all_: - return data_type - else: - raise bv.ValidationError( - "unknown subtype '%s' and '%s' is not a catch-all" % - ('.'.join(full_tags_tuple), data_type.definition.__name__)) - - -def _decode_list( - data_type, obj, alias_validators, strict, old_style, for_msgpack): - """ - The data_type argument must be a List. - See json_compat_obj_decode() for argument descriptions. - """ - if not isinstance(obj, list): - raise bv.ValidationError( - 'expected list, got %s' % bv.generic_type_name(obj)) - return [ - _json_compat_obj_decode_helper( - data_type.item_validator, item, alias_validators, strict, - old_style, for_msgpack) - for item in obj] - - -def _decode_map( - data_type, obj, alias_validators, strict, old_style, for_msgpack): - """ - The data_type argument must be a Map. - See json_compat_obj_decode() for argument descriptions. - """ - if not isinstance(obj, dict): - raise bv.ValidationError( - 'expected dict, got %s' % bv.generic_type_name(obj)) - return { - _json_compat_obj_decode_helper( - data_type.key_validator, key, alias_validators, strict, - old_style, for_msgpack): - _json_compat_obj_decode_helper( - data_type.value_validator, value, alias_validators, strict, - old_style, for_msgpack) - for key, value in obj.items() - } - - -def _decode_nullable( - data_type, obj, alias_validators, strict, old_style, for_msgpack): - """ - The data_type argument must be a Nullable. - See json_compat_obj_decode() for argument descriptions. - """ - if obj is not None: - return _json_compat_obj_decode_helper( - data_type.validator, obj, alias_validators, strict, old_style, - for_msgpack) - else: - return None - - -def _make_stone_friendly( - data_type, val, alias_validators, strict, validate, for_msgpack): - """ - Convert a Python object to a type that will pass validation by its - validator. - - Validation by ``alias_validators`` is performed even if ``validate`` is - false. - - fix found at: - https://www.dropboxforum.com/t5/API-support/Upload-Error-with-v2-migration-from-v1/td-p/244561 - """ - if isinstance(data_type, bv.Timestamp): - try: - ret = datetime.datetime.strptime(val, data_type.format) - except: - #print("datetime.datetime.strptime(val, data_type.format) returned NoneType. Trying alterntive") - pass - try: - ret = datetime.datetime(*(time.strptime(val, data_type.format)[0:6])) - except (TypeError, ValueError) as e: - raise bv.ValidationError(e.args[0]) - elif isinstance(data_type, bv.Bytes): - if for_msgpack: - if isinstance(val, six.text_type): - ret = val.encode('utf-8') - else: - ret = val - else: - try: - ret = base64.b64decode(val) - except TypeError: - raise bv.ValidationError('invalid base64-encoded bytes') - elif isinstance(data_type, bv.Void): - if strict and val is not None: - raise bv.ValidationError("expected null, got value") - return None - else: - if validate: - data_type.validate(val) - ret = val - if alias_validators is not None and data_type in alias_validators: - alias_validators[data_type](ret) - return ret + return decoder.json_compat_obj_decode_helper( + data_type, obj) # Adapted from: # http://code.activestate.com/recipes/306860-proleptic-gregorian-dates-and-strftime-before-1900/ diff --git a/resources/lib/dropbox/stone_validators.py b/resources/lib/dropbox/stone_validators.py index f919dc7..f512989 100644 --- a/resources/lib/dropbox/stone_validators.py +++ b/resources/lib/dropbox/stone_validators.py @@ -14,6 +14,7 @@ from __future__ import absolute_import, unicode_literals from abc import ABCMeta, abstractmethod import datetime +import hashlib import math import numbers import re @@ -73,7 +74,10 @@ class ValidationError(Exception): def generic_type_name(v): """Return a descriptive type name that isn't Python specific. For example, an int value will return 'integer' rather than 'int'.""" - if isinstance(v, numbers.Integral): + if isinstance(v, bool): + # Must come before any numbers checks since booleans are integers too + return 'boolean' + elif isinstance(v, numbers.Integral): # Must come before real numbers check since integrals are reals too return 'integer' elif isinstance(v, numbers.Real): @@ -455,6 +459,16 @@ class Struct(Composite): self.validate_fields_only(val) return val + def validate_with_permissions(self, val, caller_permissions): + """ + For a val to pass validation, val must be of the correct type and have + all required permissioned fields present. Should only be called + for callers with extra permissions. + """ + self.validate(val) + self.validate_fields_only_with_permissions(val, caller_permissions) + return val + def validate_fields_only(self, val): """ To pass field validation, no required field should be missing. @@ -465,11 +479,27 @@ class Struct(Composite): FIXME(kelkabany): Since the definition object does not maintain a list of which fields are required, all fields are scanned. """ - for field_name, _ in self.definition._all_fields_: + for field_name in self.definition._all_field_names_: if not hasattr(val, field_name): raise ValidationError("missing required field '%s'" % field_name) + def validate_fields_only_with_permissions(self, val, caller_permissions): + """ + To pass field validation, no required field should be missing. + This method assumes that the contents of each field have already been + validated on assignment, so it's merely a presence check. + Should only be called for callers with extra permissions. + """ + self.validate_fields_only(val) + + # check if type has been patched + for extra_permission in caller_permissions.permissions: + all_field_names = '_all_{}_field_names_'.format(extra_permission) + for field_name in getattr(self.definition, all_field_names, set()): + if not hasattr(val, field_name): + raise ValidationError("missing required field '%s'" % field_name) + def validate_type_only(self, val): """ Use this when you only want to validate that the type of an object @@ -590,3 +620,54 @@ class Nullable(Validator): def get_default(self): return None + +class Redactor(object): + def __init__(self, regex): + """ + Args: + regex: What parts of the field to redact. + """ + self.regex = regex + + @abstractmethod + def apply(self, val): + """Redacts information from annotated field. + Returns: A redacted version of the string provided. + """ + pass + + def _get_matches(self, val): + if not self.regex: + return None + try: + return re.search(self.regex, val) + except TypeError: + return None + + +class HashRedactor(Redactor): + def apply(self, val): + matches = self._get_matches(val) + + val_to_hash = str(val) if isinstance(val, int) or isinstance(val, float) else val + + try: + # add string literal to ensure unicode + hashed = hashlib.md5(val_to_hash.encode('utf-8')).hexdigest() + '' + except [AttributeError, ValueError]: + hashed = None + + if matches: + blotted = '***'.join(matches.groups()) + if hashed: + return '{} ({})'.format(hashed, blotted) + return blotted + return hashed + + +class BlotRedactor(Redactor): + def apply(self, val): + matches = self._get_matches(val) + if matches: + return '***'.join(matches.groups()) + return '********' diff --git a/resources/lib/dropbox/team.py b/resources/lib/dropbox/team.py index 4ce94a3..a51786f 100644 --- a/resources/lib/dropbox/team.py +++ b/resources/lib/dropbox/team.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -13,31 +14,35 @@ except (SystemError, ValueError): try: from . import ( - async, + async_, common, file_properties, + files, team_common, team_policies, users, users_common, ) -except (SystemError, ValueError): - import async +except (ImportError, SystemError, ValueError): + import async_ import common import file_properties + import files import team_common import team_policies import users import users_common -class DeviceSession(object): +class DeviceSession(bb.Struct): """ - :ivar session_id: The session id. - :ivar ip_address: The IP address of the last activity from this session. - :ivar country: The country from which the last activity from this session - was made. - :ivar created: The time this session was created. - :ivar updated: The time of the last activity from this session. + :ivar team.DeviceSession.session_id: The session id. + :ivar team.DeviceSession.ip_address: The IP address of the last activity + from this session. + :ivar team.DeviceSession.country: The country from which the last activity + from this session was made. + :ivar team.DeviceSession.created: The time this session was created. + :ivar team.DeviceSession.updated: The time of the last activity from this + session. """ __slots__ = [ @@ -209,6 +214,9 @@ class DeviceSession(object): self._updated_value = None self._updated_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceSession, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceSession(session_id={!r}, ip_address={!r}, country={!r}, created={!r}, updated={!r})'.format( self._session_id_value, @@ -224,10 +232,11 @@ class ActiveWebSession(DeviceSession): """ Information on active web sessions. - :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. + :ivar team.ActiveWebSession.user_agent: Information on the hosting device. + :ivar team.ActiveWebSession.os: Information on the hosting operating system. + :ivar team.ActiveWebSession.browser: Information on the browser used for + this web session. + :ivar team.ActiveWebSession.expires: The time this session expires. """ __slots__ = [ @@ -370,6 +379,9 @@ class ActiveWebSession(DeviceSession): self._expires_value = None self._expires_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ActiveWebSession, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): 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, @@ -393,13 +405,13 @@ class AdminTier(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar team_admin: User is an administrator of the team - has all - permissions. - :ivar user_management_admin: User can do most user provisioning, - de-provisioning and management. - :ivar support_admin: User can do a limited set of common support tasks for - existing users. - :ivar member_only: User is not an admin of the team. + :ivar team.AdminTier.team_admin: User is an administrator of the team - has + all permissions. + :ivar team.AdminTier.user_management_admin: User can do most user + provisioning, de-provisioning and management. + :ivar team.AdminTier.support_admin: User can do a limited set of common + support tasks for existing users. + :ivar team.AdminTier.member_only: User is not an admin of the team. """ _catch_all = None @@ -444,21 +456,25 @@ class AdminTier(bb.Union): """ return self._tag == 'member_only' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AdminTier, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AdminTier(%r, %r)' % (self._tag, self._value) AdminTier_validator = bv.Union(AdminTier) -class ApiApp(object): +class ApiApp(bb.Struct): """ Information on linked third party applications. - :ivar app_id: The application unique id. - :ivar app_name: The application name. - :ivar publisher: The application publisher name. - :ivar publisher_url: The publisher's URL. - :ivar linked: The time this application was linked. - :ivar is_app_folder: Whether the linked application uses a dedicated folder. + :ivar team.ApiApp.app_id: The application unique id. + :ivar team.ApiApp.app_name: The application name. + :ivar team.ApiApp.publisher: The application publisher name. + :ivar team.ApiApp.publisher_url: The publisher's URL. + :ivar team.ApiApp.linked: The time this application was linked. + :ivar team.ApiApp.is_app_folder: Whether the linked application uses a + dedicated folder. """ __slots__ = [ @@ -657,6 +673,9 @@ class ApiApp(object): self._is_app_folder_value = None self._is_app_folder_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ApiApp, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ApiApp(app_id={!r}, app_name={!r}, is_app_folder={!r}, publisher={!r}, publisher_url={!r}, linked={!r})'.format( self._app_id_value, @@ -669,11 +688,12 @@ class ApiApp(object): ApiApp_validator = bv.Struct(ApiApp) -class BaseDfbReport(object): +class BaseDfbReport(bb.Struct): """ Base report structure. - :ivar start_date: First date present in the results as 'YYYY-MM-DD' or None. + :ivar team.BaseDfbReport.start_date: First date present in the results as + 'YYYY-MM-DD' or None. """ __slots__ = [ @@ -713,6 +733,9 @@ class BaseDfbReport(object): self._start_date_value = None self._start_date_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(BaseDfbReport, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'BaseDfbReport(start_date={!r})'.format( self._start_date_value, @@ -828,6 +851,9 @@ class BaseTeamFolderError(bb.Union): raise AttributeError("tag 'team_shared_dropbox_error' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(BaseTeamFolderError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'BaseTeamFolderError(%r, %r)' % (self._tag, self._value) @@ -835,13 +861,14 @@ BaseTeamFolderError_validator = bv.Union(BaseTeamFolderError) class CustomQuotaError(bb.Union): """ - Error returned by setting member custom quota. + Error returned when getting member custom quota. 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 too_many_users: A maximum of 1000 users can be set for a single call. + :ivar team.CustomQuotaError.too_many_users: A maximum of 1000 users can be + set for a single call. """ _catch_all = 'other' @@ -866,6 +893,9 @@ class CustomQuotaError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CustomQuotaError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CustomQuotaError(%r, %r)' % (self._tag, self._value) @@ -879,8 +909,9 @@ class CustomQuotaResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar UserCustomQuotaResult success: User's custom quota. - :ivar UserSelectorArg invalid_user: Invalid user (not in team). + :ivar UserCustomQuotaResult CustomQuotaResult.success: User's custom quota. + :ivar UserSelectorArg CustomQuotaResult.invalid_user: Invalid user (not in + team). """ _catch_all = 'other' @@ -957,14 +988,17 @@ class CustomQuotaResult(bb.Union): raise AttributeError("tag 'invalid_user' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CustomQuotaResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CustomQuotaResult(%r, %r)' % (self._tag, self._value) CustomQuotaResult_validator = bv.Union(CustomQuotaResult) -class CustomQuotaUsersArg(object): +class CustomQuotaUsersArg(bb.Struct): """ - :ivar users: List of users. + :ivar team.CustomQuotaUsersArg.users: List of users. """ __slots__ = [ @@ -1004,6 +1038,9 @@ class CustomQuotaUsersArg(object): self._users_value = None self._users_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CustomQuotaUsersArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CustomQuotaUsersArg(users={!r})'.format( self._users_value, @@ -1011,12 +1048,12 @@ class CustomQuotaUsersArg(object): CustomQuotaUsersArg_validator = bv.Struct(CustomQuotaUsersArg) -class DateRange(object): +class DateRange(bb.Struct): """ Input arguments that can be provided for most reports. - :ivar start_date: Optional starting date (inclusive). - :ivar end_date: Optional ending date (exclusive). + :ivar team.DateRange.start_date: Optional starting date (inclusive). + :ivar team.DateRange.end_date: Optional ending date (exclusive). """ __slots__ = [ @@ -1092,6 +1129,9 @@ class DateRange(object): self._end_date_value = None self._end_date_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DateRange, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DateRange(start_date={!r}, end_date={!r})'.format( self._start_date_value, @@ -1121,6 +1161,9 @@ class DateRangeError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DateRangeError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DateRangeError(%r, %r)' % (self._tag, self._value) @@ -1130,12 +1173,14 @@ class DesktopClientSession(DeviceSession): """ Information about linked Dropbox desktop client sessions. - :ivar host_name: Name of the hosting desktop. - :ivar client_type: The Dropbox desktop client type. - :ivar client_version: The Dropbox client version. - :ivar platform: Information on the hosting platform. - :ivar is_delete_on_unlink_supported: Whether it's possible to delete all of - the account files upon unlinking. + :ivar team.DesktopClientSession.host_name: Name of the hosting desktop. + :ivar team.DesktopClientSession.client_type: The Dropbox desktop client + type. + :ivar team.DesktopClientSession.client_version: The Dropbox client version. + :ivar team.DesktopClientSession.platform: Information on the hosting + platform. + :ivar team.DesktopClientSession.is_delete_on_unlink_supported: Whether it's + possible to delete all of the account files upon unlinking. """ __slots__ = [ @@ -1305,6 +1350,9 @@ class DesktopClientSession(DeviceSession): self._is_delete_on_unlink_supported_value = None self._is_delete_on_unlink_supported_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DesktopClientSession, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DesktopClientSession(session_id={!r}, host_name={!r}, client_type={!r}, client_version={!r}, platform={!r}, is_delete_on_unlink_supported={!r}, ip_address={!r}, country={!r}, created={!r}, updated={!r})'.format( self._session_id_value, @@ -1327,9 +1375,9 @@ class DesktopPlatform(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar windows: Official Windows Dropbox desktop client. - :ivar mac: Official Mac Dropbox desktop client. - :ivar linux: Official Linux Dropbox desktop client. + :ivar team.DesktopPlatform.windows: Official Windows Dropbox desktop client. + :ivar team.DesktopPlatform.mac: Official Mac Dropbox desktop client. + :ivar team.DesktopPlatform.linux: Official Linux Dropbox desktop client. """ _catch_all = 'other' @@ -1374,15 +1422,19 @@ class DesktopPlatform(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DesktopPlatform, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DesktopPlatform(%r, %r)' % (self._tag, self._value) DesktopPlatform_validator = bv.Union(DesktopPlatform) -class DeviceSessionArg(object): +class DeviceSessionArg(bb.Struct): """ - :ivar session_id: The session id. - :ivar team_member_id: The unique id of the member owning the device. + :ivar team.DeviceSessionArg.session_id: The session id. + :ivar team.DeviceSessionArg.team_member_id: The unique id of the member + owning the device. """ __slots__ = [ @@ -1452,6 +1504,9 @@ class DeviceSessionArg(object): self._team_member_id_value = None self._team_member_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceSessionArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceSessionArg(session_id={!r}, team_member_id={!r})'.format( self._session_id_value, @@ -1460,22 +1515,26 @@ class DeviceSessionArg(object): DeviceSessionArg_validator = bv.Struct(DeviceSessionArg) -class DevicesActive(object): +class DevicesActive(bb.Struct): """ Each of the items is an array of values, one value per day. The value is the number of devices active within a time window, ending with that day. If there is no data for a day, then the value will be None. - :ivar windows: Array of number of linked windows (desktop) clients with + :ivar team.DevicesActive.windows: Array of number of linked windows + (desktop) clients with activity. + :ivar team.DevicesActive.macos: Array of number of linked mac (desktop) + clients with activity. + :ivar team.DevicesActive.linux: Array of number of linked linus (desktop) + clients with activity. + :ivar team.DevicesActive.ios: Array of number of linked ios devices with activity. - :ivar macos: Array of number of linked mac (desktop) clients with activity. - :ivar linux: Array of number of linked linus (desktop) clients with + :ivar team.DevicesActive.android: Array of number of linked android devices + with activity. + :ivar team.DevicesActive.other: Array of number of other linked devices + (blackberry, windows phone, etc) with activity. + :ivar team.DevicesActive.total: Array of total number of linked clients with activity. - :ivar ios: Array of number of linked ios devices with activity. - :ivar android: Array of number of linked android devices with activity. - :ivar other: Array of number of other linked devices (blackberry, windows - phone, etc) with activity. - :ivar total: Array of total number of linked clients with activity. """ __slots__ = [ @@ -1539,7 +1598,7 @@ class DevicesActive(object): """ Array of number of linked windows (desktop) clients with activity. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._windows_present: return self._windows_value @@ -1562,7 +1621,7 @@ class DevicesActive(object): """ Array of number of linked mac (desktop) clients with activity. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._macos_present: return self._macos_value @@ -1585,7 +1644,7 @@ class DevicesActive(object): """ Array of number of linked linus (desktop) clients with activity. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._linux_present: return self._linux_value @@ -1608,7 +1667,7 @@ class DevicesActive(object): """ Array of number of linked ios devices with activity. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._ios_present: return self._ios_value @@ -1631,7 +1690,7 @@ class DevicesActive(object): """ Array of number of linked android devices with activity. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._android_present: return self._android_value @@ -1655,7 +1714,7 @@ class DevicesActive(object): Array of number of other linked devices (blackberry, windows phone, etc) with activity. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._other_present: return self._other_value @@ -1678,7 +1737,7 @@ class DevicesActive(object): """ Array of total number of linked clients with activity. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._total_present: return self._total_value @@ -1696,6 +1755,9 @@ class DevicesActive(object): self._total_value = None self._total_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DevicesActive, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DevicesActive(windows={!r}, macos={!r}, linux={!r}, ios={!r}, android={!r}, other={!r}, total={!r})'.format( self._windows_value, @@ -1709,18 +1771,549 @@ class DevicesActive(object): DevicesActive_validator = bv.Struct(DevicesActive) -class Feature(bb.Union): +class ExcludedUsersListArg(bb.Struct): """ - A set of features that Dropbox for Business account support. + Excluded users list argument. + + :ivar team.ExcludedUsersListArg.limit: Number of results to return per call. + """ + + __slots__ = [ + '_limit_value', + '_limit_present', + ] + + _has_required_fields = False + + def __init__(self, + limit=None): + self._limit_value = None + self._limit_present = False + if limit is not None: + self.limit = limit + + @property + def limit(self): + """ + Number of results to return per call. + + :rtype: int + """ + 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 + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersListArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersListArg(limit={!r})'.format( + self._limit_value, + ) + +ExcludedUsersListArg_validator = bv.Struct(ExcludedUsersListArg) + +class ExcludedUsersListContinueArg(bb.Struct): + """ + Excluded users list continue argument. + + :ivar team.ExcludedUsersListContinueArg.cursor: Indicates from what point to + get the next set of users. + """ + + __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 users. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersListContinueArg(cursor={!r})'.format( + self._cursor_value, + ) + +ExcludedUsersListContinueArg_validator = bv.Struct(ExcludedUsersListContinueArg) + +class ExcludedUsersListContinueError(bb.Union): + """ + Excluded users list continue error. 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. - :ivar has_team_shared_dropbox: Does this team have a have a company shared - dropbox. + :ivar team.ExcludedUsersListContinueError.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersListContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersListContinueError(%r, %r)' % (self._tag, self._value) + +ExcludedUsersListContinueError_validator = bv.Union(ExcludedUsersListContinueError) + +class ExcludedUsersListError(bb.Union): + """ + Excluded users list error. + + 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 team.ExcludedUsersListError.list_error: An error occurred. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + list_error = None + # Attribute is overwritten below the class definition + other = None + + def is_list_error(self): + """ + Check if the union tag is ``list_error``. + + :rtype: bool + """ + return self._tag == 'list_error' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersListError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersListError(%r, %r)' % (self._tag, self._value) + +ExcludedUsersListError_validator = bv.Union(ExcludedUsersListError) + +class ExcludedUsersListResult(bb.Struct): + """ + Excluded users list result. + + :ivar team.ExcludedUsersListResult.cursor: Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.team_member_space_limits_excluded_users_list_continue` + to obtain additional excluded users. + :ivar team.ExcludedUsersListResult.has_more: Is true if there are additional + excluded users that have not been returned yet. An additional call to + :meth:`dropbox.dropbox.Dropbox.team_member_space_limits_excluded_users_list_continue` + can retrieve them. + """ + + __slots__ = [ + '_users_value', + '_users_present', + '_cursor_value', + '_cursor_present', + '_has_more_value', + '_has_more_present', + ] + + _has_required_fields = True + + def __init__(self, + users=None, + has_more=None, + cursor=None): + self._users_value = None + self._users_present = False + self._cursor_value = None + self._cursor_present = False + self._has_more_value = None + self._has_more_present = False + if users is not None: + self.users = users + if cursor is not None: + self.cursor = cursor + if has_more is not None: + self.has_more = has_more + + @property + def users(self): + """ + :rtype: list of [MemberProfile] + """ + if self._users_present: + return self._users_value + else: + raise AttributeError("missing required field 'users'") + + @users.setter + def users(self, val): + val = self._users_validator.validate(val) + self._users_value = val + self._users_present = True + + @users.deleter + def users(self): + self._users_value = None + self._users_present = False + + @property + def cursor(self): + """ + Pass the cursor into + :meth:`dropbox.dropbox.Dropbox.team_member_space_limits_excluded_users_list_continue` + to obtain additional excluded users. + + :rtype: str + """ + if self._cursor_present: + return self._cursor_value + else: + return None + + @cursor.setter + def cursor(self, val): + if val is None: + del self.cursor + return + 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 excluded users that have not been + returned yet. An additional call to + :meth:`dropbox.dropbox.Dropbox.team_member_space_limits_excluded_users_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersListResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersListResult(users={!r}, has_more={!r}, cursor={!r})'.format( + self._users_value, + self._has_more_value, + self._cursor_value, + ) + +ExcludedUsersListResult_validator = bv.Struct(ExcludedUsersListResult) + +class ExcludedUsersUpdateArg(bb.Struct): + """ + Argument of excluded users update operation. Should include a list of users + to add/remove (according to endpoint), Maximum size of the list is 1000 + users. + + :ivar team.ExcludedUsersUpdateArg.users: List of users to be added/removed. + """ + + __slots__ = [ + '_users_value', + '_users_present', + ] + + _has_required_fields = False + + def __init__(self, + users=None): + self._users_value = None + self._users_present = False + if users is not None: + self.users = users + + @property + def users(self): + """ + List of users to be added/removed. + + :rtype: list of [UserSelectorArg] + """ + if self._users_present: + return self._users_value + else: + return None + + @users.setter + def users(self, val): + if val is None: + del self.users + return + val = self._users_validator.validate(val) + self._users_value = val + self._users_present = True + + @users.deleter + def users(self): + self._users_value = None + self._users_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersUpdateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersUpdateArg(users={!r})'.format( + self._users_value, + ) + +ExcludedUsersUpdateArg_validator = bv.Struct(ExcludedUsersUpdateArg) + +class ExcludedUsersUpdateError(bb.Union): + """ + Excluded users update error. + + 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 team.ExcludedUsersUpdateError.users_not_in_team: At least one of the + users is not part of your team. + :ivar team.ExcludedUsersUpdateError.too_many_users: A maximum of 1000 users + for each of addition/removal can be supplied. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + users_not_in_team = None + # Attribute is overwritten below the class definition + too_many_users = None + # Attribute is overwritten below the class definition + other = None + + def is_users_not_in_team(self): + """ + Check if the union tag is ``users_not_in_team``. + + :rtype: bool + """ + return self._tag == 'users_not_in_team' + + def is_too_many_users(self): + """ + Check if the union tag is ``too_many_users``. + + :rtype: bool + """ + return self._tag == 'too_many_users' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersUpdateError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersUpdateError(%r, %r)' % (self._tag, self._value) + +ExcludedUsersUpdateError_validator = bv.Union(ExcludedUsersUpdateError) + +class ExcludedUsersUpdateResult(bb.Struct): + """ + Excluded users update result. + + :ivar team.ExcludedUsersUpdateResult.status: Update status. + """ + + __slots__ = [ + '_status_value', + '_status_present', + ] + + _has_required_fields = True + + def __init__(self, + status=None): + self._status_value = None + self._status_present = False + if status is not None: + self.status = status + + @property + def status(self): + """ + Update status. + + :rtype: ExcludedUsersUpdateStatus + """ + if self._status_present: + return self._status_value + else: + raise AttributeError("missing required field 'status'") + + @status.setter + def status(self, val): + self._status_validator.validate_type_only(val) + self._status_value = val + self._status_present = True + + @status.deleter + def status(self): + self._status_value = None + self._status_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersUpdateResult, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersUpdateResult(status={!r})'.format( + self._status_value, + ) + +ExcludedUsersUpdateResult_validator = bv.Struct(ExcludedUsersUpdateResult) + +class ExcludedUsersUpdateStatus(bb.Union): + """ + Excluded users update operation status. + + 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 team.ExcludedUsersUpdateStatus.success: Update successful. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + success = None + # Attribute is overwritten below the class definition + other = None + + def is_success(self): + """ + Check if the union tag is ``success``. + + :rtype: bool + """ + return self._tag == 'success' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExcludedUsersUpdateStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExcludedUsersUpdateStatus(%r, %r)' % (self._tag, self._value) + +ExcludedUsersUpdateStatus_validator = bv.Union(ExcludedUsersUpdateStatus) + +class Feature(bb.Union): + """ + A set of features that a Dropbox Business account may 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 team.Feature.upload_api_rate_limit: The number of upload API calls + allowed per month. + :ivar team.Feature.has_team_shared_dropbox: Does this team have a shared + team root. + :ivar team.Feature.has_team_file_events: Does this team have file events. + :ivar team.Feature.has_team_selective_sync: Does this team have team + selective sync enabled. """ _catch_all = 'other' @@ -1729,6 +2322,10 @@ class Feature(bb.Union): # Attribute is overwritten below the class definition has_team_shared_dropbox = None # Attribute is overwritten below the class definition + has_team_file_events = None + # Attribute is overwritten below the class definition + has_team_selective_sync = None + # Attribute is overwritten below the class definition other = None def is_upload_api_rate_limit(self): @@ -1747,6 +2344,22 @@ class Feature(bb.Union): """ return self._tag == 'has_team_shared_dropbox' + def is_has_team_file_events(self): + """ + Check if the union tag is ``has_team_file_events``. + + :rtype: bool + """ + return self._tag == 'has_team_file_events' + + def is_has_team_selective_sync(self): + """ + Check if the union tag is ``has_team_selective_sync``. + + :rtype: bool + """ + return self._tag == 'has_team_selective_sync' + def is_other(self): """ Check if the union tag is ``other``. @@ -1755,6 +2368,9 @@ class Feature(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Feature, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Feature(%r, %r)' % (self._tag, self._value) @@ -1763,7 +2379,7 @@ 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. + value according to your Dropbox 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 @@ -1796,6 +2412,28 @@ class FeatureValue(bb.Union): """ return cls('has_team_shared_dropbox', val) + @classmethod + def has_team_file_events(cls, val): + """ + Create an instance of this class set to the ``has_team_file_events`` tag + with value ``val``. + + :param HasTeamFileEventsValue val: + :rtype: FeatureValue + """ + return cls('has_team_file_events', val) + + @classmethod + def has_team_selective_sync(cls, val): + """ + Create an instance of this class set to the ``has_team_selective_sync`` + tag with value ``val``. + + :param HasTeamSelectiveSyncValue val: + :rtype: FeatureValue + """ + return cls('has_team_selective_sync', val) + def is_upload_api_rate_limit(self): """ Check if the union tag is ``upload_api_rate_limit``. @@ -1812,6 +2450,22 @@ class FeatureValue(bb.Union): """ return self._tag == 'has_team_shared_dropbox' + def is_has_team_file_events(self): + """ + Check if the union tag is ``has_team_file_events``. + + :rtype: bool + """ + return self._tag == 'has_team_file_events' + + def is_has_team_selective_sync(self): + """ + Check if the union tag is ``has_team_selective_sync``. + + :rtype: bool + """ + return self._tag == 'has_team_selective_sync' + def is_other(self): """ Check if the union tag is ``other``. @@ -1840,15 +2494,39 @@ class FeatureValue(bb.Union): raise AttributeError("tag 'has_team_shared_dropbox' not set") return self._value + def get_has_team_file_events(self): + """ + Only call this if :meth:`is_has_team_file_events` is true. + + :rtype: HasTeamFileEventsValue + """ + if not self.is_has_team_file_events(): + raise AttributeError("tag 'has_team_file_events' not set") + return self._value + + def get_has_team_selective_sync(self): + """ + Only call this if :meth:`is_has_team_selective_sync` is true. + + :rtype: HasTeamSelectiveSyncValue + """ + if not self.is_has_team_selective_sync(): + raise AttributeError("tag 'has_team_selective_sync' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FeatureValue, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FeatureValue(%r, %r)' % (self._tag, self._value) FeatureValue_validator = bv.Union(FeatureValue) -class FeaturesGetValuesBatchArg(object): +class FeaturesGetValuesBatchArg(bb.Struct): """ - :ivar features: A list of features in :class:`Feature`. If the list is - empty, this route will return :class:`FeaturesGetValuesBatchError`. + :ivar team.FeaturesGetValuesBatchArg.features: A list of features in + :class:`Feature`. If the list is empty, this route will return + :class:`FeaturesGetValuesBatchError`. """ __slots__ = [ @@ -1889,6 +2567,9 @@ class FeaturesGetValuesBatchArg(object): self._features_value = None self._features_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FeaturesGetValuesBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FeaturesGetValuesBatchArg(features={!r})'.format( self._features_value, @@ -1902,8 +2583,9 @@ class FeaturesGetValuesBatchError(bb.Union): 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. + :ivar team.FeaturesGetValuesBatchError.empty_features_list: At least one + :class:`Feature` must be included in the + :class:`FeaturesGetValuesBatchArg`.features list. """ _catch_all = 'other' @@ -1928,12 +2610,15 @@ class FeaturesGetValuesBatchError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FeaturesGetValuesBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FeaturesGetValuesBatchError(%r, %r)' % (self._tag, self._value) FeaturesGetValuesBatchError_validator = bv.Union(FeaturesGetValuesBatchError) -class FeaturesGetValuesBatchResult(object): +class FeaturesGetValuesBatchResult(bb.Struct): __slots__ = [ '_values_value', @@ -1970,6 +2655,9 @@ class FeaturesGetValuesBatchResult(object): self._values_value = None self._values_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FeaturesGetValuesBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FeaturesGetValuesBatchResult(values={!r})'.format( self._values_value, @@ -1983,31 +2671,37 @@ class GetActivityReport(BaseDfbReport): of values, one value per day. If there is no data for a day, then the value will be None. - :ivar adds: Array of total number of adds by team members. - :ivar edits: Array of number of edits by team members. If the same user - edits the same file multiple times this is counted as a single edit. - :ivar deletes: Array of total number of deletes by team members. - :ivar active_users_28_day: Array of the number of users who have been active - in the last 28 days. - :ivar active_users_7_day: Array of the number of users who have been active - in the last week. - :ivar active_users_1_day: Array of the number of users who have been active - in the last day. - :ivar active_shared_folders_28_day: Array of the number of shared folders - with some activity in the last 28 days. - :ivar active_shared_folders_7_day: Array of the number of shared folders - with some activity in the last week. - :ivar active_shared_folders_1_day: Array of the number of shared folders - with some activity in the last day. - :ivar shared_links_created: Array of the number of shared links created. - :ivar shared_links_viewed_by_team: Array of the number of views by team - users to shared links created by the team. - :ivar shared_links_viewed_by_outside_user: Array of the number of views by - users outside of the team to shared links created by the team. - :ivar shared_links_viewed_by_not_logged_in: Array of the number of views by - non-logged-in users to shared links created by the team. - :ivar shared_links_viewed_total: Array of the total number of views to - shared links created by the team. + :ivar team.GetActivityReport.adds: Array of total number of adds by team + members. + :ivar team.GetActivityReport.edits: Array of number of edits by team + members. If the same user edits the same file multiple times this is + counted as a single edit. + :ivar team.GetActivityReport.deletes: Array of total number of deletes by + team members. + :ivar team.GetActivityReport.active_users_28_day: Array of the number of + users who have been active in the last 28 days. + :ivar team.GetActivityReport.active_users_7_day: Array of the number of + users who have been active in the last week. + :ivar team.GetActivityReport.active_users_1_day: Array of the number of + users who have been active in the last day. + :ivar team.GetActivityReport.active_shared_folders_28_day: Array of the + number of shared folders with some activity in the last 28 days. + :ivar team.GetActivityReport.active_shared_folders_7_day: Array of the + number of shared folders with some activity in the last week. + :ivar team.GetActivityReport.active_shared_folders_1_day: Array of the + number of shared folders with some activity in the last day. + :ivar team.GetActivityReport.shared_links_created: Array of the number of + shared links created. + :ivar team.GetActivityReport.shared_links_viewed_by_team: Array of the + number of views by team users to shared links created by the team. + :ivar team.GetActivityReport.shared_links_viewed_by_outside_user: Array of + the number of views by users outside of the team to shared links created + by the team. + :ivar team.GetActivityReport.shared_links_viewed_by_not_logged_in: Array of + the number of views by non-logged-in users to shared links created by + the team. + :ivar team.GetActivityReport.shared_links_viewed_total: Array of the total + number of views to shared links created by the team. """ __slots__ = [ @@ -2122,7 +2816,7 @@ class GetActivityReport(BaseDfbReport): """ Array of total number of adds by team members. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._adds_present: return self._adds_value @@ -2146,7 +2840,7 @@ class GetActivityReport(BaseDfbReport): Array of number of edits by team members. If the same user edits the same file multiple times this is counted as a single edit. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._edits_present: return self._edits_value @@ -2169,7 +2863,7 @@ class GetActivityReport(BaseDfbReport): """ Array of total number of deletes by team members. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._deletes_present: return self._deletes_value @@ -2192,7 +2886,7 @@ class GetActivityReport(BaseDfbReport): """ Array of the number of users who have been active in the last 28 days. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._active_users_28_day_present: return self._active_users_28_day_value @@ -2215,7 +2909,7 @@ class GetActivityReport(BaseDfbReport): """ Array of the number of users who have been active in the last week. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._active_users_7_day_present: return self._active_users_7_day_value @@ -2238,7 +2932,7 @@ class GetActivityReport(BaseDfbReport): """ Array of the number of users who have been active in the last day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._active_users_1_day_present: return self._active_users_1_day_value @@ -2262,7 +2956,7 @@ class GetActivityReport(BaseDfbReport): Array of the number of shared folders with some activity in the last 28 days. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._active_shared_folders_28_day_present: return self._active_shared_folders_28_day_value @@ -2286,7 +2980,7 @@ class GetActivityReport(BaseDfbReport): Array of the number of shared folders with some activity in the last week. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._active_shared_folders_7_day_present: return self._active_shared_folders_7_day_value @@ -2310,7 +3004,7 @@ class GetActivityReport(BaseDfbReport): Array of the number of shared folders with some activity in the last day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._active_shared_folders_1_day_present: return self._active_shared_folders_1_day_value @@ -2333,7 +3027,7 @@ class GetActivityReport(BaseDfbReport): """ Array of the number of shared links created. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._shared_links_created_present: return self._shared_links_created_value @@ -2357,7 +3051,7 @@ class GetActivityReport(BaseDfbReport): Array of the number of views by team users to shared links created by the team. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._shared_links_viewed_by_team_present: return self._shared_links_viewed_by_team_value @@ -2381,7 +3075,7 @@ class GetActivityReport(BaseDfbReport): Array of the number of views by users outside of the team to shared links created by the team. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._shared_links_viewed_by_outside_user_present: return self._shared_links_viewed_by_outside_user_value @@ -2405,7 +3099,7 @@ class GetActivityReport(BaseDfbReport): Array of the number of views by non-logged-in users to shared links created by the team. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._shared_links_viewed_by_not_logged_in_present: return self._shared_links_viewed_by_not_logged_in_value @@ -2428,7 +3122,7 @@ class GetActivityReport(BaseDfbReport): """ Array of the total number of views to shared links created by the team. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._shared_links_viewed_total_present: return self._shared_links_viewed_total_value @@ -2446,6 +3140,9 @@ class GetActivityReport(BaseDfbReport): self._shared_links_viewed_total_value = None self._shared_links_viewed_total_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetActivityReport, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetActivityReport(start_date={!r}, adds={!r}, edits={!r}, deletes={!r}, active_users_28_day={!r}, active_users_7_day={!r}, active_users_1_day={!r}, active_shared_folders_28_day={!r}, active_shared_folders_7_day={!r}, active_shared_folders_1_day={!r}, shared_links_created={!r}, shared_links_viewed_by_team={!r}, shared_links_viewed_by_outside_user={!r}, shared_links_viewed_by_not_logged_in={!r}, shared_links_viewed_total={!r})'.format( self._start_date_value, @@ -2474,11 +3171,12 @@ class GetDevicesReport(BaseDfbReport): array of values, one value per day. If there is no data for a day, then the value will be None. - :ivar active_1_day: Report of the number of devices active in the last day. - :ivar active_7_day: Report of the number of devices active in the last 7 - days. - :ivar active_28_day: Report of the number of devices active in the last 28 - days. + :ivar team.GetDevicesReport.active_1_day: Report of the number of devices + active in the last day. + :ivar team.GetDevicesReport.active_7_day: Report of the number of devices + active in the last 7 days. + :ivar team.GetDevicesReport.active_28_day: Report of the number of devices + active in the last 28 days. """ __slots__ = [ @@ -2580,6 +3278,9 @@ class GetDevicesReport(BaseDfbReport): self._active_28_day_value = None self._active_28_day_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetDevicesReport, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetDevicesReport(start_date={!r}, active_1_day={!r}, active_7_day={!r}, active_28_day={!r})'.format( self._start_date_value, @@ -2596,13 +3297,15 @@ class GetMembershipReport(BaseDfbReport): array of values, one value per day. If there is no data for a day, then the value will be None. - :ivar team_size: Team size, for each day. - :ivar pending_invites: The number of pending invites to the team, for each - day. - :ivar members_joined: The number of members that joined the team, for each - day. - :ivar suspended_members: The number of suspended team members, for each day. - :ivar licenses: The total number of licenses the team has, for each day. + :ivar team.GetMembershipReport.team_size: Team size, for each day. + :ivar team.GetMembershipReport.pending_invites: The number of pending + invites to the team, for each day. + :ivar team.GetMembershipReport.members_joined: The number of members that + joined the team, for each day. + :ivar team.GetMembershipReport.suspended_members: The number of suspended + team members, for each day. + :ivar team.GetMembershipReport.licenses: The total number of licenses the + team has, for each day. """ __slots__ = [ @@ -2654,7 +3357,7 @@ class GetMembershipReport(BaseDfbReport): """ Team size, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._team_size_present: return self._team_size_value @@ -2677,7 +3380,7 @@ class GetMembershipReport(BaseDfbReport): """ The number of pending invites to the team, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._pending_invites_present: return self._pending_invites_value @@ -2700,7 +3403,7 @@ class GetMembershipReport(BaseDfbReport): """ The number of members that joined the team, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._members_joined_present: return self._members_joined_value @@ -2723,7 +3426,7 @@ class GetMembershipReport(BaseDfbReport): """ The number of suspended team members, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._suspended_members_present: return self._suspended_members_value @@ -2746,7 +3449,7 @@ class GetMembershipReport(BaseDfbReport): """ The total number of licenses the team has, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._licenses_present: return self._licenses_value @@ -2764,6 +3467,9 @@ class GetMembershipReport(BaseDfbReport): self._licenses_value = None self._licenses_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetMembershipReport, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetMembershipReport(start_date={!r}, team_size={!r}, pending_invites={!r}, members_joined={!r}, suspended_members={!r}, licenses={!r})'.format( self._start_date_value, @@ -2782,20 +3488,20 @@ class GetStorageReport(BaseDfbReport): of values, one value per day. If there is no data for a day, then the value will be None. - :ivar total_usage: Sum of the shared, unshared, and datastore usages, for - each day. - :ivar shared_usage: Array of the combined size (bytes) of team members' - shared folders, for each day. - :ivar unshared_usage: Array of the combined size (bytes) of team members' - root namespaces, for each day. - :ivar shared_folders: Array of the number of shared folders owned by team - members, for each day. - :ivar member_storage_map: Array of storage summaries of team members' - account sizes. Each storage summary is an array of key, value pairs, - where each pair describes a storage bucket. The key indicates the upper - bound of the bucket and the value is the number of users in that bucket. - There is one such summary per day. If there is no data for a day, the - storage summary will be empty. + :ivar team.GetStorageReport.total_usage: Sum of the shared, unshared, and + datastore usages, for each day. + :ivar team.GetStorageReport.shared_usage: Array of the combined size (bytes) + of team members' shared folders, for each day. + :ivar team.GetStorageReport.unshared_usage: Array of the combined size + (bytes) of team members' root namespaces, for each day. + :ivar team.GetStorageReport.shared_folders: Array of the number of shared + folders owned by team members, for each day. + :ivar team.GetStorageReport.member_storage_map: Array of storage summaries + of team members' account sizes. Each storage summary is an array of key, + value pairs, where each pair describes a storage bucket. The key + indicates the upper bound of the bucket and the value is the number of + users in that bucket. There is one such summary per day. If there is no + data for a day, the storage summary will be empty. """ __slots__ = [ @@ -2847,7 +3553,7 @@ class GetStorageReport(BaseDfbReport): """ Sum of the shared, unshared, and datastore usages, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._total_usage_present: return self._total_usage_value @@ -2871,7 +3577,7 @@ class GetStorageReport(BaseDfbReport): Array of the combined size (bytes) of team members' shared folders, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._shared_usage_present: return self._shared_usage_value @@ -2895,7 +3601,7 @@ class GetStorageReport(BaseDfbReport): Array of the combined size (bytes) of team members' root namespaces, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._unshared_usage_present: return self._unshared_usage_value @@ -2919,7 +3625,7 @@ class GetStorageReport(BaseDfbReport): Array of the number of shared folders owned by team members, for each day. - :rtype: list of [Optional[long]] + :rtype: list of [Optional[int]] """ if self._shared_folders_present: return self._shared_folders_value @@ -2965,6 +3671,9 @@ class GetStorageReport(BaseDfbReport): self._member_storage_map_value = None self._member_storage_map_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetStorageReport, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetStorageReport(start_date={!r}, total_usage={!r}, shared_usage={!r}, unshared_usage={!r}, shared_folders={!r}, member_storage_map={!r})'.format( self._start_date_value, @@ -2985,8 +3694,10 @@ class GroupAccessType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar member: User is a member of the group, but has no special permissions. - :ivar owner: User can rename the group, and add/remove members. + :ivar team.GroupAccessType.member: User is a member of the group, but has no + special permissions. + :ivar team.GroupAccessType.owner: User can rename the group, and add/remove + members. """ _catch_all = None @@ -3011,18 +3722,21 @@ class GroupAccessType(bb.Union): """ return self._tag == 'owner' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupAccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupAccessType(%r, %r)' % (self._tag, self._value) GroupAccessType_validator = bv.Union(GroupAccessType) -class GroupCreateArg(object): +class GroupCreateArg(bb.Struct): """ - :ivar group_name: Group name. - :ivar group_external_id: The creator of a team can associate an arbitrary - external ID to the group. - :ivar group_management_type: Whether the team can be managed by selected - users, or only by team admins. + :ivar team.GroupCreateArg.group_name: Group name. + :ivar team.GroupCreateArg.group_external_id: The creator of a team can + associate an arbitrary external ID to the group. + :ivar team.GroupCreateArg.group_management_type: Whether the team can be + managed by selected users, or only by team admins. """ __slots__ = [ @@ -3109,7 +3823,7 @@ class GroupCreateArg(object): Whether the team can be managed by selected users, or only by team admins. - :rtype: team_common.GroupManagementType_validator + :rtype: team_common.GroupManagementType """ if self._group_management_type_present: return self._group_management_type_value @@ -3130,6 +3844,9 @@ class GroupCreateArg(object): self._group_management_type_value = None self._group_management_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupCreateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupCreateArg(group_name={!r}, group_external_id={!r}, group_management_type={!r})'.format( self._group_name_value, @@ -3145,13 +3862,14 @@ class GroupCreateError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar group_name_already_used: The requested group name is already being - used by another group. - :ivar group_name_invalid: Group name is empty or has invalid characters. - :ivar external_id_already_in_use: The requested external ID is already being - used by another group. - :ivar system_managed_group_disallowed: System-managed group cannot be - manually created. + :ivar team.GroupCreateError.group_name_already_used: The requested group + name is already being used by another group. + :ivar team.GroupCreateError.group_name_invalid: Group name is empty or has + invalid characters. + :ivar team.GroupCreateError.external_id_already_in_use: The requested + external ID is already being used by another group. + :ivar team.GroupCreateError.system_managed_group_disallowed: System-managed + group cannot be manually created. """ _catch_all = 'other' @@ -3206,6 +3924,9 @@ class GroupCreateError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupCreateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupCreateError(%r, %r)' % (self._tag, self._value) @@ -3219,8 +3940,8 @@ class GroupSelectorError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar group_not_found: No matching group found. No groups match the - specified group ID. + :ivar team.GroupSelectorError.group_not_found: No matching group found. No + groups match the specified group ID. """ _catch_all = 'other' @@ -3245,6 +3966,9 @@ class GroupSelectorError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupSelectorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupSelectorError(%r, %r)' % (self._tag, self._value) @@ -3259,8 +3983,8 @@ class GroupSelectorWithTeamGroupError(GroupSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar system_managed_group_disallowed: This operation is not supported on - system-managed groups. + :ivar team.GroupSelectorWithTeamGroupError.system_managed_group_disallowed: + This operation is not supported on system-managed groups. """ # Attribute is overwritten below the class definition @@ -3274,6 +3998,9 @@ class GroupSelectorWithTeamGroupError(GroupSelectorError): """ return self._tag == 'system_managed_group_disallowed' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupSelectorWithTeamGroupError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupSelectorWithTeamGroupError(%r, %r)' % (self._tag, self._value) @@ -3285,7 +4012,8 @@ class GroupDeleteError(GroupSelectorWithTeamGroupError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar group_already_deleted: This group has already been deleted. + :ivar team.GroupDeleteError.group_already_deleted: This group has already + been deleted. """ # Attribute is overwritten below the class definition @@ -3299,6 +4027,9 @@ class GroupDeleteError(GroupSelectorWithTeamGroupError): """ return self._tag == 'group_already_deleted' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupDeleteError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupDeleteError(%r, %r)' % (self._tag, self._value) @@ -3308,9 +4039,9 @@ class GroupFullInfo(team_common.GroupSummary): """ Full description of a group. - :ivar members: List of group members. - :ivar created: The group creation time as a UTC timestamp in milliseconds - since the Unix epoch. + :ivar team.GroupFullInfo.members: List of group members. + :ivar team.GroupFullInfo.created: The group creation time as a UTC timestamp + in milliseconds since the Unix epoch. """ __slots__ = [ @@ -3376,7 +4107,7 @@ class GroupFullInfo(team_common.GroupSummary): The group creation time as a UTC timestamp in milliseconds since the Unix epoch. - :rtype: long + :rtype: int """ if self._created_present: return self._created_value @@ -3394,6 +4125,9 @@ class GroupFullInfo(team_common.GroupSummary): self._created_value = None self._created_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupFullInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupFullInfo(group_name={!r}, group_id={!r}, group_management_type={!r}, created={!r}, group_external_id={!r}, member_count={!r}, members={!r})'.format( self._group_name_value, @@ -3407,12 +4141,13 @@ class GroupFullInfo(team_common.GroupSummary): GroupFullInfo_validator = bv.Struct(GroupFullInfo) -class GroupMemberInfo(object): +class GroupMemberInfo(bb.Struct): """ Profile of group member, and role in group. - :ivar profile: Profile of group member. - :ivar access_type: The role that the user has in the group. + :ivar team.GroupMemberInfo.profile: Profile of group member. + :ivar team.GroupMemberInfo.access_type: The role that the user has in the + group. """ __slots__ = [ @@ -3482,6 +4217,9 @@ class GroupMemberInfo(object): self._access_type_value = None self._access_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMemberInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMemberInfo(profile={!r}, access_type={!r})'.format( self._profile_value, @@ -3490,12 +4228,13 @@ class GroupMemberInfo(object): GroupMemberInfo_validator = bv.Struct(GroupMemberInfo) -class GroupMemberSelector(object): +class GroupMemberSelector(bb.Struct): """ Argument for selecting a group and a single user. - :ivar group: Specify a group. - :ivar user: Identity of a user that is a member of ``group``. + :ivar team.GroupMemberSelector.group: Specify a group. + :ivar team.GroupMemberSelector.user: Identity of a user that is a member of + ``group``. """ __slots__ = [ @@ -3565,6 +4304,9 @@ class GroupMemberSelector(object): self._user_value = None self._user_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMemberSelector, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMemberSelector(group={!r}, user={!r})'.format( self._group_value, @@ -3582,7 +4324,8 @@ class GroupMemberSelectorError(GroupSelectorWithTeamGroupError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar member_not_in_group: The specified user is not a member of this group. + :ivar team.GroupMemberSelectorError.member_not_in_group: The specified user + is not a member of this group. """ # Attribute is overwritten below the class definition @@ -3596,6 +4339,9 @@ class GroupMemberSelectorError(GroupSelectorWithTeamGroupError): """ return self._tag == 'member_not_in_group' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMemberSelectorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMemberSelectorError(%r, %r)' % (self._tag, self._value) @@ -3607,8 +4353,9 @@ class GroupMemberSetAccessTypeError(GroupMemberSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user_cannot_be_manager_of_company_managed_group: A company managed - group cannot be managed by a user. + :ivar + team.GroupMemberSetAccessTypeError.user_cannot_be_manager_of_company_managed_group: + A company managed group cannot be managed by a user. """ # Attribute is overwritten below the class definition @@ -3622,16 +4369,20 @@ class GroupMemberSetAccessTypeError(GroupMemberSelectorError): """ return self._tag == 'user_cannot_be_manager_of_company_managed_group' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMemberSetAccessTypeError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMemberSetAccessTypeError(%r, %r)' % (self._tag, self._value) GroupMemberSetAccessTypeError_validator = bv.Union(GroupMemberSetAccessTypeError) -class IncludeMembersArg(object): +class IncludeMembersArg(bb.Struct): """ - :ivar return_members: Whether to return the list of members in the group. - Note that the default value will cause all the group members to be - returned in the response. This may take a long time for large groups. + :ivar team.IncludeMembersArg.return_members: Whether to return the list of + members in the group. Note that the default value will cause all the + group members to be returned in the response. This may take a long time + for large groups. """ __slots__ = [ @@ -3673,6 +4424,9 @@ class IncludeMembersArg(object): self._return_members_value = None self._return_members_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IncludeMembersArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'IncludeMembersArg(return_members={!r})'.format( self._return_members_value, @@ -3682,8 +4436,9 @@ IncludeMembersArg_validator = bv.Struct(IncludeMembersArg) class GroupMembersAddArg(IncludeMembersArg): """ - :ivar group: Group to which users will be added. - :ivar members: List of users to be added to the group. + :ivar team.GroupMembersAddArg.group: Group to which users will be added. + :ivar team.GroupMembersAddArg.members: List of users to be added to the + group. """ __slots__ = [ @@ -3755,6 +4510,9 @@ class GroupMembersAddArg(IncludeMembersArg): self._members_value = None self._members_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersAddArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersAddArg(group={!r}, members={!r}, return_members={!r})'.format( self._group_value, @@ -3770,20 +4528,23 @@ class GroupMembersAddError(GroupSelectorWithTeamGroupError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar duplicate_user: You cannot add duplicate users. One or more of the - members you are trying to add is already a member of the group. - :ivar group_not_in_team: Group is not in this team. You cannot add members - to a group that is outside of your team. - :ivar list of [str] members_not_in_team: These members are not part of your - team. Currently, you cannot add members to a group if they are not part - of your team, though this may change in a subsequent version. To add new - members to your Dropbox Business team, use the :route:`members/add` - endpoint. - :ivar list of [str] users_not_found: These users were not found in Dropbox. - :ivar user_must_be_active_to_be_owner: A suspended user cannot be added to a - group as ``GroupAccessType.owner``. - :ivar list of [str] user_cannot_be_manager_of_company_managed_group: A - company-managed group cannot be managed by a user. + :ivar team.GroupMembersAddError.duplicate_user: You cannot add duplicate + users. One or more of the members you are trying to add is already a + member of the group. + :ivar team.GroupMembersAddError.group_not_in_team: Group is not in this + team. You cannot add members to a group that is outside of your team. + :ivar list of [str] team.GroupMembersAddError.members_not_in_team: These + members are not part of your team. Currently, you cannot add members to + a group if they are not part of your team, though this may change in a + subsequent version. To add new members to your Dropbox Business team, + use the :route:`members/add` endpoint. + :ivar list of [str] team.GroupMembersAddError.users_not_found: These users + were not found in Dropbox. + :ivar team.GroupMembersAddError.user_must_be_active_to_be_owner: A suspended + user cannot be added to a group as ``GroupAccessType.owner``. + :ivar list of [str] + team.GroupMembersAddError.user_cannot_be_manager_of_company_managed_group: + A company-managed group cannot be managed by a user. """ # Attribute is overwritten below the class definition @@ -3915,20 +4676,23 @@ class GroupMembersAddError(GroupSelectorWithTeamGroupError): raise AttributeError("tag 'user_cannot_be_manager_of_company_managed_group' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersAddError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersAddError(%r, %r)' % (self._tag, self._value) GroupMembersAddError_validator = bv.Union(GroupMembersAddError) -class GroupMembersChangeResult(object): +class GroupMembersChangeResult(bb.Struct): """ Result returned by :meth:`dropbox.dropbox.Dropbox.team_groups_members_add` and :meth:`dropbox.dropbox.Dropbox.team_groups_members_remove`. - :ivar group_info: The group info after member change operation has been - performed. - :ivar async_job_id: An ID that can be used to obtain the status of - granting/revoking group-owned resources. + :ivar team.GroupMembersChangeResult.group_info: The group info after member + change operation has been performed. + :ivar team.GroupMembersChangeResult.async_job_id: An ID that can be used to + obtain the status of granting/revoking group-owned resources. """ __slots__ = [ @@ -3999,6 +4763,9 @@ class GroupMembersChangeResult(object): self._async_job_id_value = None self._async_job_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersChangeResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersChangeResult(group_info={!r}, async_job_id={!r})'.format( self._group_info_value, @@ -4009,8 +4776,10 @@ GroupMembersChangeResult_validator = bv.Struct(GroupMembersChangeResult) class GroupMembersRemoveArg(IncludeMembersArg): """ - :ivar group: Group from which users will be removed. - :ivar users: List of users to be removed from the group. + :ivar team.GroupMembersRemoveArg.group: Group from which users will be + removed. + :ivar team.GroupMembersRemoveArg.users: List of users to be removed from the + group. """ __slots__ = [ @@ -4082,6 +4851,9 @@ class GroupMembersRemoveArg(IncludeMembersArg): self._users_value = None self._users_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersRemoveArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersRemoveArg(group={!r}, users={!r}, return_members={!r})'.format( self._group_value, @@ -4100,8 +4872,8 @@ class GroupMembersSelectorError(GroupSelectorWithTeamGroupError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar member_not_in_group: At least one of the specified users is not a - member of the group. + :ivar team.GroupMembersSelectorError.member_not_in_group: At least one of + the specified users is not a member of the group. """ # Attribute is overwritten below the class definition @@ -4115,6 +4887,9 @@ class GroupMembersSelectorError(GroupSelectorWithTeamGroupError): """ return self._tag == 'member_not_in_group' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersSelectorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersSelectorError(%r, %r)' % (self._tag, self._value) @@ -4126,11 +4901,13 @@ class GroupMembersRemoveError(GroupMembersSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar group_not_in_team: Group is not in this team. You cannot remove - members from a group that is outside of your team. - :ivar list of [str] members_not_in_team: These members are not part of your + :ivar team.GroupMembersRemoveError.group_not_in_team: Group is not in this + team. You cannot remove members from a group that is outside of your team. - :ivar list of [str] users_not_found: These users were not found in Dropbox. + :ivar list of [str] team.GroupMembersRemoveError.members_not_in_team: These + members are not part of your team. + :ivar list of [str] team.GroupMembersRemoveError.users_not_found: These + users were not found in Dropbox. """ # Attribute is overwritten below the class definition @@ -4206,17 +4983,21 @@ class GroupMembersRemoveError(GroupMembersSelectorError): raise AttributeError("tag 'users_not_found' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersRemoveError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersRemoveError(%r, %r)' % (self._tag, self._value) GroupMembersRemoveError_validator = bv.Union(GroupMembersRemoveError) -class GroupMembersSelector(object): +class GroupMembersSelector(bb.Struct): """ Argument for selecting a group and a list of users. - :ivar group: Specify a group. - :ivar users: A list of users that are members of ``group``. + :ivar team.GroupMembersSelector.group: Specify a group. + :ivar team.GroupMembersSelector.users: A list of users that are members of + ``group``. """ __slots__ = [ @@ -4286,6 +5067,9 @@ class GroupMembersSelector(object): self._users_value = None self._users_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersSelector, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersSelector(group={!r}, users={!r})'.format( self._group_value, @@ -4296,10 +5080,12 @@ GroupMembersSelector_validator = bv.Struct(GroupMembersSelector) class GroupMembersSetAccessTypeArg(GroupMemberSelector): """ - :ivar access_type: New group access type the user will have. - :ivar return_members: Whether to return the list of members in the group. - Note that the default value will cause all the group members to be - returned in the response. This may take a long time for large groups. + :ivar team.GroupMembersSetAccessTypeArg.access_type: New group access type + the user will have. + :ivar team.GroupMembersSetAccessTypeArg.return_members: Whether to return + the list of members in the group. Note that the default value will + cause all the group members to be returned in the response. This may + take a long time for large groups. """ __slots__ = [ @@ -4375,6 +5161,9 @@ class GroupMembersSetAccessTypeArg(GroupMemberSelector): self._return_members_value = None self._return_members_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMembersSetAccessTypeArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMembersSetAccessTypeArg(group={!r}, user={!r}, access_type={!r}, return_members={!r})'.format( self._group_value, @@ -4394,8 +5183,8 @@ class GroupSelector(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str group_id: Group ID. - :ivar str group_external_id: External ID of the group. + :ivar str team.GroupSelector.group_id: Group ID. + :ivar str team.GroupSelector.group_external_id: External ID of the group. """ _catch_all = None @@ -4462,6 +5251,9 @@ class GroupSelector(bb.Union): raise AttributeError("tag 'group_external_id' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupSelector, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupSelector(%r, %r)' % (self._tag, self._value) @@ -4469,12 +5261,15 @@ GroupSelector_validator = bv.Union(GroupSelector) class GroupUpdateArgs(IncludeMembersArg): """ - :ivar group: Specify a group. - :ivar new_group_name: Optional argument. Set group name to this if provided. - :ivar new_group_external_id: Optional argument. New group external ID. If - the argument is None, the group's external_id won't be updated. If the - argument is empty string, the group's external id will be cleared. - :ivar new_group_management_type: Set new group management type, if provided. + :ivar team.GroupUpdateArgs.group: Specify a group. + :ivar team.GroupUpdateArgs.new_group_name: Optional argument. Set group name + to this if provided. + :ivar team.GroupUpdateArgs.new_group_external_id: Optional argument. New + group external ID. If the argument is None, the group's external_id + won't be updated. If the argument is empty string, the group's external + id will be cleared. + :ivar team.GroupUpdateArgs.new_group_management_type: Set new group + management type, if provided. """ __slots__ = [ @@ -4596,7 +5391,7 @@ class GroupUpdateArgs(IncludeMembersArg): """ Set new group management type, if provided. - :rtype: team_common.GroupManagementType_validator + :rtype: team_common.GroupManagementType """ if self._new_group_management_type_present: return self._new_group_management_type_value @@ -4617,6 +5412,9 @@ class GroupUpdateArgs(IncludeMembersArg): self._new_group_management_type_value = None self._new_group_management_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupUpdateArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupUpdateArgs(group={!r}, return_members={!r}, new_group_name={!r}, new_group_external_id={!r}, new_group_management_type={!r})'.format( self._group_value, @@ -4634,11 +5432,12 @@ class GroupUpdateError(GroupSelectorWithTeamGroupError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar group_name_already_used: The requested group name is already being - used by another group. - :ivar group_name_invalid: Group name is empty or has invalid characters. - :ivar external_id_already_in_use: The requested external ID is already being - used by another group. + :ivar team.GroupUpdateError.group_name_already_used: The requested group + name is already being used by another group. + :ivar team.GroupUpdateError.group_name_invalid: Group name is empty or has + invalid characters. + :ivar team.GroupUpdateError.external_id_already_in_use: The requested + external ID is already being used by another group. """ # Attribute is overwritten below the class definition @@ -4672,6 +5471,9 @@ class GroupUpdateError(GroupSelectorWithTeamGroupError): """ return self._tag == 'external_id_already_in_use' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupUpdateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupUpdateError(%r, %r)' % (self._tag, self._value) @@ -4683,7 +5485,8 @@ class GroupsGetInfoError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar group_not_on_team: The group is not on your team. + :ivar team.GroupsGetInfoError.group_not_on_team: The group is not on your + team. """ _catch_all = 'other' @@ -4708,6 +5511,9 @@ class GroupsGetInfoError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsGetInfoError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsGetInfoError(%r, %r)' % (self._tag, self._value) @@ -4719,11 +5525,11 @@ class GroupsGetInfoItem(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str id_not_found: An ID that was provided as a parameter to - :route:`groups/get_info`, and did not match a corresponding group. The - ID can be a group ID, or an external ID, depending on how the method was - called. - :ivar GroupFullInfo group_info: Info about a group. + :ivar str team.GroupsGetInfoItem.id_not_found: An ID that was provided as a + parameter to :route:`groups/get_info`, and did not match a corresponding + group. The ID can be a group ID, or an external ID, depending on how the + method was called. + :ivar GroupFullInfo GroupsGetInfoItem.group_info: Info about a group. """ _catch_all = None @@ -4793,14 +5599,17 @@ class GroupsGetInfoItem(bb.Union): raise AttributeError("tag 'group_info' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsGetInfoItem, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsGetInfoItem(%r, %r)' % (self._tag, self._value) GroupsGetInfoItem_validator = bv.Union(GroupsGetInfoItem) -class GroupsListArg(object): +class GroupsListArg(bb.Struct): """ - :ivar limit: Number of results to return per call. + :ivar team.GroupsListArg.limit: Number of results to return per call. """ __slots__ = [ @@ -4822,7 +5631,7 @@ class GroupsListArg(object): """ Number of results to return per call. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -4840,6 +5649,9 @@ class GroupsListArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsListArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsListArg(limit={!r})'.format( self._limit_value, @@ -4847,9 +5659,10 @@ class GroupsListArg(object): GroupsListArg_validator = bv.Struct(GroupsListArg) -class GroupsListContinueArg(object): +class GroupsListContinueArg(bb.Struct): """ - :ivar cursor: Indicates from what point to get the next set of groups. + :ivar team.GroupsListContinueArg.cursor: Indicates from what point to get + the next set of groups. """ __slots__ = [ @@ -4889,6 +5702,9 @@ class GroupsListContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsListContinueArg(cursor={!r})'.format( self._cursor_value, @@ -4902,7 +5718,7 @@ class GroupsListContinueError(bb.Union): 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. + :ivar team.GroupsListContinueError.invalid_cursor: The cursor is invalid. """ _catch_all = 'other' @@ -4927,18 +5743,21 @@ class GroupsListContinueError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsListContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsListContinueError(%r, %r)' % (self._tag, self._value) GroupsListContinueError_validator = bv.Union(GroupsListContinueError) -class GroupsListResult(object): +class GroupsListResult(bb.Struct): """ - :ivar cursor: Pass the cursor into + :ivar team.GroupsListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_groups_list_continue` to obtain the additional groups. - :ivar has_more: Is true if there are additional groups that have not been - returned yet. An additional call to + :ivar team.GroupsListResult.has_more: Is true if there are additional groups + that have not been returned yet. An additional call to :meth:`dropbox.dropbox.Dropbox.team_groups_list_continue` can retrieve them. """ @@ -4974,7 +5793,7 @@ class GroupsListResult(object): @property def groups(self): """ - :rtype: list of [team_common.GroupSummary_validator] + :rtype: list of [team_common.GroupSummary] """ if self._groups_present: return self._groups_value @@ -5043,6 +5862,9 @@ class GroupsListResult(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsListResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsListResult(groups={!r}, cursor={!r}, has_more={!r})'.format( self._groups_value, @@ -5052,10 +5874,11 @@ class GroupsListResult(object): GroupsListResult_validator = bv.Struct(GroupsListResult) -class GroupsMembersListArg(object): +class GroupsMembersListArg(bb.Struct): """ - :ivar group: The group whose members are to be listed. - :ivar limit: Number of results to return per call. + :ivar team.GroupsMembersListArg.group: The group whose members are to be + listed. + :ivar team.GroupsMembersListArg.limit: Number of results to return per call. """ __slots__ = [ @@ -5107,7 +5930,7 @@ class GroupsMembersListArg(object): """ Number of results to return per call. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -5125,6 +5948,9 @@ class GroupsMembersListArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsMembersListArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsMembersListArg(group={!r}, limit={!r})'.format( self._group_value, @@ -5133,9 +5959,10 @@ class GroupsMembersListArg(object): GroupsMembersListArg_validator = bv.Struct(GroupsMembersListArg) -class GroupsMembersListContinueArg(object): +class GroupsMembersListContinueArg(bb.Struct): """ - :ivar cursor: Indicates from what point to get the next set of groups. + :ivar team.GroupsMembersListContinueArg.cursor: Indicates from what point to + get the next set of groups. """ __slots__ = [ @@ -5175,6 +6002,9 @@ class GroupsMembersListContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsMembersListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsMembersListContinueArg(cursor={!r})'.format( self._cursor_value, @@ -5188,7 +6018,8 @@ class GroupsMembersListContinueError(bb.Union): 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. + :ivar team.GroupsMembersListContinueError.invalid_cursor: The cursor is + invalid. """ _catch_all = 'other' @@ -5213,18 +6044,21 @@ class GroupsMembersListContinueError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsMembersListContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsMembersListContinueError(%r, %r)' % (self._tag, self._value) GroupsMembersListContinueError_validator = bv.Union(GroupsMembersListContinueError) -class GroupsMembersListResult(object): +class GroupsMembersListResult(bb.Struct): """ - :ivar cursor: Pass the cursor into + :ivar team.GroupsMembersListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_groups_members_list_continue` to obtain additional group members. - :ivar has_more: Is true if there are additional group members that have not - been returned yet. An additional call to + :ivar team.GroupsMembersListResult.has_more: Is true if there are additional + group members that have not been returned yet. An additional call to :meth:`dropbox.dropbox.Dropbox.team_groups_members_list_continue` can retrieve them. """ @@ -5329,6 +6163,9 @@ class GroupsMembersListResult(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsMembersListResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsMembersListResult(members={!r}, cursor={!r}, has_more={!r})'.format( self._members_value, @@ -5338,13 +6175,14 @@ class GroupsMembersListResult(object): GroupsMembersListResult_validator = bv.Struct(GroupsMembersListResult) -class GroupsPollError(async.PollError): +class GroupsPollError(async_.PollError): """ 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 access_denied: You are not allowed to poll this job. + :ivar team.GroupsPollError.access_denied: You are not allowed to poll this + job. """ # Attribute is overwritten below the class definition @@ -5358,6 +6196,9 @@ class GroupsPollError(async.PollError): """ return self._tag == 'access_denied' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsPollError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsPollError(%r, %r)' % (self._tag, self._value) @@ -5372,8 +6213,9 @@ class GroupsSelector(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar list of [str] group_ids: List of group IDs. - :ivar list of [str] group_external_ids: List of external IDs of groups. + :ivar list of [str] team.GroupsSelector.group_ids: List of group IDs. + :ivar list of [str] team.GroupsSelector.group_external_ids: List of external + IDs of groups. """ _catch_all = None @@ -5440,11 +6282,140 @@ class GroupsSelector(bb.Union): raise AttributeError("tag 'group_external_ids' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupsSelector, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupsSelector(%r, %r)' % (self._tag, self._value) GroupsSelector_validator = bv.Union(GroupsSelector) +class HasTeamFileEventsValue(bb.Union): + """ + The value for ``Feature.has_team_file_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 bool team.HasTeamFileEventsValue.enabled: Does this team have file + events. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def enabled(cls, val): + """ + Create an instance of this class set to the ``enabled`` tag with value + ``val``. + + :param bool val: + :rtype: HasTeamFileEventsValue + """ + return cls('enabled', val) + + 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 get_enabled(self): + """ + Does this team have file events. + + Only call this if :meth:`is_enabled` is true. + + :rtype: bool + """ + if not self.is_enabled(): + raise AttributeError("tag 'enabled' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(HasTeamFileEventsValue, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'HasTeamFileEventsValue(%r, %r)' % (self._tag, self._value) + +HasTeamFileEventsValue_validator = bv.Union(HasTeamFileEventsValue) + +class HasTeamSelectiveSyncValue(bb.Union): + """ + The value for ``Feature.has_team_selective_sync``. + + 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 bool team.HasTeamSelectiveSyncValue.has_team_selective_sync: Does this + team have team selective sync enabled. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def has_team_selective_sync(cls, val): + """ + Create an instance of this class set to the ``has_team_selective_sync`` + tag with value ``val``. + + :param bool val: + :rtype: HasTeamSelectiveSyncValue + """ + return cls('has_team_selective_sync', val) + + def is_has_team_selective_sync(self): + """ + Check if the union tag is ``has_team_selective_sync``. + + :rtype: bool + """ + return self._tag == 'has_team_selective_sync' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_has_team_selective_sync(self): + """ + Does this team have team selective sync enabled. + + Only call this if :meth:`is_has_team_selective_sync` is true. + + :rtype: bool + """ + if not self.is_has_team_selective_sync(): + raise AttributeError("tag 'has_team_selective_sync' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(HasTeamSelectiveSyncValue, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'HasTeamSelectiveSyncValue(%r, %r)' % (self._tag, self._value) + +HasTeamSelectiveSyncValue_validator = bv.Union(HasTeamSelectiveSyncValue) + class HasTeamSharedDropboxValue(bb.Union): """ The value for ``Feature.has_team_shared_dropbox``. @@ -5453,8 +6424,8 @@ class HasTeamSharedDropboxValue(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar bool has_team_shared_dropbox: Does this team have a team shared - dropbox. + :ivar bool team.HasTeamSharedDropboxValue.has_team_shared_dropbox: Does this + team have a shared team root. """ _catch_all = 'other' @@ -5490,7 +6461,7 @@ class HasTeamSharedDropboxValue(bb.Union): def get_has_team_shared_dropbox(self): """ - Does this team have a team shared dropbox. + Does this team have a shared team root. Only call this if :meth:`is_has_team_shared_dropbox` is true. @@ -5500,14 +6471,17 @@ class HasTeamSharedDropboxValue(bb.Union): raise AttributeError("tag 'has_team_shared_dropbox' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(HasTeamSharedDropboxValue, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'HasTeamSharedDropboxValue(%r, %r)' % (self._tag, self._value) HasTeamSharedDropboxValue_validator = bv.Union(HasTeamSharedDropboxValue) -class ListMemberAppsArg(object): +class ListMemberAppsArg(bb.Struct): """ - :ivar team_member_id: The team member id. + :ivar team.ListMemberAppsArg.team_member_id: The team member id. """ __slots__ = [ @@ -5547,6 +6521,9 @@ class ListMemberAppsArg(object): self._team_member_id_value = None self._team_member_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMemberAppsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMemberAppsArg(team_member_id={!r})'.format( self._team_member_id_value, @@ -5563,7 +6540,7 @@ class ListMemberAppsError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar member_not_found: Member not found. + :ivar team.ListMemberAppsError.member_not_found: Member not found. """ _catch_all = 'other' @@ -5588,15 +6565,18 @@ class ListMemberAppsError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMemberAppsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMemberAppsError(%r, %r)' % (self._tag, self._value) ListMemberAppsError_validator = bv.Union(ListMemberAppsError) -class ListMemberAppsResult(object): +class ListMemberAppsResult(bb.Struct): """ - :ivar linked_api_apps: List of third party applications linked by this team - member. + :ivar team.ListMemberAppsResult.linked_api_apps: List of third party + applications linked by this team member. """ __slots__ = [ @@ -5636,6 +6616,9 @@ class ListMemberAppsResult(object): self._linked_api_apps_value = None self._linked_api_apps_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMemberAppsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMemberAppsResult(linked_api_apps={!r})'.format( self._linked_api_apps_value, @@ -5643,15 +6626,15 @@ class ListMemberAppsResult(object): ListMemberAppsResult_validator = bv.Struct(ListMemberAppsResult) -class ListMemberDevicesArg(object): +class ListMemberDevicesArg(bb.Struct): """ - :ivar team_member_id: The team's member id. - :ivar include_web_sessions: Whether to list web sessions of the team's - member. - :ivar include_desktop_clients: Whether to list linked desktop devices of the - team's member. - :ivar include_mobile_clients: Whether to list linked mobile devices of the - team's member. + :ivar team.ListMemberDevicesArg.team_member_id: The team's member id. + :ivar team.ListMemberDevicesArg.include_web_sessions: Whether to list web + sessions of the team's member. + :ivar team.ListMemberDevicesArg.include_desktop_clients: Whether to list + linked desktop devices of the team's member. + :ivar team.ListMemberDevicesArg.include_mobile_clients: Whether to list + linked mobile devices of the team's member. """ __slots__ = [ @@ -5781,6 +6764,9 @@ class ListMemberDevicesArg(object): self._include_mobile_clients_value = None self._include_mobile_clients_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMemberDevicesArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMemberDevicesArg(team_member_id={!r}, include_web_sessions={!r}, include_desktop_clients={!r}, include_mobile_clients={!r})'.format( self._team_member_id_value, @@ -5797,7 +6783,7 @@ class ListMemberDevicesError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar member_not_found: Member not found. + :ivar team.ListMemberDevicesError.member_not_found: Member not found. """ _catch_all = 'other' @@ -5822,18 +6808,22 @@ class ListMemberDevicesError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMemberDevicesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMemberDevicesError(%r, %r)' % (self._tag, self._value) ListMemberDevicesError_validator = bv.Union(ListMemberDevicesError) -class ListMemberDevicesResult(object): +class ListMemberDevicesResult(bb.Struct): """ - :ivar active_web_sessions: List of web sessions made by this team member. - :ivar desktop_client_sessions: List of desktop clients used by this team - member. - :ivar mobile_client_sessions: List of mobile client used by this team - member. + :ivar team.ListMemberDevicesResult.active_web_sessions: List of web sessions + made by this team member. + :ivar team.ListMemberDevicesResult.desktop_client_sessions: List of desktop + clients used by this team member. + :ivar team.ListMemberDevicesResult.mobile_client_sessions: List of mobile + client used by this team member. """ __slots__ = [ @@ -5942,6 +6932,9 @@ class ListMemberDevicesResult(object): self._mobile_client_sessions_value = None self._mobile_client_sessions_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMemberDevicesResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMemberDevicesResult(active_web_sessions={!r}, desktop_client_sessions={!r}, mobile_client_sessions={!r})'.format( self._active_web_sessions_value, @@ -5951,12 +6944,12 @@ class ListMemberDevicesResult(object): ListMemberDevicesResult_validator = bv.Struct(ListMemberDevicesResult) -class ListMembersAppsArg(object): +class ListMembersAppsArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps`. - :ivar cursor: At the first call to the + :ivar team.ListMembersAppsArg.cursor: At the first call to the :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps` the cursor shouldn't be passed. Then, if the result of the call includes a cursor, the following requests should include the received cursors in @@ -6007,6 +7000,9 @@ class ListMembersAppsArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMembersAppsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMembersAppsArg(cursor={!r})'.format( self._cursor_value, @@ -6023,7 +7019,8 @@ class ListMembersAppsError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar reset: Indicates that the cursor has been invalidated. Call + :ivar team.ListMembersAppsError.reset: Indicates that the cursor has been + invalidated. Call :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps` again with an empty cursor to obtain a new cursor. """ @@ -6050,22 +7047,26 @@ class ListMembersAppsError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMembersAppsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMembersAppsError(%r, %r)' % (self._tag, self._value) ListMembersAppsError_validator = bv.Union(ListMembersAppsError) -class ListMembersAppsResult(object): +class ListMembersAppsResult(bb.Struct): """ Information returned by :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps`. - :ivar apps: The linked applications of each member of the team. - :ivar has_more: If true, then there are more apps available. Pass the cursor - to + :ivar team.ListMembersAppsResult.apps: The linked applications of each + member of the team. + :ivar team.ListMembersAppsResult.has_more: If true, then there are more apps + available. Pass the cursor to :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps` to retrieve the rest. - :ivar cursor: Pass the cursor into + :ivar team.ListMembersAppsResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps` to receive the next sub list of team's applications. """ @@ -6174,6 +7175,9 @@ class ListMembersAppsResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMembersAppsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMembersAppsResult(apps={!r}, has_more={!r}, cursor={!r})'.format( self._apps_value, @@ -6183,19 +7187,19 @@ class ListMembersAppsResult(object): ListMembersAppsResult_validator = bv.Struct(ListMembersAppsResult) -class ListMembersDevicesArg(object): +class ListMembersDevicesArg(bb.Struct): """ - :ivar cursor: At the first call to the + :ivar team.ListMembersDevicesArg.cursor: At the first call to the :meth:`dropbox.dropbox.Dropbox.team_devices_list_members_devices` the cursor shouldn't be passed. Then, if the result of the call includes a cursor, the following requests should include the received cursors in order to receive the next sub list of team devices. - :ivar include_web_sessions: Whether to list web sessions of the team - members. - :ivar include_desktop_clients: Whether to list desktop clients of the team - members. - :ivar include_mobile_clients: Whether to list mobile clients of the team - members. + :ivar team.ListMembersDevicesArg.include_web_sessions: Whether to list web + sessions of the team members. + :ivar team.ListMembersDevicesArg.include_desktop_clients: Whether to list + desktop clients of the team members. + :ivar team.ListMembersDevicesArg.include_mobile_clients: Whether to list + mobile clients of the team members. """ __slots__ = [ @@ -6332,6 +7336,9 @@ class ListMembersDevicesArg(object): self._include_mobile_clients_value = None self._include_mobile_clients_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMembersDevicesArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMembersDevicesArg(cursor={!r}, include_web_sessions={!r}, include_desktop_clients={!r}, include_mobile_clients={!r})'.format( self._cursor_value, @@ -6348,7 +7355,8 @@ class ListMembersDevicesError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar reset: Indicates that the cursor has been invalidated. Call + :ivar team.ListMembersDevicesError.reset: Indicates that the cursor has been + invalidated. Call :meth:`dropbox.dropbox.Dropbox.team_devices_list_members_devices` again with an empty cursor to obtain a new cursor. """ @@ -6375,19 +7383,23 @@ class ListMembersDevicesError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMembersDevicesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMembersDevicesError(%r, %r)' % (self._tag, self._value) ListMembersDevicesError_validator = bv.Union(ListMembersDevicesError) -class ListMembersDevicesResult(object): +class ListMembersDevicesResult(bb.Struct): """ - :ivar devices: The devices of each member of the team. - :ivar has_more: If true, then there are more devices available. Pass the - cursor to + :ivar team.ListMembersDevicesResult.devices: The devices of each member of + the team. + :ivar team.ListMembersDevicesResult.has_more: If true, then there are more + devices available. Pass the cursor to :meth:`dropbox.dropbox.Dropbox.team_devices_list_members_devices` to retrieve the rest. - :ivar cursor: Pass the cursor into + :ivar team.ListMembersDevicesResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_devices_list_members_devices` to receive the next sub list of team's devices. """ @@ -6496,6 +7508,9 @@ class ListMembersDevicesResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListMembersDevicesResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListMembersDevicesResult(devices={!r}, has_more={!r}, cursor={!r})'.format( self._devices_value, @@ -6505,12 +7520,12 @@ class ListMembersDevicesResult(object): ListMembersDevicesResult_validator = bv.Struct(ListMembersDevicesResult) -class ListTeamAppsArg(object): +class ListTeamAppsArg(bb.Struct): """ Arguments for :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps`. - :ivar cursor: At the first call to the + :ivar team.ListTeamAppsArg.cursor: At the first call to the :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps` the cursor shouldn't be passed. Then, if the result of the call includes a cursor, the following requests should include the received cursors in @@ -6561,6 +7576,9 @@ class ListTeamAppsArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListTeamAppsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListTeamAppsArg(cursor={!r})'.format( self._cursor_value, @@ -6577,7 +7595,8 @@ class ListTeamAppsError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar reset: Indicates that the cursor has been invalidated. Call + :ivar team.ListTeamAppsError.reset: Indicates that the cursor has been + invalidated. Call :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps` again with an empty cursor to obtain a new cursor. """ @@ -6604,22 +7623,26 @@ class ListTeamAppsError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListTeamAppsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListTeamAppsError(%r, %r)' % (self._tag, self._value) ListTeamAppsError_validator = bv.Union(ListTeamAppsError) -class ListTeamAppsResult(object): +class ListTeamAppsResult(bb.Struct): """ Information returned by :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps`. - :ivar apps: The linked applications of each member of the team. - :ivar has_more: If true, then there are more apps available. Pass the cursor - to + :ivar team.ListTeamAppsResult.apps: The linked applications of each member + of the team. + :ivar team.ListTeamAppsResult.has_more: If true, then there are more apps + available. Pass the cursor to :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps` to retrieve the rest. - :ivar cursor: Pass the cursor into + :ivar team.ListTeamAppsResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps` to receive the next sub list of team's applications. """ @@ -6728,6 +7751,9 @@ class ListTeamAppsResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListTeamAppsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListTeamAppsResult(apps={!r}, has_more={!r}, cursor={!r})'.format( self._apps_value, @@ -6737,19 +7763,19 @@ class ListTeamAppsResult(object): ListTeamAppsResult_validator = bv.Struct(ListTeamAppsResult) -class ListTeamDevicesArg(object): +class ListTeamDevicesArg(bb.Struct): """ - :ivar cursor: At the first call to the + :ivar team.ListTeamDevicesArg.cursor: At the first call to the :meth:`dropbox.dropbox.Dropbox.team_devices_list_team_devices` the cursor shouldn't be passed. Then, if the result of the call includes a cursor, the following requests should include the received cursors in order to receive the next sub list of team devices. - :ivar include_web_sessions: Whether to list web sessions of the team - members. - :ivar include_desktop_clients: Whether to list desktop clients of the team - members. - :ivar include_mobile_clients: Whether to list mobile clients of the team - members. + :ivar team.ListTeamDevicesArg.include_web_sessions: Whether to list web + sessions of the team members. + :ivar team.ListTeamDevicesArg.include_desktop_clients: Whether to list + desktop clients of the team members. + :ivar team.ListTeamDevicesArg.include_mobile_clients: Whether to list mobile + clients of the team members. """ __slots__ = [ @@ -6886,6 +7912,9 @@ class ListTeamDevicesArg(object): self._include_mobile_clients_value = None self._include_mobile_clients_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListTeamDevicesArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListTeamDevicesArg(cursor={!r}, include_web_sessions={!r}, include_desktop_clients={!r}, include_mobile_clients={!r})'.format( self._cursor_value, @@ -6902,7 +7931,8 @@ class ListTeamDevicesError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar reset: Indicates that the cursor has been invalidated. Call + :ivar team.ListTeamDevicesError.reset: Indicates that the cursor has been + invalidated. Call :meth:`dropbox.dropbox.Dropbox.team_devices_list_team_devices` again with an empty cursor to obtain a new cursor. """ @@ -6929,18 +7959,23 @@ class ListTeamDevicesError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListTeamDevicesError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListTeamDevicesError(%r, %r)' % (self._tag, self._value) ListTeamDevicesError_validator = bv.Union(ListTeamDevicesError) -class ListTeamDevicesResult(object): +class ListTeamDevicesResult(bb.Struct): """ - :ivar devices: The devices of each member of the team. - :ivar has_more: If true, then there are more devices available. Pass the - cursor to :meth:`dropbox.dropbox.Dropbox.team_devices_list_team_devices` - to retrieve the rest. - :ivar cursor: Pass the cursor into + :ivar team.ListTeamDevicesResult.devices: The devices of each member of the + team. + :ivar team.ListTeamDevicesResult.has_more: If true, then there are more + devices available. Pass the cursor to + :meth:`dropbox.dropbox.Dropbox.team_devices_list_team_devices` to + retrieve the rest. + :ivar team.ListTeamDevicesResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_devices_list_team_devices` to receive the next sub list of team's devices. """ @@ -7049,6 +8084,9 @@ class ListTeamDevicesResult(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ListTeamDevicesResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ListTeamDevicesResult(devices={!r}, has_more={!r}, cursor={!r})'.format( self._devices_value, @@ -7058,12 +8096,12 @@ class ListTeamDevicesResult(object): ListTeamDevicesResult_validator = bv.Struct(ListTeamDevicesResult) -class MemberAccess(object): +class MemberAccess(bb.Struct): """ Specify access type a member should have when joined to a group. - :ivar user: Identity of a user. - :ivar access_type: Access type. + :ivar team.MemberAccess.user: Identity of a user. + :ivar team.MemberAccess.access_type: Access type. """ __slots__ = [ @@ -7133,6 +8171,9 @@ class MemberAccess(object): self._access_type_value = None self._access_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAccess, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberAccess(user={!r}, access_type={!r})'.format( self._user_value, @@ -7141,17 +8182,19 @@ class MemberAccess(object): MemberAccess_validator = bv.Struct(MemberAccess) -class MemberAddArg(object): +class MemberAddArg(bb.Struct): """ - :ivar member_given_name: Member's first name. - :ivar member_surname: Member's last name. - :ivar member_external_id: External ID for member. - :ivar member_persistent_id: Persistent ID for member. This field is only - available to teams using persistent ID SAML configuration. - :ivar send_welcome_email: Whether to send a welcome email to the member. If - send_welcome_email is false, no email invitation will be sent to the - user. This may be useful for apps using single sign-on (SSO) flows for - onboarding that want to handle announcements themselves. + :ivar team.MemberAddArg.member_given_name: Member's first name. + :ivar team.MemberAddArg.member_surname: Member's last name. + :ivar team.MemberAddArg.member_external_id: External ID for member. + :ivar team.MemberAddArg.member_persistent_id: Persistent ID for member. This + field is only available to teams using persistent ID SAML configuration. + :ivar team.MemberAddArg.send_welcome_email: Whether to send a welcome email + to the member. If send_welcome_email is false, no email invitation will + be sent to the user. This may be useful for apps using single sign-on + (SSO) flows for onboarding that want to handle announcements themselves. + :ivar team.MemberAddArg.is_directory_restricted: Whether a user is directory + restricted. """ __slots__ = [ @@ -7169,6 +8212,8 @@ class MemberAddArg(object): '_send_welcome_email_present', '_role_value', '_role_present', + '_is_directory_restricted_value', + '_is_directory_restricted_present', ] _has_required_fields = True @@ -7180,7 +8225,8 @@ class MemberAddArg(object): member_external_id=None, member_persistent_id=None, send_welcome_email=None, - role=None): + role=None, + is_directory_restricted=None): self._member_email_value = None self._member_email_present = False self._member_given_name_value = None @@ -7195,6 +8241,8 @@ class MemberAddArg(object): self._send_welcome_email_present = False self._role_value = None self._role_present = False + self._is_directory_restricted_value = None + self._is_directory_restricted_present = False if member_email is not None: self.member_email = member_email if member_given_name is not None: @@ -7209,6 +8257,8 @@ class MemberAddArg(object): self.send_welcome_email = send_welcome_email if role is not None: self.role = role + if is_directory_restricted is not None: + self.is_directory_restricted = is_directory_restricted @property def member_email(self): @@ -7383,8 +8433,37 @@ class MemberAddArg(object): self._role_value = None self._role_present = False + @property + def is_directory_restricted(self): + """ + Whether a user is directory restricted. + + :rtype: bool + """ + if self._is_directory_restricted_present: + return self._is_directory_restricted_value + else: + return None + + @is_directory_restricted.setter + def is_directory_restricted(self, val): + if val is None: + del self.is_directory_restricted + return + val = self._is_directory_restricted_validator.validate(val) + self._is_directory_restricted_value = val + self._is_directory_restricted_present = True + + @is_directory_restricted.deleter + def is_directory_restricted(self): + self._is_directory_restricted_value = None + self._is_directory_restricted_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAddArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'MemberAddArg(member_email={!r}, member_given_name={!r}, member_surname={!r}, member_external_id={!r}, member_persistent_id={!r}, send_welcome_email={!r}, role={!r})'.format( + return 'MemberAddArg(member_email={!r}, member_given_name={!r}, member_surname={!r}, member_external_id={!r}, member_persistent_id={!r}, send_welcome_email={!r}, role={!r}, is_directory_restricted={!r})'.format( self._member_email_value, self._member_given_name_value, self._member_surname_value, @@ -7392,6 +8471,7 @@ class MemberAddArg(object): self._member_persistent_id_value, self._send_welcome_email_value, self._role_value, + self._is_directory_restricted_value, ) MemberAddArg_validator = bv.Struct(MemberAddArg) @@ -7407,28 +8487,33 @@ class MemberAddResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar TeamMemberInfo success: Describes a user that was successfully added - to the team. - :ivar str team_license_limit: Team is already full. The organization has no - available licenses. - :ivar str free_team_member_limit_reached: Team is already full. The free - team member limit has been reached. - :ivar str user_already_on_team: User is already on this team. The provided - email address is associated with a user who is already a member of - (including in recoverable state) or invited to the team. - :ivar str user_on_another_team: User is already on another team. The - provided email address is associated with a user that is already a - member or invited to another team. - :ivar str user_already_paired: User is already paired. - :ivar str user_migration_failed: User migration has failed. - :ivar str duplicate_external_member_id: A user with the given external - member ID already exists on the team (including in recoverable state). - :ivar str duplicate_member_persistent_id: A user with the given persistent - ID already exists on the team (including in recoverable state). - :ivar str persistent_id_disabled: Persistent ID is only available to teams - with persistent ID SAML configuration. Please contact Dropbox for more - information. - :ivar str user_creation_failed: User creation has failed. + :ivar TeamMemberInfo MemberAddResult.success: Describes a user that was + successfully added to the team. + :ivar str team.MemberAddResult.team_license_limit: Team is already full. The + organization has no available licenses. + :ivar str team.MemberAddResult.free_team_member_limit_reached: Team is + already full. The free team member limit has been reached. + :ivar str team.MemberAddResult.user_already_on_team: User is already on this + team. The provided email address is associated with a user who is + already a member of (including in recoverable state) or invited to the + team. + :ivar str team.MemberAddResult.user_on_another_team: User is already on + another team. The provided email address is associated with a user that + is already a member or invited to another team. + :ivar str team.MemberAddResult.user_already_paired: User is already paired. + :ivar str team.MemberAddResult.user_migration_failed: User migration has + failed. + :ivar str team.MemberAddResult.duplicate_external_member_id: A user with the + given external member ID already exists on the team (including in + recoverable state). + :ivar str team.MemberAddResult.duplicate_member_persistent_id: A user with + the given persistent ID already exists on the team (including in + recoverable state). + :ivar str team.MemberAddResult.persistent_id_disabled: Persistent ID is only + available to teams with persistent ID SAML configuration. Please contact + Dropbox for more information. + :ivar str team.MemberAddResult.user_creation_failed: User creation has + failed. """ _catch_all = None @@ -7781,19 +8866,25 @@ class MemberAddResult(bb.Union): raise AttributeError("tag 'user_creation_failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAddResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberAddResult(%r, %r)' % (self._tag, self._value) MemberAddResult_validator = bv.Union(MemberAddResult) -class MemberDevices(object): +class MemberDevices(bb.Struct): """ Information on devices of a team's member. - :ivar team_member_id: The member unique Id. - :ivar web_sessions: List of web sessions made by this team member. - :ivar desktop_clients: List of desktop clients by this team member. - :ivar mobile_clients: List of mobile clients by this team member. + :ivar team.MemberDevices.team_member_id: The member unique Id. + :ivar team.MemberDevices.web_sessions: List of web sessions made by this + team member. + :ivar team.MemberDevices.desktop_clients: List of desktop clients by this + team member. + :ivar team.MemberDevices.mobile_clients: List of mobile clients by this team + member. """ __slots__ = [ @@ -7932,6 +9023,9 @@ class MemberDevices(object): self._mobile_clients_value = None self._mobile_clients_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberDevices, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberDevices(team_member_id={!r}, web_sessions={!r}, desktop_clients={!r}, mobile_clients={!r})'.format( self._team_member_id_value, @@ -7942,13 +9036,13 @@ class MemberDevices(object): MemberDevices_validator = bv.Struct(MemberDevices) -class MemberLinkedApps(object): +class MemberLinkedApps(bb.Struct): """ Information on linked applications of a team member. - :ivar team_member_id: The member unique Id. - :ivar linked_api_apps: List of third party applications linked by this team - member. + :ivar team.MemberLinkedApps.team_member_id: The member unique Id. + :ivar team.MemberLinkedApps.linked_api_apps: List of third party + applications linked by this team member. """ __slots__ = [ @@ -8018,6 +9112,9 @@ class MemberLinkedApps(object): self._linked_api_apps_value = None self._linked_api_apps_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberLinkedApps, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberLinkedApps(team_member_id={!r}, linked_api_apps={!r})'.format( self._team_member_id_value, @@ -8026,27 +9123,36 @@ class MemberLinkedApps(object): MemberLinkedApps_validator = bv.Struct(MemberLinkedApps) -class MemberProfile(object): +class MemberProfile(bb.Struct): """ Basic member profile. - :ivar team_member_id: ID of user as a member of a team. - :ivar external_id: External ID that a team can attach to the user. An - application using the API may find it easier to use their own IDs - instead of Dropbox IDs like account_id or team_member_id. - :ivar account_id: A user's account identifier. - :ivar email: Email address of user. - :ivar email_verified: Is true if the user's email is verified to be owned by - the user. - :ivar status: The user's status as a member of a specific team. - :ivar name: Representations for a person's name. - :ivar membership_type: The user's membership type: full (normal team member) - vs limited (does not use a license; no access to the team's shared - quota). - :ivar joined_on: The date and time the user joined as a member of a specific + :ivar team.MemberProfile.team_member_id: ID of user as a member of a team. + :ivar team.MemberProfile.external_id: External ID that a team can attach to + the user. An application using the API may find it easier to use their + own IDs instead of Dropbox IDs like account_id or team_member_id. + :ivar team.MemberProfile.account_id: A user's account identifier. + :ivar team.MemberProfile.email: Email address of user. + :ivar team.MemberProfile.email_verified: Is true if the user's email is + verified to be owned by the user. + :ivar team.MemberProfile.status: The user's status as a member of a specific team. - :ivar persistent_id: Persistent ID that a team can attach to the user. The - persistent ID is unique ID to be used for SAML authentication. + :ivar team.MemberProfile.name: Representations for a person's name. + :ivar team.MemberProfile.membership_type: The user's membership type: full + (normal team member) vs limited (does not use a license; no access to + the team's shared quota). + :ivar team.MemberProfile.joined_on: The date and time the user joined as a + member of a specific team. + :ivar team.MemberProfile.suspended_on: The date and time the user was + suspended from the team (contains value only when the member's status + matches ``TeamMemberStatus.suspended``. + :ivar team.MemberProfile.persistent_id: Persistent ID that a team can attach + to the user. The persistent ID is unique ID to be used for SAML + authentication. + :ivar team.MemberProfile.is_directory_restricted: Whether the user is a + directory restricted user. + :ivar team.MemberProfile.profile_photo_url: URL for the photo representing + the user, if one is set. """ __slots__ = [ @@ -8068,8 +9174,14 @@ class MemberProfile(object): '_membership_type_present', '_joined_on_value', '_joined_on_present', + '_suspended_on_value', + '_suspended_on_present', '_persistent_id_value', '_persistent_id_present', + '_is_directory_restricted_value', + '_is_directory_restricted_present', + '_profile_photo_url_value', + '_profile_photo_url_present', ] _has_required_fields = True @@ -8084,7 +9196,10 @@ class MemberProfile(object): external_id=None, account_id=None, joined_on=None, - persistent_id=None): + suspended_on=None, + persistent_id=None, + is_directory_restricted=None, + profile_photo_url=None): self._team_member_id_value = None self._team_member_id_present = False self._external_id_value = None @@ -8103,8 +9218,14 @@ class MemberProfile(object): self._membership_type_present = False self._joined_on_value = None self._joined_on_present = False + self._suspended_on_value = None + self._suspended_on_present = False self._persistent_id_value = None self._persistent_id_present = False + self._is_directory_restricted_value = None + self._is_directory_restricted_present = False + self._profile_photo_url_value = None + self._profile_photo_url_present = False if team_member_id is not None: self.team_member_id = team_member_id if external_id is not None: @@ -8123,8 +9244,14 @@ class MemberProfile(object): self.membership_type = membership_type if joined_on is not None: self.joined_on = joined_on + if suspended_on is not None: + self.suspended_on = suspended_on if persistent_id is not None: self.persistent_id = persistent_id + if is_directory_restricted is not None: + self.is_directory_restricted = is_directory_restricted + if profile_photo_url is not None: + self.profile_photo_url = profile_photo_url @property def team_member_id(self): @@ -8277,7 +9404,7 @@ class MemberProfile(object): """ Representations for a person's name. - :rtype: users.Name_validator + :rtype: users.Name """ if self._name_present: return self._name_value @@ -8345,6 +9472,33 @@ class MemberProfile(object): self._joined_on_value = None self._joined_on_present = False + @property + def suspended_on(self): + """ + The date and time the user was suspended from the team (contains value + only when the member's status matches ``TeamMemberStatus.suspended``. + + :rtype: datetime.datetime + """ + if self._suspended_on_present: + return self._suspended_on_value + else: + return None + + @suspended_on.setter + def suspended_on(self, val): + if val is None: + del self.suspended_on + return + val = self._suspended_on_validator.validate(val) + self._suspended_on_value = val + self._suspended_on_present = True + + @suspended_on.deleter + def suspended_on(self): + self._suspended_on_value = None + self._suspended_on_present = False + @property def persistent_id(self): """ @@ -8372,8 +9526,63 @@ class MemberProfile(object): self._persistent_id_value = None self._persistent_id_present = False + @property + def is_directory_restricted(self): + """ + Whether the user is a directory restricted user. + + :rtype: bool + """ + if self._is_directory_restricted_present: + return self._is_directory_restricted_value + else: + return None + + @is_directory_restricted.setter + def is_directory_restricted(self, val): + if val is None: + del self.is_directory_restricted + return + val = self._is_directory_restricted_validator.validate(val) + self._is_directory_restricted_value = val + self._is_directory_restricted_present = True + + @is_directory_restricted.deleter + def is_directory_restricted(self): + self._is_directory_restricted_value = None + self._is_directory_restricted_present = False + + @property + def profile_photo_url(self): + """ + URL for the photo representing the user, if one is set. + + :rtype: str + """ + if self._profile_photo_url_present: + return self._profile_photo_url_value + else: + return None + + @profile_photo_url.setter + def profile_photo_url(self, val): + if val is None: + del self.profile_photo_url + return + val = self._profile_photo_url_validator.validate(val) + self._profile_photo_url_value = val + self._profile_photo_url_present = True + + @profile_photo_url.deleter + def profile_photo_url(self): + self._profile_photo_url_value = None + self._profile_photo_url_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberProfile, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'MemberProfile(team_member_id={!r}, email={!r}, email_verified={!r}, status={!r}, name={!r}, membership_type={!r}, external_id={!r}, account_id={!r}, joined_on={!r}, persistent_id={!r})'.format( + return 'MemberProfile(team_member_id={!r}, email={!r}, email_verified={!r}, status={!r}, name={!r}, membership_type={!r}, external_id={!r}, account_id={!r}, joined_on={!r}, suspended_on={!r}, persistent_id={!r}, is_directory_restricted={!r}, profile_photo_url={!r})'.format( self._team_member_id_value, self._email_value, self._email_verified_value, @@ -8383,7 +9592,10 @@ class MemberProfile(object): self._external_id_value, self._account_id_value, self._joined_on_value, + self._suspended_on_value, self._persistent_id_value, + self._is_directory_restricted_value, + self._profile_photo_url_value, ) MemberProfile_validator = bv.Struct(MemberProfile) @@ -8397,8 +9609,9 @@ class UserSelectorError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user_not_found: No matching user found. The provided team_member_id, - email, or external_id does not exist on this team. + :ivar team.UserSelectorError.user_not_found: No matching user found. The + provided team_member_id, email, or external_id does not exist on this + team. """ _catch_all = None @@ -8413,6 +9626,9 @@ class UserSelectorError(bb.Union): """ return self._tag == 'user_not_found' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserSelectorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserSelectorError(%r, %r)' % (self._tag, self._value) @@ -8424,7 +9640,8 @@ class MemberSelectorError(UserSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user_not_in_team: The user is not a member of the team. + :ivar team.MemberSelectorError.user_not_in_team: The user is not a member of + the team. """ # Attribute is overwritten below the class definition @@ -8438,15 +9655,20 @@ class MemberSelectorError(UserSelectorError): """ return self._tag == 'user_not_in_team' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSelectorError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSelectorError(%r, %r)' % (self._tag, self._value) MemberSelectorError_validator = bv.Union(MemberSelectorError) -class MembersAddArg(object): +class MembersAddArg(bb.Struct): """ - :ivar new_members: Details of new members to be added to the team. - :ivar force_async: Whether to force the add to happen asynchronously. + :ivar team.MembersAddArg.new_members: Details of new members to be added to + the team. + :ivar team.MembersAddArg.force_async: Whether to force the add to happen + asynchronously. """ __slots__ = [ @@ -8516,6 +9738,9 @@ class MembersAddArg(object): self._force_async_value = None self._force_async_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersAddArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersAddArg(new_members={!r}, force_async={!r})'.format( self._new_members_value, @@ -8524,18 +9749,18 @@ class MembersAddArg(object): MembersAddArg_validator = bv.Struct(MembersAddArg) -class MembersAddJobStatus(async.PollResultBase): +class MembersAddJobStatus(async_.PollResultBase): """ 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 list of [MemberAddResult] complete: The asynchronous job has finished. - For each member that was specified in the parameter - :type:`MembersAddArg` that was provided to :route:`members/add`, a - corresponding item is returned in this list. - :ivar str failed: The asynchronous job returned an error. The string - contains an error message. + :ivar list of [MemberAddResult] team.MembersAddJobStatus.complete: The + asynchronous job has finished. For each member that was specified in the + parameter :type:`MembersAddArg` that was provided to + :route:`members/add`, a corresponding item is returned in this list. + :ivar str team.MembersAddJobStatus.failed: The asynchronous job returned an + error. The string contains an error message. """ @classmethod @@ -8604,12 +9829,15 @@ class MembersAddJobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersAddJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersAddJobStatus(%r, %r)' % (self._tag, self._value) MembersAddJobStatus_validator = bv.Union(MembersAddJobStatus) -class MembersAddLaunch(async.LaunchResultBase): +class MembersAddLaunch(async_.LaunchResultBase): """ 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 @@ -8645,46 +9873,41 @@ class MembersAddLaunch(async.LaunchResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersAddLaunch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersAddLaunch(%r, %r)' % (self._tag, self._value) MembersAddLaunch_validator = bv.Union(MembersAddLaunch) -class MembersDeactivateArg(object): +class MembersDeactivateBaseArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. - :ivar user: Identity of user to remove/suspend. - :ivar wipe_data: If provided, controls if the user's data will be deleted on - their linked devices. + :ivar team.MembersDeactivateBaseArg.user: Identity of user to + remove/suspend/have their files moved. """ __slots__ = [ '_user_value', '_user_present', - '_wipe_data_value', - '_wipe_data_present', ] _has_required_fields = True def __init__(self, - user=None, - wipe_data=None): + user=None): self._user_value = None self._user_present = False - self._wipe_data_value = None - self._wipe_data_present = False if user is not None: self.user = user - if wipe_data is not None: - self.wipe_data = wipe_data @property def user(self): """ - Identity of user to remove/suspend. + Identity of user to remove/suspend/have their files moved. :rtype: UserSelectorArg """ @@ -8704,6 +9927,127 @@ class MembersDeactivateArg(object): self._user_value = None self._user_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersDeactivateBaseArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MembersDeactivateBaseArg(user={!r})'.format( + self._user_value, + ) + +MembersDeactivateBaseArg_validator = bv.Struct(MembersDeactivateBaseArg) + +class MembersDataTransferArg(MembersDeactivateBaseArg): + """ + :ivar team.MembersDataTransferArg.transfer_dest_id: Files from the deleted + member account will be transferred to this user. + :ivar team.MembersDataTransferArg.transfer_admin_id: Errors during the + transfer process will be sent via email to this user. + """ + + __slots__ = [ + '_transfer_dest_id_value', + '_transfer_dest_id_present', + '_transfer_admin_id_value', + '_transfer_admin_id_present', + ] + + _has_required_fields = True + + def __init__(self, + user=None, + transfer_dest_id=None, + transfer_admin_id=None): + super(MembersDataTransferArg, self).__init__(user) + self._transfer_dest_id_value = None + self._transfer_dest_id_present = False + self._transfer_admin_id_value = None + self._transfer_admin_id_present = False + if transfer_dest_id is not None: + self.transfer_dest_id = transfer_dest_id + if transfer_admin_id is not None: + self.transfer_admin_id = transfer_admin_id + + @property + def transfer_dest_id(self): + """ + Files from the deleted member account will be transferred to this user. + + :rtype: UserSelectorArg + """ + if self._transfer_dest_id_present: + return self._transfer_dest_id_value + else: + raise AttributeError("missing required field 'transfer_dest_id'") + + @transfer_dest_id.setter + def transfer_dest_id(self, val): + self._transfer_dest_id_validator.validate_type_only(val) + self._transfer_dest_id_value = val + self._transfer_dest_id_present = True + + @transfer_dest_id.deleter + def transfer_dest_id(self): + self._transfer_dest_id_value = None + self._transfer_dest_id_present = False + + @property + def transfer_admin_id(self): + """ + Errors during the transfer process will be sent via email to this user. + + :rtype: UserSelectorArg + """ + if self._transfer_admin_id_present: + return self._transfer_admin_id_value + else: + raise AttributeError("missing required field 'transfer_admin_id'") + + @transfer_admin_id.setter + def transfer_admin_id(self, val): + self._transfer_admin_id_validator.validate_type_only(val) + self._transfer_admin_id_value = val + self._transfer_admin_id_present = True + + @transfer_admin_id.deleter + def transfer_admin_id(self): + self._transfer_admin_id_value = None + self._transfer_admin_id_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersDataTransferArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MembersDataTransferArg(user={!r}, transfer_dest_id={!r}, transfer_admin_id={!r})'.format( + self._user_value, + self._transfer_dest_id_value, + self._transfer_admin_id_value, + ) + +MembersDataTransferArg_validator = bv.Struct(MembersDataTransferArg) + +class MembersDeactivateArg(MembersDeactivateBaseArg): + """ + :ivar team.MembersDeactivateArg.wipe_data: If provided, controls if the + user's data will be deleted on their linked devices. + """ + + __slots__ = [ + '_wipe_data_value', + '_wipe_data_present', + ] + + _has_required_fields = True + + def __init__(self, + user=None, + wipe_data=None): + super(MembersDeactivateArg, self).__init__(user) + self._wipe_data_value = None + self._wipe_data_present = False + if wipe_data is not None: + self.wipe_data = wipe_data + @property def wipe_data(self): """ @@ -8728,6 +10072,9 @@ class MembersDeactivateArg(object): self._wipe_data_value = None self._wipe_data_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersDeactivateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersDeactivateArg(user={!r}, wipe_data={!r})'.format( self._user_value, @@ -8742,7 +10089,8 @@ class MembersDeactivateError(UserSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user_not_in_team: The user is not a member of the team. + :ivar team.MembersDeactivateError.user_not_in_team: The user is not a member + of the team. """ _catch_all = 'other' @@ -8767,14 +10115,17 @@ class MembersDeactivateError(UserSelectorError): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersDeactivateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersDeactivateError(%r, %r)' % (self._tag, self._value) MembersDeactivateError_validator = bv.Union(MembersDeactivateError) -class MembersGetInfoArgs(object): +class MembersGetInfoArgs(bb.Struct): """ - :ivar members: List of team members. + :ivar team.MembersGetInfoArgs.members: List of team members. """ __slots__ = [ @@ -8814,6 +10165,9 @@ class MembersGetInfoArgs(object): self._members_value = None self._members_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersGetInfoArgs, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersGetInfoArgs(members={!r})'.format( self._members_value, @@ -8840,6 +10194,9 @@ class MembersGetInfoError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersGetInfoError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersGetInfoError(%r, %r)' % (self._tag, self._value) @@ -8854,11 +10211,12 @@ class MembersGetInfoItem(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str id_not_found: An ID that was provided as a parameter to - :route:`members/get_info`, and did not match a corresponding user. This - might be a team_member_id, an email, or an external ID, depending on how - the method was called. - :ivar TeamMemberInfo member_info: Info about a team member. + :ivar str team.MembersGetInfoItem.id_not_found: An ID that was provided as a + parameter to :route:`members/get_info`, and did not match a + corresponding user. This might be a team_member_id, an email, or an + external ID, depending on how the method was called. + :ivar TeamMemberInfo MembersGetInfoItem.member_info: Info about a team + member. """ _catch_all = None @@ -8928,15 +10286,19 @@ class MembersGetInfoItem(bb.Union): raise AttributeError("tag 'member_info' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersGetInfoItem, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersGetInfoItem(%r, %r)' % (self._tag, self._value) MembersGetInfoItem_validator = bv.Union(MembersGetInfoItem) -class MembersListArg(object): +class MembersListArg(bb.Struct): """ - :ivar limit: Number of results to return per call. - :ivar include_removed: Whether to return removed members. + :ivar team.MembersListArg.limit: Number of results to return per call. + :ivar team.MembersListArg.include_removed: Whether to return removed + members. """ __slots__ = [ @@ -8965,7 +10327,7 @@ class MembersListArg(object): """ Number of results to return per call. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -9006,6 +10368,9 @@ class MembersListArg(object): self._include_removed_value = None self._include_removed_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersListArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersListArg(limit={!r}, include_removed={!r})'.format( self._limit_value, @@ -9014,9 +10379,10 @@ class MembersListArg(object): MembersListArg_validator = bv.Struct(MembersListArg) -class MembersListContinueArg(object): +class MembersListContinueArg(bb.Struct): """ - :ivar cursor: Indicates from what point to get the next set of members. + :ivar team.MembersListContinueArg.cursor: Indicates from what point to get + the next set of members. """ __slots__ = [ @@ -9056,6 +10422,9 @@ class MembersListContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersListContinueArg(cursor={!r})'.format( self._cursor_value, @@ -9069,7 +10438,7 @@ class MembersListContinueError(bb.Union): 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. + :ivar team.MembersListContinueError.invalid_cursor: The cursor is invalid. """ _catch_all = 'other' @@ -9094,6 +10463,9 @@ class MembersListContinueError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersListContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersListContinueError(%r, %r)' % (self._tag, self._value) @@ -9118,19 +10490,22 @@ class MembersListError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersListError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersListError(%r, %r)' % (self._tag, self._value) MembersListError_validator = bv.Union(MembersListError) -class MembersListResult(object): +class MembersListResult(bb.Struct): """ - :ivar members: List of team members. - :ivar cursor: Pass the cursor into + :ivar team.MembersListResult.members: List of team members. + :ivar team.MembersListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_members_list_continue` to obtain the additional members. - :ivar has_more: Is true if there are additional team members that have not - been returned yet. An additional call to + :ivar team.MembersListResult.has_more: Is true if there are additional team + members that have not been returned yet. An additional call to :meth:`dropbox.dropbox.Dropbox.team_members_list_continue` can retrieve them. """ @@ -9237,6 +10612,9 @@ class MembersListResult(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersListResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersListResult(members={!r}, cursor={!r}, has_more={!r})'.format( self._members_value, @@ -9246,12 +10624,12 @@ class MembersListResult(object): MembersListResult_validator = bv.Struct(MembersListResult) -class MembersRecoverArg(object): +class MembersRecoverArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. - :ivar user: Identity of user to recover. + :ivar team.MembersRecoverArg.user: Identity of user to recover. """ __slots__ = [ @@ -9291,6 +10669,9 @@ class MembersRecoverArg(object): self._user_value = None self._user_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersRecoverArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersRecoverArg(user={!r})'.format( self._user_value, @@ -9304,10 +10685,12 @@ class MembersRecoverError(UserSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user_unrecoverable: The user is not recoverable. - :ivar user_not_in_team: The user is not a member of the team. - :ivar team_license_limit: Team is full. The organization has no available - licenses. + :ivar team.MembersRecoverError.user_unrecoverable: The user is not + recoverable. + :ivar team.MembersRecoverError.user_not_in_team: The user is not a member of + the team. + :ivar team.MembersRecoverError.team_license_limit: Team is full. The + organization has no available licenses. """ _catch_all = 'other' @@ -9352,6 +10735,9 @@ class MembersRecoverError(UserSelectorError): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersRecoverError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersRecoverError(%r, %r)' % (self._tag, self._value) @@ -9359,15 +10745,17 @@ MembersRecoverError_validator = bv.Union(MembersRecoverError) class MembersRemoveArg(MembersDeactivateArg): """ - :ivar transfer_dest_id: If provided, files from the deleted member account - will be transferred to this user. - :ivar transfer_admin_id: If provided, errors during the transfer process - will be sent via email to this user. If the transfer_dest_id argument - was provided, then this argument must be provided as well. - :ivar keep_account: Downgrade the member to a Basic account. The user will - retain the email address associated with their Dropbox account and data - in their account that is not restricted to team members. In order to - keep the account the argument wipe_data should be set to False. + :ivar team.MembersRemoveArg.transfer_dest_id: If provided, files from the + deleted member account will be transferred to this user. + :ivar team.MembersRemoveArg.transfer_admin_id: If provided, errors during + the transfer process will be sent via email to this user. If the + transfer_dest_id argument was provided, then this argument must be + provided as well. + :ivar team.MembersRemoveArg.keep_account: Downgrade the member to a Basic + account. The user will retain the email address associated with their + Dropbox account and data in their account that is not restricted to + team members. In order to keep the account the argument wipe_data should + be set to False. """ __slots__ = [ @@ -9483,6 +10871,9 @@ class MembersRemoveArg(MembersDeactivateArg): self._keep_account_value = None self._keep_account_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersRemoveArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersRemoveArg(user={!r}, wipe_data={!r}, transfer_dest_id={!r}, transfer_admin_id={!r}, keep_account={!r})'.format( self._user_value, @@ -9494,41 +10885,35 @@ class MembersRemoveArg(MembersDeactivateArg): MembersRemoveArg_validator = bv.Struct(MembersRemoveArg) -class MembersRemoveError(MembersDeactivateError): +class MembersTransferFilesError(MembersDeactivateError): """ 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 remove_last_admin: The user is the last admin of the team, so it - cannot be removed from it. - :ivar removed_and_transfer_dest_should_differ: Expected removed user and - transfer_dest user to be different. - :ivar removed_and_transfer_admin_should_differ: Expected removed user and - transfer_admin user to be different. - :ivar transfer_dest_user_not_found: No matching user found for the argument - transfer_dest_id. - :ivar transfer_dest_user_not_in_team: The provided transfer_dest_id does not - exist on this team. - :ivar transfer_admin_user_not_found: No matching user found for the argument - transfer_admin_id. - :ivar transfer_admin_user_not_in_team: The provided transfer_admin_id does - not exist on this team. - :ivar unspecified_transfer_admin_id: The transfer_admin_id argument must be - provided when file transfer is requested. - :ivar transfer_admin_is_not_admin: Specified transfer_admin user is not a - team admin. - :ivar cannot_keep_account_and_transfer: Cannot keep account and transfer the - data to another user at the same time. - :ivar cannot_keep_account_and_delete_data: Cannot keep account and delete - the data at the same time. To keep the account the argument wipe_data - should be set to False. - :ivar email_address_too_long_to_be_disabled: The email address of the user - is too long to be disabled. + :ivar + team.MembersTransferFilesError.removed_and_transfer_dest_should_differ: + Expected removed user and transfer_dest user to be different. + :ivar + team.MembersTransferFilesError.removed_and_transfer_admin_should_differ: + Expected removed user and transfer_admin user to be different. + :ivar team.MembersTransferFilesError.transfer_dest_user_not_found: No + matching user found for the argument transfer_dest_id. + :ivar team.MembersTransferFilesError.transfer_dest_user_not_in_team: The + provided transfer_dest_id does not exist on this team. + :ivar team.MembersTransferFilesError.transfer_admin_user_not_in_team: The + provided transfer_admin_id does not exist on this team. + :ivar team.MembersTransferFilesError.transfer_admin_user_not_found: No + matching user found for the argument transfer_admin_id. + :ivar team.MembersTransferFilesError.unspecified_transfer_admin_id: The + transfer_admin_id argument must be provided when file transfer is + requested. + :ivar team.MembersTransferFilesError.transfer_admin_is_not_admin: Specified + transfer_admin user is not a team admin. + :ivar team.MembersTransferFilesError.recipient_not_verified: The recipient + user's email is not verified. """ - # Attribute is overwritten below the class definition - remove_last_admin = None # Attribute is overwritten below the class definition removed_and_transfer_dest_should_differ = None # Attribute is overwritten below the class definition @@ -9538,27 +10923,15 @@ class MembersRemoveError(MembersDeactivateError): # Attribute is overwritten below the class definition transfer_dest_user_not_in_team = None # Attribute is overwritten below the class definition - transfer_admin_user_not_found = None - # Attribute is overwritten below the class definition transfer_admin_user_not_in_team = None # Attribute is overwritten below the class definition + transfer_admin_user_not_found = None + # Attribute is overwritten below the class definition unspecified_transfer_admin_id = None # Attribute is overwritten below the class definition transfer_admin_is_not_admin = None # Attribute is overwritten below the class definition - cannot_keep_account_and_transfer = None - # Attribute is overwritten below the class definition - cannot_keep_account_and_delete_data = None - # Attribute is overwritten below the class definition - email_address_too_long_to_be_disabled = None - - def is_remove_last_admin(self): - """ - Check if the union tag is ``remove_last_admin``. - - :rtype: bool - """ - return self._tag == 'remove_last_admin' + recipient_not_verified = None def is_removed_and_transfer_dest_should_differ(self): """ @@ -9592,14 +10965,6 @@ class MembersRemoveError(MembersDeactivateError): """ return self._tag == 'transfer_dest_user_not_in_team' - def is_transfer_admin_user_not_found(self): - """ - Check if the union tag is ``transfer_admin_user_not_found``. - - :rtype: bool - """ - return self._tag == 'transfer_admin_user_not_found' - def is_transfer_admin_user_not_in_team(self): """ Check if the union tag is ``transfer_admin_user_not_in_team``. @@ -9608,6 +10973,14 @@ class MembersRemoveError(MembersDeactivateError): """ return self._tag == 'transfer_admin_user_not_in_team' + def is_transfer_admin_user_not_found(self): + """ + Check if the union tag is ``transfer_admin_user_not_found``. + + :rtype: bool + """ + return self._tag == 'transfer_admin_user_not_found' + def is_unspecified_transfer_admin_id(self): """ Check if the union tag is ``unspecified_transfer_admin_id``. @@ -9624,6 +10997,60 @@ class MembersRemoveError(MembersDeactivateError): """ return self._tag == 'transfer_admin_is_not_admin' + def is_recipient_not_verified(self): + """ + Check if the union tag is ``recipient_not_verified``. + + :rtype: bool + """ + return self._tag == 'recipient_not_verified' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersTransferFilesError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MembersTransferFilesError(%r, %r)' % (self._tag, self._value) + +MembersTransferFilesError_validator = bv.Union(MembersTransferFilesError) + +class MembersRemoveError(MembersTransferFilesError): + """ + 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 team.MembersRemoveError.remove_last_admin: The user is the last admin + of the team, so it cannot be removed from it. + :ivar team.MembersRemoveError.cannot_keep_account_and_transfer: Cannot keep + account and transfer the data to another user at the same time. + :ivar team.MembersRemoveError.cannot_keep_account_and_delete_data: Cannot + keep account and delete the data at the same time. To keep the account + the argument wipe_data should be set to False. + :ivar team.MembersRemoveError.email_address_too_long_to_be_disabled: The + email address of the user is too long to be disabled. + :ivar team.MembersRemoveError.cannot_keep_invited_user_account: Cannot keep + account of an invited user. + """ + + # Attribute is overwritten below the class definition + remove_last_admin = None + # Attribute is overwritten below the class definition + cannot_keep_account_and_transfer = None + # Attribute is overwritten below the class definition + cannot_keep_account_and_delete_data = None + # Attribute is overwritten below the class definition + email_address_too_long_to_be_disabled = None + # Attribute is overwritten below the class definition + cannot_keep_invited_user_account = None + + def is_remove_last_admin(self): + """ + Check if the union tag is ``remove_last_admin``. + + :rtype: bool + """ + return self._tag == 'remove_last_admin' + def is_cannot_keep_account_and_transfer(self): """ Check if the union tag is ``cannot_keep_account_and_transfer``. @@ -9648,6 +11075,17 @@ class MembersRemoveError(MembersDeactivateError): """ return self._tag == 'email_address_too_long_to_be_disabled' + def is_cannot_keep_invited_user_account(self): + """ + Check if the union tag is ``cannot_keep_invited_user_account``. + + :rtype: bool + """ + return self._tag == 'cannot_keep_invited_user_account' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersRemoveError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersRemoveError(%r, %r)' % (self._tag, self._value) @@ -9672,18 +11110,22 @@ class MembersSendWelcomeError(MemberSelectorError): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersSendWelcomeError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersSendWelcomeError(%r, %r)' % (self._tag, self._value) MembersSendWelcomeError_validator = bv.Union(MembersSendWelcomeError) -class MembersSetPermissionsArg(object): +class MembersSetPermissionsArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. - :ivar user: Identity of user whose role will be set. - :ivar new_role: The new role of the member. + :ivar team.MembersSetPermissionsArg.user: Identity of user whose role will + be set. + :ivar team.MembersSetPermissionsArg.new_role: The new role of the member. """ __slots__ = [ @@ -9753,6 +11195,9 @@ class MembersSetPermissionsArg(object): self._new_role_value = None self._new_role_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersSetPermissionsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersSetPermissionsArg(user={!r}, new_role={!r})'.format( self._user_value, @@ -9767,11 +11212,14 @@ class MembersSetPermissionsError(UserSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar last_admin: Cannot remove the admin setting of the last admin. - :ivar user_not_in_team: The user is not a member of the team. - :ivar cannot_set_permissions: Cannot remove/grant permissions. - :ivar team_license_limit: Team is full. The organization has no available - licenses. + :ivar team.MembersSetPermissionsError.last_admin: Cannot remove the admin + setting of the last admin. + :ivar team.MembersSetPermissionsError.user_not_in_team: The user is not a + member of the team. + :ivar team.MembersSetPermissionsError.cannot_set_permissions: Cannot + remove/grant permissions. + :ivar team.MembersSetPermissionsError.team_license_limit: Team is full. The + organization has no available licenses. """ _catch_all = 'other' @@ -9826,16 +11274,19 @@ class MembersSetPermissionsError(UserSelectorError): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersSetPermissionsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersSetPermissionsError(%r, %r)' % (self._tag, self._value) MembersSetPermissionsError_validator = bv.Union(MembersSetPermissionsError) -class MembersSetPermissionsResult(object): +class MembersSetPermissionsResult(bb.Struct): """ - :ivar team_member_id: The member ID of the user to which the change was - applied. - :ivar role: The role after the change. + :ivar team.MembersSetPermissionsResult.team_member_id: The member ID of the + user to which the change was applied. + :ivar team.MembersSetPermissionsResult.role: The role after the change. """ __slots__ = [ @@ -9905,6 +11356,9 @@ class MembersSetPermissionsResult(object): self._role_value = None self._role_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersSetPermissionsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersSetPermissionsResult(team_member_id={!r}, role={!r})'.format( self._team_member_id_value, @@ -9913,19 +11367,22 @@ class MembersSetPermissionsResult(object): MembersSetPermissionsResult_validator = bv.Struct(MembersSetPermissionsResult) -class MembersSetProfileArg(object): +class MembersSetProfileArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. At least one of new_email, new_external_id, new_given_name, and/or new_surname must be provided. - :ivar user: Identity of user whose profile will be set. - :ivar new_email: New email for member. - :ivar new_external_id: New external ID for member. - :ivar new_given_name: New given name for member. - :ivar new_surname: New surname for member. - :ivar new_persistent_id: New persistent ID. This field only available to - teams using persistent ID SAML configuration. + :ivar team.MembersSetProfileArg.user: Identity of user whose profile will be + set. + :ivar team.MembersSetProfileArg.new_email: New email for member. + :ivar team.MembersSetProfileArg.new_external_id: New external ID for member. + :ivar team.MembersSetProfileArg.new_given_name: New given name for member. + :ivar team.MembersSetProfileArg.new_surname: New surname for member. + :ivar team.MembersSetProfileArg.new_persistent_id: New persistent ID. This + field only available to teams using persistent ID SAML configuration. + :ivar team.MembersSetProfileArg.new_is_directory_restricted: New value for + whether the user is a directory restricted user. """ __slots__ = [ @@ -9941,6 +11398,8 @@ class MembersSetProfileArg(object): '_new_surname_present', '_new_persistent_id_value', '_new_persistent_id_present', + '_new_is_directory_restricted_value', + '_new_is_directory_restricted_present', ] _has_required_fields = True @@ -9951,7 +11410,8 @@ class MembersSetProfileArg(object): new_external_id=None, new_given_name=None, new_surname=None, - new_persistent_id=None): + new_persistent_id=None, + new_is_directory_restricted=None): self._user_value = None self._user_present = False self._new_email_value = None @@ -9964,6 +11424,8 @@ class MembersSetProfileArg(object): self._new_surname_present = False self._new_persistent_id_value = None self._new_persistent_id_present = False + self._new_is_directory_restricted_value = None + self._new_is_directory_restricted_present = False if user is not None: self.user = user if new_email is not None: @@ -9976,6 +11438,8 @@ class MembersSetProfileArg(object): self.new_surname = new_surname if new_persistent_id is not None: self.new_persistent_id = new_persistent_id + if new_is_directory_restricted is not None: + self.new_is_directory_restricted = new_is_directory_restricted @property def user(self): @@ -10131,14 +11595,44 @@ class MembersSetProfileArg(object): self._new_persistent_id_value = None self._new_persistent_id_present = False + @property + def new_is_directory_restricted(self): + """ + New value for whether the user is a directory restricted user. + + :rtype: bool + """ + if self._new_is_directory_restricted_present: + return self._new_is_directory_restricted_value + else: + return None + + @new_is_directory_restricted.setter + def new_is_directory_restricted(self, val): + if val is None: + del self.new_is_directory_restricted + return + val = self._new_is_directory_restricted_validator.validate(val) + self._new_is_directory_restricted_value = val + self._new_is_directory_restricted_present = True + + @new_is_directory_restricted.deleter + def new_is_directory_restricted(self): + self._new_is_directory_restricted_value = None + self._new_is_directory_restricted_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersSetProfileArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'MembersSetProfileArg(user={!r}, new_email={!r}, new_external_id={!r}, new_given_name={!r}, new_surname={!r}, new_persistent_id={!r})'.format( + return 'MembersSetProfileArg(user={!r}, new_email={!r}, new_external_id={!r}, new_given_name={!r}, new_surname={!r}, new_persistent_id={!r}, new_is_directory_restricted={!r})'.format( self._user_value, self._new_email_value, self._new_external_id_value, self._new_given_name_value, self._new_surname_value, self._new_persistent_id_value, + self._new_is_directory_restricted_value, ) MembersSetProfileArg_validator = bv.Struct(MembersSetProfileArg) @@ -10149,21 +11643,25 @@ class MembersSetProfileError(MemberSelectorError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar external_id_and_new_external_id_unsafe: It is unsafe to use both - external_id and new_external_id. - :ivar no_new_data_specified: None of new_email, new_given_name, new_surname, - or new_external_id are specified. - :ivar email_reserved_for_other_user: Email is already reserved for another - user. - :ivar external_id_used_by_other_user: The external ID is already in use by - another team member. - :ivar set_profile_disallowed: Modifying deleted users is not allowed. - :ivar param_cannot_be_empty: Parameter new_email cannot be empty. - :ivar persistent_id_disabled: Persistent ID is only available to teams with - persistent ID SAML configuration. Please contact Dropbox for more - information. - :ivar persistent_id_used_by_other_user: The persistent ID is already in use - by another team member. + :ivar team.MembersSetProfileError.external_id_and_new_external_id_unsafe: It + is unsafe to use both external_id and new_external_id. + :ivar team.MembersSetProfileError.no_new_data_specified: None of new_email, + new_given_name, new_surname, or new_external_id are specified. + :ivar team.MembersSetProfileError.email_reserved_for_other_user: Email is + already reserved for another user. + :ivar team.MembersSetProfileError.external_id_used_by_other_user: The + external ID is already in use by another team member. + :ivar team.MembersSetProfileError.set_profile_disallowed: Modifying deleted + users is not allowed. + :ivar team.MembersSetProfileError.param_cannot_be_empty: Parameter new_email + cannot be empty. + :ivar team.MembersSetProfileError.persistent_id_disabled: Persistent ID is + only available to teams with persistent ID SAML configuration. Please + contact Dropbox for more information. + :ivar team.MembersSetProfileError.persistent_id_used_by_other_user: The + persistent ID is already in use by another team member. + :ivar team.MembersSetProfileError.directory_restricted_off: Directory + Restrictions option is not available. """ _catch_all = 'other' @@ -10184,6 +11682,8 @@ class MembersSetProfileError(MemberSelectorError): # Attribute is overwritten below the class definition persistent_id_used_by_other_user = None # Attribute is overwritten below the class definition + directory_restricted_off = None + # Attribute is overwritten below the class definition other = None def is_external_id_and_new_external_id_unsafe(self): @@ -10250,6 +11750,14 @@ class MembersSetProfileError(MemberSelectorError): """ return self._tag == 'persistent_id_used_by_other_user' + def is_directory_restricted_off(self): + """ + Check if the union tag is ``directory_restricted_off``. + + :rtype: bool + """ + return self._tag == 'directory_restricted_off' + def is_other(self): """ Check if the union tag is ``other``. @@ -10258,6 +11766,9 @@ class MembersSetProfileError(MemberSelectorError): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersSetProfileError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersSetProfileError(%r, %r)' % (self._tag, self._value) @@ -10269,12 +11780,12 @@ class MembersSuspendError(MembersDeactivateError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar suspend_inactive_user: The user is not active, so it cannot be - suspended. - :ivar suspend_last_admin: The user is the last admin of the team, so it - cannot be suspended. - :ivar team_license_limit: Team is full. The organization has no available - licenses. + :ivar team.MembersSuspendError.suspend_inactive_user: The user is not + active, so it cannot be suspended. + :ivar team.MembersSuspendError.suspend_last_admin: The user is the last + admin of the team, so it cannot be suspended. + :ivar team.MembersSuspendError.team_license_limit: Team is full. The + organization has no available licenses. """ # Attribute is overwritten below the class definition @@ -10308,17 +11819,89 @@ class MembersSuspendError(MembersDeactivateError): """ return self._tag == 'team_license_limit' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersSuspendError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersSuspendError(%r, %r)' % (self._tag, self._value) MembersSuspendError_validator = bv.Union(MembersSuspendError) -class MembersUnsuspendArg(object): +class MembersTransferFormerMembersFilesError(MembersTransferFilesError): + """ + 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 + team.MembersTransferFormerMembersFilesError.user_data_is_being_transferred: + The user's data is being transferred. Please wait some time before + retrying. + :ivar team.MembersTransferFormerMembersFilesError.user_not_removed: No + matching removed user found for the argument user. + :ivar + team.MembersTransferFormerMembersFilesError.user_data_cannot_be_transferred: + User files aren't transferable anymore. + :ivar + team.MembersTransferFormerMembersFilesError.user_data_already_transferred: + User's data has already been transferred to another user. + """ + + # Attribute is overwritten below the class definition + user_data_is_being_transferred = None + # Attribute is overwritten below the class definition + user_not_removed = None + # Attribute is overwritten below the class definition + user_data_cannot_be_transferred = None + # Attribute is overwritten below the class definition + user_data_already_transferred = None + + def is_user_data_is_being_transferred(self): + """ + Check if the union tag is ``user_data_is_being_transferred``. + + :rtype: bool + """ + return self._tag == 'user_data_is_being_transferred' + + def is_user_not_removed(self): + """ + Check if the union tag is ``user_not_removed``. + + :rtype: bool + """ + return self._tag == 'user_not_removed' + + def is_user_data_cannot_be_transferred(self): + """ + Check if the union tag is ``user_data_cannot_be_transferred``. + + :rtype: bool + """ + return self._tag == 'user_data_cannot_be_transferred' + + def is_user_data_already_transferred(self): + """ + Check if the union tag is ``user_data_already_transferred``. + + :rtype: bool + """ + return self._tag == 'user_data_already_transferred' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersTransferFormerMembersFilesError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MembersTransferFormerMembersFilesError(%r, %r)' % (self._tag, self._value) + +MembersTransferFormerMembersFilesError_validator = bv.Union(MembersTransferFormerMembersFilesError) + +class MembersUnsuspendArg(bb.Struct): """ Exactly one of team_member_id, email, or external_id must be provided to identify the user account. - :ivar user: Identity of user to unsuspend. + :ivar team.MembersUnsuspendArg.user: Identity of user to unsuspend. """ __slots__ = [ @@ -10358,6 +11941,9 @@ class MembersUnsuspendArg(object): self._user_value = None self._user_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersUnsuspendArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersUnsuspendArg(user={!r})'.format( self._user_value, @@ -10371,10 +11957,10 @@ class MembersUnsuspendError(MembersDeactivateError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar unsuspend_non_suspended_member: The user is unsuspended, so it cannot - be unsuspended again. - :ivar team_license_limit: Team is full. The organization has no available - licenses. + :ivar team.MembersUnsuspendError.unsuspend_non_suspended_member: The user is + unsuspended, so it cannot be unsuspended again. + :ivar team.MembersUnsuspendError.team_license_limit: Team is full. The + organization has no available licenses. """ # Attribute is overwritten below the class definition @@ -10398,6 +11984,9 @@ class MembersUnsuspendError(MembersDeactivateError): """ return self._tag == 'team_license_limit' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MembersUnsuspendError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MembersUnsuspendError(%r, %r)' % (self._tag, self._value) @@ -10409,11 +11998,13 @@ class MobileClientPlatform(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar iphone: Official Dropbox iPhone client. - :ivar ipad: Official Dropbox iPad client. - :ivar android: Official Dropbox Android client. - :ivar windows_phone: Official Dropbox Windows phone client. - :ivar blackberry: Official Dropbox Blackberry client. + :ivar team.MobileClientPlatform.iphone: Official Dropbox iPhone client. + :ivar team.MobileClientPlatform.ipad: Official Dropbox iPad client. + :ivar team.MobileClientPlatform.android: Official Dropbox Android client. + :ivar team.MobileClientPlatform.windows_phone: Official Dropbox Windows + phone client. + :ivar team.MobileClientPlatform.blackberry: Official Dropbox Blackberry + client. """ _catch_all = 'other' @@ -10478,6 +12069,9 @@ class MobileClientPlatform(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MobileClientPlatform, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MobileClientPlatform(%r, %r)' % (self._tag, self._value) @@ -10487,11 +12081,12 @@ class MobileClientSession(DeviceSession): """ Information about linked Dropbox mobile client sessions. - :ivar device_name: The device name. - :ivar client_type: The mobile application type. - :ivar client_version: The dropbox client version. - :ivar os_version: The hosting OS version. - :ivar last_carrier: last carrier used by the device. + :ivar team.MobileClientSession.device_name: The device name. + :ivar team.MobileClientSession.client_type: The mobile application type. + :ivar team.MobileClientSession.client_version: The dropbox client version. + :ivar team.MobileClientSession.os_version: The hosting OS version. + :ivar team.MobileClientSession.last_carrier: last carrier used by the + device. """ __slots__ = [ @@ -10670,6 +12265,9 @@ class MobileClientSession(DeviceSession): self._last_carrier_value = None self._last_carrier_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MobileClientSession, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MobileClientSession(session_id={!r}, device_name={!r}, client_type={!r}, ip_address={!r}, country={!r}, created={!r}, updated={!r}, client_version={!r}, os_version={!r}, last_carrier={!r})'.format( self._session_id_value, @@ -10686,15 +12284,16 @@ class MobileClientSession(DeviceSession): MobileClientSession_validator = bv.Struct(MobileClientSession) -class NamespaceMetadata(object): +class NamespaceMetadata(bb.Struct): """ Properties of a namespace. - :ivar name: The name of this namespace. - :ivar namespace_id: The ID of this namespace. - :ivar namespace_type: The type of this namespace. - :ivar team_member_id: If this is a team member folder, the ID of the team - member. Otherwise, this field is not present. + :ivar team.NamespaceMetadata.name: The name of this namespace. + :ivar team.NamespaceMetadata.namespace_id: The ID of this namespace. + :ivar team.NamespaceMetadata.namespace_type: The type of this namespace. + :ivar team.NamespaceMetadata.team_member_id: If this is a team member or app + folder, the ID of the owning team member. Otherwise, this field is not + present. """ __slots__ = [ @@ -10804,8 +12403,8 @@ class NamespaceMetadata(object): @property def team_member_id(self): """ - If this is a team member folder, the ID of the team member. Otherwise, - this field is not present. + If this is a team member or app folder, the ID of the owning team + member. Otherwise, this field is not present. :rtype: str """ @@ -10828,6 +12427,9 @@ class NamespaceMetadata(object): self._team_member_id_value = None self._team_member_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NamespaceMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NamespaceMetadata(name={!r}, namespace_id={!r}, namespace_type={!r}, team_member_id={!r})'.format( self._name_value, @@ -10844,10 +12446,10 @@ class NamespaceType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar app_folder: App sandbox folder. - :ivar shared_folder: Shared folder. - :ivar team_folder: Top-level team-owned folder. - :ivar team_member_folder: Team member's home folder. + :ivar team.NamespaceType.app_folder: App sandbox folder. + :ivar team.NamespaceType.shared_folder: Shared folder. + :ivar team.NamespaceType.team_folder: Top-level team-owned folder. + :ivar team.NamespaceType.team_member_folder: Team member's home folder. """ _catch_all = 'other' @@ -10902,6 +12504,9 @@ class NamespaceType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NamespaceType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NamespaceType(%r, %r)' % (self._tag, self._value) @@ -10915,8 +12520,10 @@ class RemoveCustomQuotaResult(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar UserSelectorArg success: Successfully removed user. - :ivar UserSelectorArg invalid_user: Invalid user (not in team). + :ivar UserSelectorArg RemoveCustomQuotaResult.success: Successfully removed + user. + :ivar UserSelectorArg RemoveCustomQuotaResult.invalid_user: Invalid user + (not in team). """ _catch_all = 'other' @@ -10993,29 +12600,42 @@ class RemoveCustomQuotaResult(bb.Union): raise AttributeError("tag 'invalid_user' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemoveCustomQuotaResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RemoveCustomQuotaResult(%r, %r)' % (self._tag, self._value) RemoveCustomQuotaResult_validator = bv.Union(RemoveCustomQuotaResult) -class RemovedStatus(object): +class RemovedStatus(bb.Struct): """ - :ivar is_recoverable: True if the removed team member is recoverable. + :ivar team.RemovedStatus.is_recoverable: True if the removed team member is + recoverable. + :ivar team.RemovedStatus.is_disconnected: True if the team member's account + was converted to individual account. """ __slots__ = [ '_is_recoverable_value', '_is_recoverable_present', + '_is_disconnected_value', + '_is_disconnected_present', ] _has_required_fields = True def __init__(self, - is_recoverable=None): + is_recoverable=None, + is_disconnected=None): self._is_recoverable_value = None self._is_recoverable_present = False + self._is_disconnected_value = None + self._is_disconnected_present = False if is_recoverable is not None: self.is_recoverable = is_recoverable + if is_disconnected is not None: + self.is_disconnected = is_disconnected @property def is_recoverable(self): @@ -11040,18 +12660,45 @@ class RemovedStatus(object): self._is_recoverable_value = None self._is_recoverable_present = False + @property + def is_disconnected(self): + """ + True if the team member's account was converted to individual account. + + :rtype: bool + """ + if self._is_disconnected_present: + return self._is_disconnected_value + else: + raise AttributeError("missing required field 'is_disconnected'") + + @is_disconnected.setter + def is_disconnected(self, val): + val = self._is_disconnected_validator.validate(val) + self._is_disconnected_value = val + self._is_disconnected_present = True + + @is_disconnected.deleter + def is_disconnected(self): + self._is_disconnected_value = None + self._is_disconnected_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RemovedStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'RemovedStatus(is_recoverable={!r})'.format( + return 'RemovedStatus(is_recoverable={!r}, is_disconnected={!r})'.format( self._is_recoverable_value, + self._is_disconnected_value, ) RemovedStatus_validator = bv.Struct(RemovedStatus) class RevokeDesktopClientArg(DeviceSessionArg): """ - :ivar delete_on_unlink: Whether to delete all files of the account (this is - possible only if supported by the desktop client and will be made the - next time the client access the account). + :ivar team.RevokeDesktopClientArg.delete_on_unlink: Whether to delete all + files of the account (this is possible only if supported by the desktop + client and will be made the next time the client access the account). """ __slots__ = [ @@ -11097,6 +12744,9 @@ class RevokeDesktopClientArg(DeviceSessionArg): self._delete_on_unlink_value = None self._delete_on_unlink_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeDesktopClientArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeDesktopClientArg(session_id={!r}, team_member_id={!r}, delete_on_unlink={!r})'.format( self._session_id_value, @@ -11112,9 +12762,12 @@ class RevokeDeviceSessionArg(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar DeviceSessionArg web_session: End an active session. - :ivar RevokeDesktopClientArg desktop_client: Unlink a linked desktop device. - :ivar DeviceSessionArg mobile_client: Unlink a linked mobile device. + :ivar DeviceSessionArg RevokeDeviceSessionArg.web_session: End an active + session. + :ivar RevokeDesktopClientArg RevokeDeviceSessionArg.desktop_client: Unlink a + linked desktop device. + :ivar DeviceSessionArg RevokeDeviceSessionArg.mobile_client: Unlink a linked + mobile device. """ _catch_all = None @@ -11212,12 +12865,15 @@ class RevokeDeviceSessionArg(bb.Union): raise AttributeError("tag 'mobile_client' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeDeviceSessionArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeDeviceSessionArg(%r, %r)' % (self._tag, self._value) RevokeDeviceSessionArg_validator = bv.Union(RevokeDeviceSessionArg) -class RevokeDeviceSessionBatchArg(object): +class RevokeDeviceSessionBatchArg(bb.Struct): __slots__ = [ '_revoke_devices_value', @@ -11254,6 +12910,9 @@ class RevokeDeviceSessionBatchArg(object): self._revoke_devices_value = None self._revoke_devices_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeDeviceSessionBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeDeviceSessionBatchArg(revoke_devices={!r})'.format( self._revoke_devices_value, @@ -11280,12 +12939,15 @@ class RevokeDeviceSessionBatchError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeDeviceSessionBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeDeviceSessionBatchError(%r, %r)' % (self._tag, self._value) RevokeDeviceSessionBatchError_validator = bv.Union(RevokeDeviceSessionBatchError) -class RevokeDeviceSessionBatchResult(object): +class RevokeDeviceSessionBatchResult(bb.Struct): __slots__ = [ '_revoke_devices_status_value', @@ -11322,6 +12984,9 @@ class RevokeDeviceSessionBatchResult(object): self._revoke_devices_status_value = None self._revoke_devices_status_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeDeviceSessionBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeDeviceSessionBatchResult(revoke_devices_status={!r})'.format( self._revoke_devices_status_value, @@ -11335,8 +13000,9 @@ class RevokeDeviceSessionError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar device_session_not_found: Device session not found. - :ivar member_not_found: Member not found. + :ivar team.RevokeDeviceSessionError.device_session_not_found: Device session + not found. + :ivar team.RevokeDeviceSessionError.member_not_found: Member not found. """ _catch_all = 'other' @@ -11371,15 +13037,20 @@ class RevokeDeviceSessionError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeDeviceSessionError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeDeviceSessionError(%r, %r)' % (self._tag, self._value) RevokeDeviceSessionError_validator = bv.Union(RevokeDeviceSessionError) -class RevokeDeviceSessionStatus(object): +class RevokeDeviceSessionStatus(bb.Struct): """ - :ivar success: Result of the revoking request. - :ivar error_type: The error cause in case of a failure. + :ivar team.RevokeDeviceSessionStatus.success: Result of the revoking + request. + :ivar team.RevokeDeviceSessionStatus.error_type: The error cause in case of + a failure. """ __slots__ = [ @@ -11452,6 +13123,9 @@ class RevokeDeviceSessionStatus(object): self._error_type_value = None self._error_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeDeviceSessionStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeDeviceSessionStatus(success={!r}, error_type={!r})'.format( self._success_value, @@ -11460,12 +13134,13 @@ class RevokeDeviceSessionStatus(object): RevokeDeviceSessionStatus_validator = bv.Struct(RevokeDeviceSessionStatus) -class RevokeLinkedApiAppArg(object): +class RevokeLinkedApiAppArg(bb.Struct): """ - :ivar app_id: The application's unique id. - :ivar team_member_id: The unique id of the member owning the device. - :ivar keep_app_folder: Whether to keep the application dedicated folder (in - case the application uses one). + :ivar team.RevokeLinkedApiAppArg.app_id: The application's unique id. + :ivar team.RevokeLinkedApiAppArg.team_member_id: The unique id of the member + owning the device. + :ivar team.RevokeLinkedApiAppArg.keep_app_folder: Whether to keep the + application dedicated folder (in case the application uses one). """ __slots__ = [ @@ -11566,6 +13241,9 @@ class RevokeLinkedApiAppArg(object): self._keep_app_folder_value = None self._keep_app_folder_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeLinkedApiAppArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeLinkedApiAppArg(app_id={!r}, team_member_id={!r}, keep_app_folder={!r})'.format( self._app_id_value, @@ -11575,7 +13253,7 @@ class RevokeLinkedApiAppArg(object): RevokeLinkedApiAppArg_validator = bv.Struct(RevokeLinkedApiAppArg) -class RevokeLinkedApiAppBatchArg(object): +class RevokeLinkedApiAppBatchArg(bb.Struct): __slots__ = [ '_revoke_linked_app_value', @@ -11612,6 +13290,9 @@ class RevokeLinkedApiAppBatchArg(object): self._revoke_linked_app_value = None self._revoke_linked_app_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeLinkedApiAppBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeLinkedApiAppBatchArg(revoke_linked_app={!r})'.format( self._revoke_linked_app_value, @@ -11641,12 +13322,15 @@ class RevokeLinkedAppBatchError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeLinkedAppBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeLinkedAppBatchError(%r, %r)' % (self._tag, self._value) RevokeLinkedAppBatchError_validator = bv.Union(RevokeLinkedAppBatchError) -class RevokeLinkedAppBatchResult(object): +class RevokeLinkedAppBatchResult(bb.Struct): __slots__ = [ '_revoke_linked_app_status_value', @@ -11683,6 +13367,9 @@ class RevokeLinkedAppBatchResult(object): self._revoke_linked_app_status_value = None self._revoke_linked_app_status_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeLinkedAppBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeLinkedAppBatchResult(revoke_linked_app_status={!r})'.format( self._revoke_linked_app_status_value, @@ -11699,8 +13386,8 @@ class RevokeLinkedAppError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar app_not_found: Application not found. - :ivar member_not_found: Member not found. + :ivar team.RevokeLinkedAppError.app_not_found: Application not found. + :ivar team.RevokeLinkedAppError.member_not_found: Member not found. """ _catch_all = 'other' @@ -11735,15 +13422,19 @@ class RevokeLinkedAppError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeLinkedAppError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeLinkedAppError(%r, %r)' % (self._tag, self._value) RevokeLinkedAppError_validator = bv.Union(RevokeLinkedAppError) -class RevokeLinkedAppStatus(object): +class RevokeLinkedAppStatus(bb.Struct): """ - :ivar success: Result of the revoking request. - :ivar error_type: The error cause in case of a failure. + :ivar team.RevokeLinkedAppStatus.success: Result of the revoking request. + :ivar team.RevokeLinkedAppStatus.error_type: The error cause in case of a + failure. """ __slots__ = [ @@ -11816,6 +13507,9 @@ class RevokeLinkedAppStatus(object): self._error_type_value = None self._error_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RevokeLinkedAppStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RevokeLinkedAppStatus(success={!r}, error_type={!r})'.format( self._success_value, @@ -11824,9 +13518,10 @@ class RevokeLinkedAppStatus(object): RevokeLinkedAppStatus_validator = bv.Struct(RevokeLinkedAppStatus) -class SetCustomQuotaArg(object): +class SetCustomQuotaArg(bb.Struct): """ - :ivar users_and_quotas: List of users and their custom quotas. + :ivar team.SetCustomQuotaArg.users_and_quotas: List of users and their + custom quotas. """ __slots__ = [ @@ -11866,6 +13561,9 @@ class SetCustomQuotaArg(object): self._users_and_quotas_value = None self._users_and_quotas_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SetCustomQuotaArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SetCustomQuotaArg(users_and_quotas={!r})'.format( self._users_and_quotas_value, @@ -11873,14 +13571,45 @@ class SetCustomQuotaArg(object): SetCustomQuotaArg_validator = bv.Struct(SetCustomQuotaArg) -class StorageBucket(object): +class SetCustomQuotaError(CustomQuotaError): + """ + Error returned when setting member custom quota. + + 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 team.SetCustomQuotaError.some_users_are_excluded: Some of the users + are on the excluded users list and can't have custom quota set. + """ + + # Attribute is overwritten below the class definition + some_users_are_excluded = None + + def is_some_users_are_excluded(self): + """ + Check if the union tag is ``some_users_are_excluded``. + + :rtype: bool + """ + return self._tag == 'some_users_are_excluded' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SetCustomQuotaError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SetCustomQuotaError(%r, %r)' % (self._tag, self._value) + +SetCustomQuotaError_validator = bv.Union(SetCustomQuotaError) + +class StorageBucket(bb.Struct): """ Describes the number of users in a specific storage bucket. - :ivar bucket: The name of the storage bucket. For example, '1G' is a bucket - of users with storage size up to 1 Giga. - :ivar users: The number of people whose storage is in the range of this - storage bucket. + :ivar team.StorageBucket.bucket: The name of the storage bucket. For + example, '1G' is a bucket of users with storage size up to 1 Giga. + :ivar team.StorageBucket.users: The number of people whose storage is in the + range of this storage bucket. """ __slots__ = [ @@ -11934,7 +13663,7 @@ class StorageBucket(object): The number of people whose storage is in the range of this storage bucket. - :rtype: long + :rtype: int """ if self._users_present: return self._users_value @@ -11952,6 +13681,9 @@ class StorageBucket(object): self._users_value = None self._users_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(StorageBucket, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'StorageBucket(bucket={!r}, users={!r})'.format( self._bucket_value, @@ -11966,9 +13698,10 @@ class TeamFolderAccessError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_team_folder_id: The team folder ID is invalid. - :ivar no_access: The authenticated app does not have permission to manage - that team folder. + :ivar team.TeamFolderAccessError.invalid_team_folder_id: The team folder ID + is invalid. + :ivar team.TeamFolderAccessError.no_access: The authenticated app does not + have permission to manage that team folder. """ _catch_all = 'other' @@ -12003,6 +13736,9 @@ class TeamFolderAccessError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderAccessError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderAccessError(%r, %r)' % (self._tag, self._value) @@ -12015,14 +13751,17 @@ class TeamFolderActivateError(BaseTeamFolderError): corresponding ``get_*`` method. """ + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderActivateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderActivateError(%r, %r)' % (self._tag, self._value) TeamFolderActivateError_validator = bv.Union(TeamFolderActivateError) -class TeamFolderIdArg(object): +class TeamFolderIdArg(bb.Struct): """ - :ivar team_folder_id: The ID of the team folder. + :ivar team.TeamFolderIdArg.team_folder_id: The ID of the team folder. """ __slots__ = [ @@ -12062,6 +13801,9 @@ class TeamFolderIdArg(object): self._team_folder_id_value = None self._team_folder_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderIdArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderIdArg(team_folder_id={!r})'.format( self._team_folder_id_value, @@ -12071,7 +13813,8 @@ TeamFolderIdArg_validator = bv.Struct(TeamFolderIdArg) class TeamFolderArchiveArg(TeamFolderIdArg): """ - :ivar force_async_off: Whether to force the archive to happen synchronously. + :ivar team.TeamFolderArchiveArg.force_async_off: Whether to force the + archive to happen synchronously. """ __slots__ = [ @@ -12113,6 +13856,9 @@ class TeamFolderArchiveArg(TeamFolderIdArg): self._force_async_off_value = None self._force_async_off_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderArchiveArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderArchiveArg(team_folder_id={!r}, force_async_off={!r})'.format( self._team_folder_id_value, @@ -12128,21 +13874,25 @@ class TeamFolderArchiveError(BaseTeamFolderError): corresponding ``get_*`` method. """ + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderArchiveError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderArchiveError(%r, %r)' % (self._tag, self._value) TeamFolderArchiveError_validator = bv.Union(TeamFolderArchiveError) -class TeamFolderArchiveJobStatus(async.PollResultBase): +class TeamFolderArchiveJobStatus(async_.PollResultBase): """ 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 TeamFolderMetadata complete: The archive job has finished. The value - is the metadata for the resulting team folder. - :ivar TeamFolderArchiveError failed: Error occurred while performing an - asynchronous job from + :ivar TeamFolderMetadata TeamFolderArchiveJobStatus.complete: The archive + job has finished. The value is the metadata for the resulting team + folder. + :ivar TeamFolderArchiveError TeamFolderArchiveJobStatus.failed: Error + occurred while performing an asynchronous job from :meth:`dropbox.dropbox.Dropbox.team_team_folder_archive`. """ @@ -12210,12 +13960,15 @@ class TeamFolderArchiveJobStatus(async.PollResultBase): raise AttributeError("tag 'failed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderArchiveJobStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderArchiveJobStatus(%r, %r)' % (self._tag, self._value) TeamFolderArchiveJobStatus_validator = bv.Union(TeamFolderArchiveJobStatus) -class TeamFolderArchiveLaunch(async.LaunchResultBase): +class TeamFolderArchiveLaunch(async_.LaunchResultBase): """ 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 @@ -12251,29 +14004,42 @@ class TeamFolderArchiveLaunch(async.LaunchResultBase): raise AttributeError("tag 'complete' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderArchiveLaunch, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderArchiveLaunch(%r, %r)' % (self._tag, self._value) TeamFolderArchiveLaunch_validator = bv.Union(TeamFolderArchiveLaunch) -class TeamFolderCreateArg(object): +class TeamFolderCreateArg(bb.Struct): """ - :ivar name: Name for the new team folder. + :ivar team.TeamFolderCreateArg.name: Name for the new team folder. + :ivar team.TeamFolderCreateArg.sync_setting: The sync setting to apply to + this team folder. Only permitted if the team has team selective sync + enabled. """ __slots__ = [ '_name_value', '_name_present', + '_sync_setting_value', + '_sync_setting_present', ] _has_required_fields = True def __init__(self, - name=None): + name=None, + sync_setting=None): self._name_value = None self._name_present = False + self._sync_setting_value = None + self._sync_setting_present = False if name is not None: self.name = name + if sync_setting is not None: + self.sync_setting = sync_setting @property def name(self): @@ -12298,9 +14064,40 @@ class TeamFolderCreateArg(object): self._name_value = None self._name_present = False + @property + def sync_setting(self): + """ + The sync setting to apply to this team folder. Only permitted if the + team has team selective sync enabled. + + :rtype: files.SyncSettingArg + """ + if self._sync_setting_present: + return self._sync_setting_value + else: + return None + + @sync_setting.setter + def sync_setting(self, val): + if val is None: + del self.sync_setting + return + self._sync_setting_validator.validate_type_only(val) + self._sync_setting_value = val + self._sync_setting_present = True + + @sync_setting.deleter + def sync_setting(self): + self._sync_setting_value = None + self._sync_setting_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderCreateArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'TeamFolderCreateArg(name={!r})'.format( + return 'TeamFolderCreateArg(name={!r}, sync_setting={!r})'.format( self._name_value, + self._sync_setting_value, ) TeamFolderCreateArg_validator = bv.Struct(TeamFolderCreateArg) @@ -12311,11 +14108,14 @@ class TeamFolderCreateError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_folder_name: The provided name cannot be used. - :ivar folder_name_already_used: There is already a team folder with the - provided name. - :ivar folder_name_reserved: The provided name cannot be used because it is - reserved. + :ivar team.TeamFolderCreateError.invalid_folder_name: The provided name + cannot be used. + :ivar team.TeamFolderCreateError.folder_name_already_used: There is already + a team folder with the provided name. + :ivar team.TeamFolderCreateError.folder_name_reserved: The provided name + cannot be used because it is reserved. + :ivar SyncSettingsError TeamFolderCreateError.sync_settings_error: An error + occurred setting the sync settings. """ _catch_all = 'other' @@ -12328,6 +14128,17 @@ class TeamFolderCreateError(bb.Union): # Attribute is overwritten below the class definition other = None + @classmethod + def sync_settings_error(cls, val): + """ + Create an instance of this class set to the ``sync_settings_error`` tag + with value ``val``. + + :param files.SyncSettingsError val: + :rtype: TeamFolderCreateError + """ + return cls('sync_settings_error', val) + def is_invalid_folder_name(self): """ Check if the union tag is ``invalid_folder_name``. @@ -12352,6 +14163,14 @@ class TeamFolderCreateError(bb.Union): """ return self._tag == 'folder_name_reserved' + def is_sync_settings_error(self): + """ + Check if the union tag is ``sync_settings_error``. + + :rtype: bool + """ + return self._tag == 'sync_settings_error' + def is_other(self): """ Check if the union tag is ``other``. @@ -12360,6 +14179,21 @@ class TeamFolderCreateError(bb.Union): """ return self._tag == 'other' + def get_sync_settings_error(self): + """ + An error occurred setting the sync settings. + + Only call this if :meth:`is_sync_settings_error` is true. + + :rtype: files.SyncSettingsError + """ + if not self.is_sync_settings_error(): + raise AttributeError("tag 'sync_settings_error' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderCreateError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderCreateError(%r, %r)' % (self._tag, self._value) @@ -12371,10 +14205,11 @@ class TeamFolderGetInfoItem(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str id_not_found: An ID that was provided as a parameter to - :route:`team_folder/get_info` did not match any of the team's team - folders. - :ivar TeamFolderMetadata team_folder_metadata: Properties of a team folder. + :ivar str team.TeamFolderGetInfoItem.id_not_found: An ID that was provided + as a parameter to :route:`team_folder/get_info` did not match any of the + team's team folders. + :ivar TeamFolderMetadata TeamFolderGetInfoItem.team_folder_metadata: + Properties of a team folder. """ _catch_all = None @@ -12443,14 +14278,17 @@ class TeamFolderGetInfoItem(bb.Union): raise AttributeError("tag 'team_folder_metadata' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderGetInfoItem, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderGetInfoItem(%r, %r)' % (self._tag, self._value) TeamFolderGetInfoItem_validator = bv.Union(TeamFolderGetInfoItem) -class TeamFolderIdListArg(object): +class TeamFolderIdListArg(bb.Struct): """ - :ivar team_folder_ids: The list of team folder IDs. + :ivar team.TeamFolderIdListArg.team_folder_ids: The list of team folder IDs. """ __slots__ = [ @@ -12490,6 +14328,9 @@ class TeamFolderIdListArg(object): self._team_folder_ids_value = None self._team_folder_ids_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderIdListArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderIdListArg(team_folder_ids={!r})'.format( self._team_folder_ids_value, @@ -12503,10 +14344,12 @@ class TeamFolderInvalidStatusError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar active: The folder is active and the operation did not succeed. - :ivar archived: The folder is archived and the operation did not succeed. - :ivar archive_in_progress: The folder is being archived and the operation - did not succeed. + :ivar team.TeamFolderInvalidStatusError.active: The folder is active and the + operation did not succeed. + :ivar team.TeamFolderInvalidStatusError.archived: The folder is archived and + the operation did not succeed. + :ivar team.TeamFolderInvalidStatusError.archive_in_progress: The folder is + being archived and the operation did not succeed. """ _catch_all = 'other' @@ -12551,14 +14394,18 @@ class TeamFolderInvalidStatusError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderInvalidStatusError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderInvalidStatusError(%r, %r)' % (self._tag, self._value) TeamFolderInvalidStatusError_validator = bv.Union(TeamFolderInvalidStatusError) -class TeamFolderListArg(object): +class TeamFolderListArg(bb.Struct): """ - :ivar limit: The maximum number of results to return per request. + :ivar team.TeamFolderListArg.limit: The maximum number of results to return + per request. """ __slots__ = [ @@ -12580,7 +14427,7 @@ class TeamFolderListArg(object): """ The maximum number of results to return per request. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -12598,6 +14445,9 @@ class TeamFolderListArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderListArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderListArg(limit={!r})'.format( self._limit_value, @@ -12605,9 +14455,10 @@ class TeamFolderListArg(object): TeamFolderListArg_validator = bv.Struct(TeamFolderListArg) -class TeamFolderListContinueArg(object): +class TeamFolderListContinueArg(bb.Struct): """ - :ivar cursor: Indicates from what point to get the next set of team folders. + :ivar team.TeamFolderListContinueArg.cursor: Indicates from what point to + get the next set of team folders. """ __slots__ = [ @@ -12647,6 +14498,9 @@ class TeamFolderListContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderListContinueArg(cursor={!r})'.format( self._cursor_value, @@ -12660,7 +14514,8 @@ class TeamFolderListContinueError(bb.Union): 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. + :ivar team.TeamFolderListContinueError.invalid_cursor: The cursor is + invalid. """ _catch_all = 'other' @@ -12685,12 +14540,15 @@ class TeamFolderListContinueError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderListContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderListContinueError(%r, %r)' % (self._tag, self._value) TeamFolderListContinueError_validator = bv.Union(TeamFolderListContinueError) -class TeamFolderListError(object): +class TeamFolderListError(bb.Struct): __slots__ = [ '_access_error_value', @@ -12727,6 +14585,9 @@ class TeamFolderListError(object): self._access_error_value = None self._access_error_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderListError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderListError(access_error={!r})'.format( self._access_error_value, @@ -12734,17 +14595,18 @@ class TeamFolderListError(object): TeamFolderListError_validator = bv.Struct(TeamFolderListError) -class TeamFolderListResult(object): +class TeamFolderListResult(bb.Struct): """ 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 + :ivar team.TeamFolderListResult.team_folders: List of all team folders in + the authenticated team. + :ivar team.TeamFolderListResult.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 + :ivar team.TeamFolderListResult.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. """ @@ -12851,6 +14713,9 @@ class TeamFolderListResult(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderListResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderListResult(team_folders={!r}, cursor={!r}, has_more={!r})'.format( self._team_folders_value, @@ -12860,15 +14725,19 @@ class TeamFolderListResult(object): TeamFolderListResult_validator = bv.Struct(TeamFolderListResult) -class TeamFolderMetadata(object): +class TeamFolderMetadata(bb.Struct): """ Properties of a team folder. - :ivar team_folder_id: The ID of the team folder. - :ivar name: The name of the team folder. - :ivar status: The status of the team folder. - :ivar is_team_shared_dropbox: True if this team folder is the team shared - dropbox. + :ivar team.TeamFolderMetadata.team_folder_id: The ID of the team folder. + :ivar team.TeamFolderMetadata.name: The name of the team folder. + :ivar team.TeamFolderMetadata.status: The status of the team folder. + :ivar team.TeamFolderMetadata.is_team_shared_dropbox: True if this team + folder is a shared team root. + :ivar team.TeamFolderMetadata.sync_setting: The sync setting applied to this + team folder. + :ivar team.TeamFolderMetadata.content_sync_settings: Sync settings applied + to contents of this team folder. """ __slots__ = [ @@ -12880,6 +14749,10 @@ class TeamFolderMetadata(object): '_status_present', '_is_team_shared_dropbox_value', '_is_team_shared_dropbox_present', + '_sync_setting_value', + '_sync_setting_present', + '_content_sync_settings_value', + '_content_sync_settings_present', ] _has_required_fields = True @@ -12888,7 +14761,9 @@ class TeamFolderMetadata(object): team_folder_id=None, name=None, status=None, - is_team_shared_dropbox=None): + is_team_shared_dropbox=None, + sync_setting=None, + content_sync_settings=None): self._team_folder_id_value = None self._team_folder_id_present = False self._name_value = None @@ -12897,6 +14772,10 @@ class TeamFolderMetadata(object): self._status_present = False self._is_team_shared_dropbox_value = None self._is_team_shared_dropbox_present = False + self._sync_setting_value = None + self._sync_setting_present = False + self._content_sync_settings_value = None + self._content_sync_settings_present = False if team_folder_id is not None: self.team_folder_id = team_folder_id if name is not None: @@ -12905,6 +14784,10 @@ class TeamFolderMetadata(object): self.status = status if is_team_shared_dropbox is not None: self.is_team_shared_dropbox = is_team_shared_dropbox + if sync_setting is not None: + self.sync_setting = sync_setting + if content_sync_settings is not None: + self.content_sync_settings = content_sync_settings @property def team_folder_id(self): @@ -12978,7 +14861,7 @@ class TeamFolderMetadata(object): @property def is_team_shared_dropbox(self): """ - True if this team folder is the team shared dropbox. + True if this team folder is a shared team root. :rtype: bool """ @@ -12998,12 +14881,63 @@ class TeamFolderMetadata(object): self._is_team_shared_dropbox_value = None self._is_team_shared_dropbox_present = False + @property + def sync_setting(self): + """ + The sync setting applied to this team folder. + + :rtype: files.SyncSetting + """ + if self._sync_setting_present: + return self._sync_setting_value + else: + raise AttributeError("missing required field 'sync_setting'") + + @sync_setting.setter + def sync_setting(self, val): + self._sync_setting_validator.validate_type_only(val) + self._sync_setting_value = val + self._sync_setting_present = True + + @sync_setting.deleter + def sync_setting(self): + self._sync_setting_value = None + self._sync_setting_present = False + + @property + def content_sync_settings(self): + """ + Sync settings applied to contents of this team folder. + + :rtype: list of [files.ContentSyncSetting] + """ + if self._content_sync_settings_present: + return self._content_sync_settings_value + else: + raise AttributeError("missing required field 'content_sync_settings'") + + @content_sync_settings.setter + def content_sync_settings(self, val): + val = self._content_sync_settings_validator.validate(val) + self._content_sync_settings_value = val + self._content_sync_settings_present = True + + @content_sync_settings.deleter + def content_sync_settings(self): + self._content_sync_settings_value = None + self._content_sync_settings_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderMetadata, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'TeamFolderMetadata(team_folder_id={!r}, name={!r}, status={!r}, is_team_shared_dropbox={!r})'.format( + return 'TeamFolderMetadata(team_folder_id={!r}, name={!r}, status={!r}, is_team_shared_dropbox={!r}, sync_setting={!r}, content_sync_settings={!r})'.format( self._team_folder_id_value, self._name_value, self._status_value, self._is_team_shared_dropbox_value, + self._sync_setting_value, + self._content_sync_settings_value, ) TeamFolderMetadata_validator = bv.Struct(TeamFolderMetadata) @@ -13015,6 +14949,9 @@ class TeamFolderPermanentlyDeleteError(BaseTeamFolderError): corresponding ``get_*`` method. """ + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderPermanentlyDeleteError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderPermanentlyDeleteError(%r, %r)' % (self._tag, self._value) @@ -13022,7 +14959,7 @@ TeamFolderPermanentlyDeleteError_validator = bv.Union(TeamFolderPermanentlyDelet class TeamFolderRenameArg(TeamFolderIdArg): """ - :ivar name: New team folder name. + :ivar team.TeamFolderRenameArg.name: New team folder name. """ __slots__ = [ @@ -13064,6 +15001,9 @@ class TeamFolderRenameArg(TeamFolderIdArg): self._name_value = None self._name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderRenameArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderRenameArg(team_folder_id={!r}, name={!r})'.format( self._team_folder_id_value, @@ -13078,11 +15018,12 @@ class TeamFolderRenameError(BaseTeamFolderError): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar invalid_folder_name: The provided folder name cannot be used. - :ivar folder_name_already_used: There is already a team folder with the same - name. - :ivar folder_name_reserved: The provided name cannot be used because it is - reserved. + :ivar team.TeamFolderRenameError.invalid_folder_name: The provided folder + name cannot be used. + :ivar team.TeamFolderRenameError.folder_name_already_used: There is already + a team folder with the same name. + :ivar team.TeamFolderRenameError.folder_name_reserved: The provided name + cannot be used because it is reserved. """ # Attribute is overwritten below the class definition @@ -13116,6 +15057,9 @@ class TeamFolderRenameError(BaseTeamFolderError): """ return self._tag == 'folder_name_reserved' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderRenameError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderRenameError(%r, %r)' % (self._tag, self._value) @@ -13127,11 +15071,12 @@ class TeamFolderStatus(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar active: The team folder and sub-folders are available to all members. - :ivar archived: The team folder is not accessible outside of the team folder - manager. - :ivar archive_in_progress: The team folder is not accessible outside of the - team folder manager. + :ivar team.TeamFolderStatus.active: The team folder and sub-folders are + available to all members. + :ivar team.TeamFolderStatus.archived: The team folder is not accessible + outside of the team folder manager. + :ivar team.TeamFolderStatus.archive_in_progress: The team folder is not + accessible outside of the team folder manager. """ _catch_all = 'other' @@ -13176,6 +15121,9 @@ class TeamFolderStatus(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderStatus(%r, %r)' % (self._tag, self._value) @@ -13187,7 +15135,8 @@ class TeamFolderTeamSharedDropboxError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar disallowed: This action is not allowed for a team shared dropbox. + :ivar team.TeamFolderTeamSharedDropboxError.disallowed: This action is not + allowed for a shared team root. """ _catch_all = 'other' @@ -13212,18 +15161,169 @@ class TeamFolderTeamSharedDropboxError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderTeamSharedDropboxError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderTeamSharedDropboxError(%r, %r)' % (self._tag, self._value) TeamFolderTeamSharedDropboxError_validator = bv.Union(TeamFolderTeamSharedDropboxError) -class TeamGetInfoResult(object): +class TeamFolderUpdateSyncSettingsArg(TeamFolderIdArg): """ - :ivar name: The name of the team. - :ivar team_id: The ID of the team. - :ivar num_licensed_users: The number of licenses available to the team. - :ivar num_provisioned_users: The number of accounts that have been invited - or are already active members of the team. + :ivar team.TeamFolderUpdateSyncSettingsArg.sync_setting: Sync setting to + apply to the team folder itself. Only meaningful if the team folder is + not a shared team root. + :ivar team.TeamFolderUpdateSyncSettingsArg.content_sync_settings: Sync + settings to apply to contents of this team folder. + """ + + __slots__ = [ + '_sync_setting_value', + '_sync_setting_present', + '_content_sync_settings_value', + '_content_sync_settings_present', + ] + + _has_required_fields = True + + def __init__(self, + team_folder_id=None, + sync_setting=None, + content_sync_settings=None): + super(TeamFolderUpdateSyncSettingsArg, self).__init__(team_folder_id) + self._sync_setting_value = None + self._sync_setting_present = False + self._content_sync_settings_value = None + self._content_sync_settings_present = False + if sync_setting is not None: + self.sync_setting = sync_setting + if content_sync_settings is not None: + self.content_sync_settings = content_sync_settings + + @property + def sync_setting(self): + """ + Sync setting to apply to the team folder itself. Only meaningful if the + team folder is not a shared team root. + + :rtype: files.SyncSettingArg + """ + if self._sync_setting_present: + return self._sync_setting_value + else: + return None + + @sync_setting.setter + def sync_setting(self, val): + if val is None: + del self.sync_setting + return + self._sync_setting_validator.validate_type_only(val) + self._sync_setting_value = val + self._sync_setting_present = True + + @sync_setting.deleter + def sync_setting(self): + self._sync_setting_value = None + self._sync_setting_present = False + + @property + def content_sync_settings(self): + """ + Sync settings to apply to contents of this team folder. + + :rtype: list of [files.ContentSyncSettingArg] + """ + if self._content_sync_settings_present: + return self._content_sync_settings_value + else: + return None + + @content_sync_settings.setter + def content_sync_settings(self, val): + if val is None: + del self.content_sync_settings + return + val = self._content_sync_settings_validator.validate(val) + self._content_sync_settings_value = val + self._content_sync_settings_present = True + + @content_sync_settings.deleter + def content_sync_settings(self): + self._content_sync_settings_value = None + self._content_sync_settings_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderUpdateSyncSettingsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamFolderUpdateSyncSettingsArg(team_folder_id={!r}, sync_setting={!r}, content_sync_settings={!r})'.format( + self._team_folder_id_value, + self._sync_setting_value, + self._content_sync_settings_value, + ) + +TeamFolderUpdateSyncSettingsArg_validator = bv.Struct(TeamFolderUpdateSyncSettingsArg) + +class TeamFolderUpdateSyncSettingsError(BaseTeamFolderError): + """ + 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 SyncSettingsError + TeamFolderUpdateSyncSettingsError.sync_settings_error: An error occurred + setting the sync settings. + """ + + @classmethod + def sync_settings_error(cls, val): + """ + Create an instance of this class set to the ``sync_settings_error`` tag + with value ``val``. + + :param files.SyncSettingsError val: + :rtype: TeamFolderUpdateSyncSettingsError + """ + return cls('sync_settings_error', val) + + def is_sync_settings_error(self): + """ + Check if the union tag is ``sync_settings_error``. + + :rtype: bool + """ + return self._tag == 'sync_settings_error' + + def get_sync_settings_error(self): + """ + An error occurred setting the sync settings. + + Only call this if :meth:`is_sync_settings_error` is true. + + :rtype: files.SyncSettingsError + """ + if not self.is_sync_settings_error(): + raise AttributeError("tag 'sync_settings_error' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderUpdateSyncSettingsError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamFolderUpdateSyncSettingsError(%r, %r)' % (self._tag, self._value) + +TeamFolderUpdateSyncSettingsError_validator = bv.Union(TeamFolderUpdateSyncSettingsError) + +class TeamGetInfoResult(bb.Struct): + """ + :ivar team.TeamGetInfoResult.name: The name of the team. + :ivar team.TeamGetInfoResult.team_id: The ID of the team. + :ivar team.TeamGetInfoResult.num_licensed_users: The number of licenses + available to the team. + :ivar team.TeamGetInfoResult.num_provisioned_users: The number of accounts + that have been invited or are already active members of the team. """ __slots__ = [ @@ -13319,7 +15419,7 @@ class TeamGetInfoResult(object): """ The number of licenses available to the team. - :rtype: long + :rtype: int """ if self._num_licensed_users_present: return self._num_licensed_users_value @@ -13343,7 +15443,7 @@ class TeamGetInfoResult(object): The number of accounts that have been invited or are already active members of the team. - :rtype: long + :rtype: int """ if self._num_provisioned_users_present: return self._num_provisioned_users_value @@ -13364,7 +15464,7 @@ class TeamGetInfoResult(object): @property def policies(self): """ - :rtype: team_policies.TeamMemberPolicies_validator + :rtype: team_policies.TeamMemberPolicies """ if self._policies_present: return self._policies_value @@ -13382,6 +15482,9 @@ class TeamGetInfoResult(object): self._policies_value = None self._policies_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamGetInfoResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamGetInfoResult(name={!r}, team_id={!r}, num_licensed_users={!r}, num_provisioned_users={!r}, policies={!r})'.format( self._name_value, @@ -13393,12 +15496,12 @@ class TeamGetInfoResult(object): TeamGetInfoResult_validator = bv.Struct(TeamGetInfoResult) -class TeamMemberInfo(object): +class TeamMemberInfo(bb.Struct): """ Information about a team member. - :ivar profile: Profile of a user as a member of a team. - :ivar role: The user's role in the team. + :ivar team.TeamMemberInfo.profile: Profile of a user as a member of a team. + :ivar team.TeamMemberInfo.role: The user's role in the team. """ __slots__ = [ @@ -13468,6 +15571,9 @@ class TeamMemberInfo(object): self._role_value = None self._role_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMemberInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMemberInfo(profile={!r}, role={!r})'.format( self._profile_value, @@ -13480,8 +15586,10 @@ class TeamMemberProfile(MemberProfile): """ Profile of a user as a member of a team. - :ivar groups: List of group IDs of groups that the user belongs to. - :ivar member_folder_id: The namespace id of the user's root folder. + :ivar team.TeamMemberProfile.groups: List of group IDs of groups that the + user belongs to. + :ivar team.TeamMemberProfile.member_folder_id: The namespace id of the + user's root folder. """ __slots__ = [ @@ -13505,7 +15613,10 @@ class TeamMemberProfile(MemberProfile): external_id=None, account_id=None, joined_on=None, - persistent_id=None): + suspended_on=None, + persistent_id=None, + is_directory_restricted=None, + profile_photo_url=None): super(TeamMemberProfile, self).__init__(team_member_id, email, email_verified, @@ -13515,7 +15626,10 @@ class TeamMemberProfile(MemberProfile): external_id, account_id, joined_on, - persistent_id) + suspended_on, + persistent_id, + is_directory_restricted, + profile_photo_url) self._groups_value = None self._groups_present = False self._member_folder_id_value = None @@ -13571,8 +15685,11 @@ class TeamMemberProfile(MemberProfile): self._member_folder_id_value = None self._member_folder_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMemberProfile, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'TeamMemberProfile(team_member_id={!r}, email={!r}, email_verified={!r}, status={!r}, name={!r}, membership_type={!r}, groups={!r}, member_folder_id={!r}, external_id={!r}, account_id={!r}, joined_on={!r}, persistent_id={!r})'.format( + return 'TeamMemberProfile(team_member_id={!r}, email={!r}, email_verified={!r}, status={!r}, name={!r}, membership_type={!r}, groups={!r}, member_folder_id={!r}, external_id={!r}, account_id={!r}, joined_on={!r}, suspended_on={!r}, persistent_id={!r}, is_directory_restricted={!r}, profile_photo_url={!r})'.format( self._team_member_id_value, self._email_value, self._email_verified_value, @@ -13584,7 +15701,10 @@ class TeamMemberProfile(MemberProfile): self._external_id_value, self._account_id_value, self._joined_on_value, + self._suspended_on_value, self._persistent_id_value, + self._is_directory_restricted_value, + self._profile_photo_url_value, ) TeamMemberProfile_validator = bv.Struct(TeamMemberProfile) @@ -13597,13 +15717,15 @@ class TeamMemberStatus(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar active: User has successfully joined the team. - :ivar invited: User has been invited to a team, but has not joined the team - yet. - :ivar suspended: User is no longer a member of the team, but the account can - be un-suspended, re-establishing the user as a team member. - :ivar RemovedStatus removed: User is no longer a member of the team. Removed - users are only listed when include_removed is true in members/list. + :ivar team.TeamMemberStatus.active: User has successfully joined the team. + :ivar team.TeamMemberStatus.invited: User has been invited to a team, but + has not joined the team yet. + :ivar team.TeamMemberStatus.suspended: User is no longer a member of the + team, but the account can be un-suspended, re-establishing the user as a + team member. + :ivar RemovedStatus TeamMemberStatus.removed: User is no longer a member of + the team. Removed users are only listed when include_removed is true in + members/list. """ _catch_all = None @@ -13670,6 +15792,9 @@ class TeamMemberStatus(bb.Union): raise AttributeError("tag 'removed' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMemberStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMemberStatus(%r, %r)' % (self._tag, self._value) @@ -13681,10 +15806,10 @@ class TeamMembershipType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar full: User uses a license and has full access to team resources like - the shared quota. - :ivar limited: User does not have access to the shared quota and team admins - have restricted administrative control. + :ivar team.TeamMembershipType.full: User uses a license and has full access + to team resources like the shared quota. + :ivar team.TeamMembershipType.limited: User does not have access to the + shared quota and team admins have restricted administrative control. """ _catch_all = None @@ -13709,14 +15834,18 @@ class TeamMembershipType(bb.Union): """ return self._tag == 'limited' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMembershipType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMembershipType(%r, %r)' % (self._tag, self._value) TeamMembershipType_validator = bv.Union(TeamMembershipType) -class TeamNamespacesListArg(object): +class TeamNamespacesListArg(bb.Struct): """ - :ivar limit: Specifying a value here has no effect. + :ivar team.TeamNamespacesListArg.limit: Specifying a value here has no + effect. """ __slots__ = [ @@ -13738,7 +15867,7 @@ class TeamNamespacesListArg(object): """ Specifying a value here has no effect. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -13756,6 +15885,9 @@ class TeamNamespacesListArg(object): self._limit_value = None self._limit_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamNamespacesListArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamNamespacesListArg(limit={!r})'.format( self._limit_value, @@ -13763,10 +15895,10 @@ class TeamNamespacesListArg(object): TeamNamespacesListArg_validator = bv.Struct(TeamNamespacesListArg) -class TeamNamespacesListContinueArg(object): +class TeamNamespacesListContinueArg(bb.Struct): """ - :ivar cursor: Indicates from what point to get the next set of - team-accessible namespaces. + :ivar team.TeamNamespacesListContinueArg.cursor: Indicates from what point + to get the next set of team-accessible namespaces. """ __slots__ = [ @@ -13807,6 +15939,9 @@ class TeamNamespacesListContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamNamespacesListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamNamespacesListContinueArg(cursor={!r})'.format( self._cursor_value, @@ -13814,28 +15949,29 @@ class TeamNamespacesListContinueArg(object): TeamNamespacesListContinueArg_validator = bv.Struct(TeamNamespacesListContinueArg) -class TeamNamespacesListContinueError(bb.Union): +class TeamNamespacesListError(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. + :ivar team.TeamNamespacesListError.invalid_arg: Argument passed in is + invalid. """ _catch_all = 'other' # Attribute is overwritten below the class definition - invalid_cursor = None + invalid_arg = None # Attribute is overwritten below the class definition other = None - def is_invalid_cursor(self): + def is_invalid_arg(self): """ - Check if the union tag is ``invalid_cursor``. + Check if the union tag is ``invalid_arg``. :rtype: bool """ - return self._tag == 'invalid_cursor' + return self._tag == 'invalid_arg' def is_other(self): """ @@ -13845,21 +15981,54 @@ class TeamNamespacesListContinueError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamNamespacesListError, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamNamespacesListError(%r, %r)' % (self._tag, self._value) + +TeamNamespacesListError_validator = bv.Union(TeamNamespacesListError) + +class TeamNamespacesListContinueError(TeamNamespacesListError): + """ + 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 team.TeamNamespacesListContinueError.invalid_cursor: The cursor is + invalid. + """ + + # Attribute is overwritten below the class definition + invalid_cursor = None + + def is_invalid_cursor(self): + """ + Check if the union tag is ``invalid_cursor``. + + :rtype: bool + """ + return self._tag == 'invalid_cursor' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamNamespacesListContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamNamespacesListContinueError(%r, %r)' % (self._tag, self._value) TeamNamespacesListContinueError_validator = bv.Union(TeamNamespacesListContinueError) -class TeamNamespacesListResult(object): +class TeamNamespacesListResult(bb.Struct): """ Result for :meth:`dropbox.dropbox.Dropbox.team_namespaces_list`. - :ivar namespaces: List of all namespaces the team can access. - :ivar cursor: Pass the cursor into + :ivar team.TeamNamespacesListResult.namespaces: List of all namespaces the + team can access. + :ivar team.TeamNamespacesListResult.cursor: Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_namespaces_list_continue` to obtain additional namespaces. Note that duplicate namespaces may be returned. - :ivar has_more: Is true if there are additional namespaces that have not - been returned yet. + :ivar team.TeamNamespacesListResult.has_more: Is true if there are + additional namespaces that have not been returned yet. """ __slots__ = [ @@ -13962,6 +16131,9 @@ class TeamNamespacesListResult(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamNamespacesListResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamNamespacesListResult(namespaces={!r}, cursor={!r}, has_more={!r})'.format( self._namespaces_value, @@ -13971,6 +16143,72 @@ class TeamNamespacesListResult(object): TeamNamespacesListResult_validator = bv.Struct(TeamNamespacesListResult) +class TeamReportFailureReason(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 team.TeamReportFailureReason.temporary_error: We couldn't create the + report, but we think this was a fluke. Everything should work if you try + it again. + :ivar team.TeamReportFailureReason.many_reports_at_once: Too many other + reports are being created right now. Try creating this report again once + the others finish. + :ivar team.TeamReportFailureReason.too_much_data: We couldn't create the + report. Try creating the report again with less data. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + temporary_error = None + # Attribute is overwritten below the class definition + many_reports_at_once = None + # Attribute is overwritten below the class definition + too_much_data = None + # Attribute is overwritten below the class definition + other = None + + def is_temporary_error(self): + """ + Check if the union tag is ``temporary_error``. + + :rtype: bool + """ + return self._tag == 'temporary_error' + + def is_many_reports_at_once(self): + """ + Check if the union tag is ``many_reports_at_once``. + + :rtype: bool + """ + return self._tag == 'many_reports_at_once' + + def is_too_much_data(self): + """ + Check if the union tag is ``too_much_data``. + + :rtype: bool + """ + return self._tag == 'too_much_data' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamReportFailureReason, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamReportFailureReason(%r, %r)' % (self._tag, self._value) + +TeamReportFailureReason_validator = bv.Union(TeamReportFailureReason) + class TokenGetAuthenticatedAdminError(bb.Union): """ Error returned by @@ -13980,12 +16218,13 @@ class TokenGetAuthenticatedAdminError(bb.Union): 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. + :ivar team.TokenGetAuthenticatedAdminError.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 team.TokenGetAuthenticatedAdminError.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' @@ -14020,17 +16259,21 @@ class TokenGetAuthenticatedAdminError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TokenGetAuthenticatedAdminError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TokenGetAuthenticatedAdminError(%r, %r)' % (self._tag, self._value) TokenGetAuthenticatedAdminError_validator = bv.Union(TokenGetAuthenticatedAdminError) -class TokenGetAuthenticatedAdminResult(object): +class TokenGetAuthenticatedAdminResult(bb.Struct): """ Results for :meth:`dropbox.dropbox.Dropbox.team_token_get_authenticated_admin`. - :ivar admin_profile: The admin who authorized the token. + :ivar team.TokenGetAuthenticatedAdminResult.admin_profile: The admin who + authorized the token. """ __slots__ = [ @@ -14070,6 +16313,9 @@ class TokenGetAuthenticatedAdminResult(object): self._admin_profile_value = None self._admin_profile_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TokenGetAuthenticatedAdminResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TokenGetAuthenticatedAdminResult(admin_profile={!r})'.format( self._admin_profile_value, @@ -14085,10 +16331,11 @@ class UploadApiRateLimitValue(bb.Union): 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. + :ivar team.UploadApiRateLimitValue.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 int team.UploadApiRateLimitValue.limit: The number of upload API calls + allowed per month. """ _catch_all = 'other' @@ -14103,7 +16350,7 @@ class UploadApiRateLimitValue(bb.Union): Create an instance of this class set to the ``limit`` tag with value ``val``. - :param long val: + :param int val: :rtype: UploadApiRateLimitValue """ return cls('limit', val) @@ -14138,18 +16385,21 @@ class UploadApiRateLimitValue(bb.Union): Only call this if :meth:`is_limit` is true. - :rtype: long + :rtype: int """ if not self.is_limit(): raise AttributeError("tag 'limit' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UploadApiRateLimitValue, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UploadApiRateLimitValue(%r, %r)' % (self._tag, self._value) UploadApiRateLimitValue_validator = bv.Union(UploadApiRateLimitValue) -class UserCustomQuotaArg(object): +class UserCustomQuotaArg(bb.Struct): """ User and their required custom quota in GB (1 TB = 1024 GB). """ @@ -14199,7 +16449,7 @@ class UserCustomQuotaArg(object): @property def quota_gb(self): """ - :rtype: long + :rtype: int """ if self._quota_gb_present: return self._quota_gb_value @@ -14217,6 +16467,9 @@ class UserCustomQuotaArg(object): self._quota_gb_value = None self._quota_gb_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserCustomQuotaArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserCustomQuotaArg(user={!r}, quota_gb={!r})'.format( self._user_value, @@ -14225,7 +16478,7 @@ class UserCustomQuotaArg(object): UserCustomQuotaArg_validator = bv.Struct(UserCustomQuotaArg) -class UserCustomQuotaResult(object): +class UserCustomQuotaResult(bb.Struct): """ User and their custom quota in GB (1 TB = 1024 GB). No quota returns if the user has no custom quota set. @@ -14276,7 +16529,7 @@ class UserCustomQuotaResult(object): @property def quota_gb(self): """ - :rtype: long + :rtype: int """ if self._quota_gb_present: return self._quota_gb_value @@ -14297,6 +16550,9 @@ class UserCustomQuotaResult(object): self._quota_gb_value = None self._quota_gb_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserCustomQuotaResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserCustomQuotaResult(user={!r}, quota_gb={!r})'.format( self._user_value, @@ -14404,6 +16660,9 @@ class UserSelectorArg(bb.Union): raise AttributeError("tag 'email' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserSelectorArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserSelectorArg(%r, %r)' % (self._tag, self._value) @@ -14418,9 +16677,11 @@ class UsersSelectorArg(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar list of [str] team_member_ids: List of member IDs. - :ivar list of [str] external_ids: List of external user IDs. - :ivar list of [str] emails: List of email addresses. + :ivar list of [str] team.UsersSelectorArg.team_member_ids: List of member + IDs. + :ivar list of [str] team.UsersSelectorArg.external_ids: List of external + user IDs. + :ivar list of [str] team.UsersSelectorArg.emails: List of email addresses. """ _catch_all = None @@ -14518,6 +16779,9 @@ class UsersSelectorArg(bb.Union): raise AttributeError("tag 'emails' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UsersSelectorArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UsersSelectorArg(%r, %r)' % (self._tag, self._value) @@ -14526,7 +16790,7 @@ UsersSelectorArg_validator = bv.Union(UsersSelectorArg) GroupsGetInfoResult_validator = bv.List(GroupsGetInfoItem_validator) MembersGetInfoResult_validator = bv.List(MembersGetInfoItem_validator) NumberPerDay_validator = bv.List(bv.Nullable(bv.UInt64())) -UserQuota_validator = bv.UInt32(min_value=25) +UserQuota_validator = bv.UInt32(min_value=15) DeviceSession._session_id_validator = bv.String() DeviceSession._ip_address_validator = bv.Nullable(bv.String()) DeviceSession._country_validator = bv.Nullable(bv.String()) @@ -14736,25 +17000,108 @@ DevicesActive._all_fields_ = [ ('total', DevicesActive._total_validator), ] +ExcludedUsersListArg._limit_validator = bv.UInt32(min_value=1, max_value=1000) +ExcludedUsersListArg._all_field_names_ = set(['limit']) +ExcludedUsersListArg._all_fields_ = [('limit', ExcludedUsersListArg._limit_validator)] + +ExcludedUsersListContinueArg._cursor_validator = bv.String() +ExcludedUsersListContinueArg._all_field_names_ = set(['cursor']) +ExcludedUsersListContinueArg._all_fields_ = [('cursor', ExcludedUsersListContinueArg._cursor_validator)] + +ExcludedUsersListContinueError._invalid_cursor_validator = bv.Void() +ExcludedUsersListContinueError._other_validator = bv.Void() +ExcludedUsersListContinueError._tagmap = { + 'invalid_cursor': ExcludedUsersListContinueError._invalid_cursor_validator, + 'other': ExcludedUsersListContinueError._other_validator, +} + +ExcludedUsersListContinueError.invalid_cursor = ExcludedUsersListContinueError('invalid_cursor') +ExcludedUsersListContinueError.other = ExcludedUsersListContinueError('other') + +ExcludedUsersListError._list_error_validator = bv.Void() +ExcludedUsersListError._other_validator = bv.Void() +ExcludedUsersListError._tagmap = { + 'list_error': ExcludedUsersListError._list_error_validator, + 'other': ExcludedUsersListError._other_validator, +} + +ExcludedUsersListError.list_error = ExcludedUsersListError('list_error') +ExcludedUsersListError.other = ExcludedUsersListError('other') + +ExcludedUsersListResult._users_validator = bv.List(MemberProfile_validator) +ExcludedUsersListResult._cursor_validator = bv.Nullable(bv.String()) +ExcludedUsersListResult._has_more_validator = bv.Boolean() +ExcludedUsersListResult._all_field_names_ = set([ + 'users', + 'cursor', + 'has_more', +]) +ExcludedUsersListResult._all_fields_ = [ + ('users', ExcludedUsersListResult._users_validator), + ('cursor', ExcludedUsersListResult._cursor_validator), + ('has_more', ExcludedUsersListResult._has_more_validator), +] + +ExcludedUsersUpdateArg._users_validator = bv.Nullable(bv.List(UserSelectorArg_validator)) +ExcludedUsersUpdateArg._all_field_names_ = set(['users']) +ExcludedUsersUpdateArg._all_fields_ = [('users', ExcludedUsersUpdateArg._users_validator)] + +ExcludedUsersUpdateError._users_not_in_team_validator = bv.Void() +ExcludedUsersUpdateError._too_many_users_validator = bv.Void() +ExcludedUsersUpdateError._other_validator = bv.Void() +ExcludedUsersUpdateError._tagmap = { + 'users_not_in_team': ExcludedUsersUpdateError._users_not_in_team_validator, + 'too_many_users': ExcludedUsersUpdateError._too_many_users_validator, + 'other': ExcludedUsersUpdateError._other_validator, +} + +ExcludedUsersUpdateError.users_not_in_team = ExcludedUsersUpdateError('users_not_in_team') +ExcludedUsersUpdateError.too_many_users = ExcludedUsersUpdateError('too_many_users') +ExcludedUsersUpdateError.other = ExcludedUsersUpdateError('other') + +ExcludedUsersUpdateResult._status_validator = ExcludedUsersUpdateStatus_validator +ExcludedUsersUpdateResult._all_field_names_ = set(['status']) +ExcludedUsersUpdateResult._all_fields_ = [('status', ExcludedUsersUpdateResult._status_validator)] + +ExcludedUsersUpdateStatus._success_validator = bv.Void() +ExcludedUsersUpdateStatus._other_validator = bv.Void() +ExcludedUsersUpdateStatus._tagmap = { + 'success': ExcludedUsersUpdateStatus._success_validator, + 'other': ExcludedUsersUpdateStatus._other_validator, +} + +ExcludedUsersUpdateStatus.success = ExcludedUsersUpdateStatus('success') +ExcludedUsersUpdateStatus.other = ExcludedUsersUpdateStatus('other') + Feature._upload_api_rate_limit_validator = bv.Void() Feature._has_team_shared_dropbox_validator = bv.Void() +Feature._has_team_file_events_validator = bv.Void() +Feature._has_team_selective_sync_validator = bv.Void() Feature._other_validator = bv.Void() Feature._tagmap = { 'upload_api_rate_limit': Feature._upload_api_rate_limit_validator, 'has_team_shared_dropbox': Feature._has_team_shared_dropbox_validator, + 'has_team_file_events': Feature._has_team_file_events_validator, + 'has_team_selective_sync': Feature._has_team_selective_sync_validator, 'other': Feature._other_validator, } Feature.upload_api_rate_limit = Feature('upload_api_rate_limit') Feature.has_team_shared_dropbox = Feature('has_team_shared_dropbox') +Feature.has_team_file_events = Feature('has_team_file_events') +Feature.has_team_selective_sync = Feature('has_team_selective_sync') Feature.other = Feature('other') FeatureValue._upload_api_rate_limit_validator = UploadApiRateLimitValue_validator FeatureValue._has_team_shared_dropbox_validator = HasTeamSharedDropboxValue_validator +FeatureValue._has_team_file_events_validator = HasTeamFileEventsValue_validator +FeatureValue._has_team_selective_sync_validator = HasTeamSelectiveSyncValue_validator FeatureValue._other_validator = bv.Void() FeatureValue._tagmap = { 'upload_api_rate_limit': FeatureValue._upload_api_rate_limit_validator, 'has_team_shared_dropbox': FeatureValue._has_team_shared_dropbox_validator, + 'has_team_file_events': FeatureValue._has_team_file_events_validator, + 'has_team_selective_sync': FeatureValue._has_team_selective_sync_validator, 'other': FeatureValue._other_validator, } @@ -15033,7 +17380,7 @@ GroupMembersAddError.group_not_in_team = GroupMembersAddError('group_not_in_team GroupMembersAddError.user_must_be_active_to_be_owner = GroupMembersAddError('user_must_be_active_to_be_owner') GroupMembersChangeResult._group_info_validator = GroupFullInfo_validator -GroupMembersChangeResult._async_job_id_validator = async.AsyncJobId_validator +GroupMembersChangeResult._async_job_id_validator = async_.AsyncJobId_validator GroupMembersChangeResult._all_field_names_ = set([ 'group_info', 'async_job_id', @@ -15226,7 +17573,7 @@ GroupsPollError._access_denied_validator = bv.Void() GroupsPollError._tagmap = { 'access_denied': GroupsPollError._access_denied_validator, } -GroupsPollError._tagmap.update(async.PollError._tagmap) +GroupsPollError._tagmap.update(async_.PollError._tagmap) GroupsPollError.access_denied = GroupsPollError('access_denied') @@ -15237,6 +17584,24 @@ GroupsSelector._tagmap = { 'group_external_ids': GroupsSelector._group_external_ids_validator, } +HasTeamFileEventsValue._enabled_validator = bv.Boolean() +HasTeamFileEventsValue._other_validator = bv.Void() +HasTeamFileEventsValue._tagmap = { + 'enabled': HasTeamFileEventsValue._enabled_validator, + 'other': HasTeamFileEventsValue._other_validator, +} + +HasTeamFileEventsValue.other = HasTeamFileEventsValue('other') + +HasTeamSelectiveSyncValue._has_team_selective_sync_validator = bv.Boolean() +HasTeamSelectiveSyncValue._other_validator = bv.Void() +HasTeamSelectiveSyncValue._tagmap = { + 'has_team_selective_sync': HasTeamSelectiveSyncValue._has_team_selective_sync_validator, + 'other': HasTeamSelectiveSyncValue._other_validator, +} + +HasTeamSelectiveSyncValue.other = HasTeamSelectiveSyncValue('other') + HasTeamSharedDropboxValue._has_team_shared_dropbox_validator = bv.Boolean() HasTeamSharedDropboxValue._other_validator = bv.Void() HasTeamSharedDropboxValue._tagmap = { @@ -15461,6 +17826,7 @@ MemberAddArg._member_external_id_validator = bv.Nullable(team_common.MemberExter MemberAddArg._member_persistent_id_validator = bv.Nullable(bv.String()) MemberAddArg._send_welcome_email_validator = bv.Boolean() MemberAddArg._role_validator = AdminTier_validator +MemberAddArg._is_directory_restricted_validator = bv.Nullable(bv.Boolean()) MemberAddArg._all_field_names_ = set([ 'member_email', 'member_given_name', @@ -15469,6 +17835,7 @@ MemberAddArg._all_field_names_ = set([ 'member_persistent_id', 'send_welcome_email', 'role', + 'is_directory_restricted', ]) MemberAddArg._all_fields_ = [ ('member_email', MemberAddArg._member_email_validator), @@ -15478,6 +17845,7 @@ MemberAddArg._all_fields_ = [ ('member_persistent_id', MemberAddArg._member_persistent_id_validator), ('send_welcome_email', MemberAddArg._send_welcome_email_validator), ('role', MemberAddArg._role_validator), + ('is_directory_restricted', MemberAddArg._is_directory_restricted_validator), ] MemberAddResult._success_validator = TeamMemberInfo_validator @@ -15542,7 +17910,10 @@ MemberProfile._status_validator = TeamMemberStatus_validator MemberProfile._name_validator = users.Name_validator MemberProfile._membership_type_validator = TeamMembershipType_validator MemberProfile._joined_on_validator = bv.Nullable(common.DropboxTimestamp_validator) +MemberProfile._suspended_on_validator = bv.Nullable(common.DropboxTimestamp_validator) MemberProfile._persistent_id_validator = bv.Nullable(bv.String()) +MemberProfile._is_directory_restricted_validator = bv.Nullable(bv.Boolean()) +MemberProfile._profile_photo_url_validator = bv.Nullable(bv.String()) MemberProfile._all_field_names_ = set([ 'team_member_id', 'external_id', @@ -15553,7 +17924,10 @@ MemberProfile._all_field_names_ = set([ 'name', 'membership_type', 'joined_on', + 'suspended_on', 'persistent_id', + 'is_directory_restricted', + 'profile_photo_url', ]) MemberProfile._all_fields_ = [ ('team_member_id', MemberProfile._team_member_id_validator), @@ -15565,7 +17939,10 @@ MemberProfile._all_fields_ = [ ('name', MemberProfile._name_validator), ('membership_type', MemberProfile._membership_type_validator), ('joined_on', MemberProfile._joined_on_validator), + ('suspended_on', MemberProfile._suspended_on_validator), ('persistent_id', MemberProfile._persistent_id_validator), + ('is_directory_restricted', MemberProfile._is_directory_restricted_validator), + ('profile_photo_url', MemberProfile._profile_photo_url_validator), ] UserSelectorError._user_not_found_validator = bv.Void() @@ -15600,25 +17977,33 @@ MembersAddJobStatus._tagmap = { 'complete': MembersAddJobStatus._complete_validator, 'failed': MembersAddJobStatus._failed_validator, } -MembersAddJobStatus._tagmap.update(async.PollResultBase._tagmap) +MembersAddJobStatus._tagmap.update(async_.PollResultBase._tagmap) MembersAddLaunch._complete_validator = bv.List(MemberAddResult_validator) MembersAddLaunch._tagmap = { 'complete': MembersAddLaunch._complete_validator, } -MembersAddLaunch._tagmap.update(async.LaunchResultBase._tagmap) +MembersAddLaunch._tagmap.update(async_.LaunchResultBase._tagmap) -MembersDeactivateArg._user_validator = UserSelectorArg_validator -MembersDeactivateArg._wipe_data_validator = bv.Boolean() -MembersDeactivateArg._all_field_names_ = set([ - 'user', - 'wipe_data', -]) -MembersDeactivateArg._all_fields_ = [ - ('user', MembersDeactivateArg._user_validator), - ('wipe_data', MembersDeactivateArg._wipe_data_validator), +MembersDeactivateBaseArg._user_validator = UserSelectorArg_validator +MembersDeactivateBaseArg._all_field_names_ = set(['user']) +MembersDeactivateBaseArg._all_fields_ = [('user', MembersDeactivateBaseArg._user_validator)] + +MembersDataTransferArg._transfer_dest_id_validator = UserSelectorArg_validator +MembersDataTransferArg._transfer_admin_id_validator = UserSelectorArg_validator +MembersDataTransferArg._all_field_names_ = MembersDeactivateBaseArg._all_field_names_.union(set([ + 'transfer_dest_id', + 'transfer_admin_id', +])) +MembersDataTransferArg._all_fields_ = MembersDeactivateBaseArg._all_fields_ + [ + ('transfer_dest_id', MembersDataTransferArg._transfer_dest_id_validator), + ('transfer_admin_id', MembersDataTransferArg._transfer_admin_id_validator), ] +MembersDeactivateArg._wipe_data_validator = bv.Boolean() +MembersDeactivateArg._all_field_names_ = MembersDeactivateBaseArg._all_field_names_.union(set(['wipe_data'])) +MembersDeactivateArg._all_fields_ = MembersDeactivateBaseArg._all_fields_ + [('wipe_data', MembersDeactivateArg._wipe_data_validator)] + MembersDeactivateError._user_not_in_team_validator = bv.Void() MembersDeactivateError._other_validator = bv.Void() MembersDeactivateError._tagmap = { @@ -15729,46 +18114,57 @@ MembersRemoveArg._all_fields_ = MembersDeactivateArg._all_fields_ + [ ('keep_account', MembersRemoveArg._keep_account_validator), ] +MembersTransferFilesError._removed_and_transfer_dest_should_differ_validator = bv.Void() +MembersTransferFilesError._removed_and_transfer_admin_should_differ_validator = bv.Void() +MembersTransferFilesError._transfer_dest_user_not_found_validator = bv.Void() +MembersTransferFilesError._transfer_dest_user_not_in_team_validator = bv.Void() +MembersTransferFilesError._transfer_admin_user_not_in_team_validator = bv.Void() +MembersTransferFilesError._transfer_admin_user_not_found_validator = bv.Void() +MembersTransferFilesError._unspecified_transfer_admin_id_validator = bv.Void() +MembersTransferFilesError._transfer_admin_is_not_admin_validator = bv.Void() +MembersTransferFilesError._recipient_not_verified_validator = bv.Void() +MembersTransferFilesError._tagmap = { + 'removed_and_transfer_dest_should_differ': MembersTransferFilesError._removed_and_transfer_dest_should_differ_validator, + 'removed_and_transfer_admin_should_differ': MembersTransferFilesError._removed_and_transfer_admin_should_differ_validator, + 'transfer_dest_user_not_found': MembersTransferFilesError._transfer_dest_user_not_found_validator, + 'transfer_dest_user_not_in_team': MembersTransferFilesError._transfer_dest_user_not_in_team_validator, + 'transfer_admin_user_not_in_team': MembersTransferFilesError._transfer_admin_user_not_in_team_validator, + 'transfer_admin_user_not_found': MembersTransferFilesError._transfer_admin_user_not_found_validator, + 'unspecified_transfer_admin_id': MembersTransferFilesError._unspecified_transfer_admin_id_validator, + 'transfer_admin_is_not_admin': MembersTransferFilesError._transfer_admin_is_not_admin_validator, + 'recipient_not_verified': MembersTransferFilesError._recipient_not_verified_validator, +} +MembersTransferFilesError._tagmap.update(MembersDeactivateError._tagmap) + +MembersTransferFilesError.removed_and_transfer_dest_should_differ = MembersTransferFilesError('removed_and_transfer_dest_should_differ') +MembersTransferFilesError.removed_and_transfer_admin_should_differ = MembersTransferFilesError('removed_and_transfer_admin_should_differ') +MembersTransferFilesError.transfer_dest_user_not_found = MembersTransferFilesError('transfer_dest_user_not_found') +MembersTransferFilesError.transfer_dest_user_not_in_team = MembersTransferFilesError('transfer_dest_user_not_in_team') +MembersTransferFilesError.transfer_admin_user_not_in_team = MembersTransferFilesError('transfer_admin_user_not_in_team') +MembersTransferFilesError.transfer_admin_user_not_found = MembersTransferFilesError('transfer_admin_user_not_found') +MembersTransferFilesError.unspecified_transfer_admin_id = MembersTransferFilesError('unspecified_transfer_admin_id') +MembersTransferFilesError.transfer_admin_is_not_admin = MembersTransferFilesError('transfer_admin_is_not_admin') +MembersTransferFilesError.recipient_not_verified = MembersTransferFilesError('recipient_not_verified') + MembersRemoveError._remove_last_admin_validator = bv.Void() -MembersRemoveError._removed_and_transfer_dest_should_differ_validator = bv.Void() -MembersRemoveError._removed_and_transfer_admin_should_differ_validator = bv.Void() -MembersRemoveError._transfer_dest_user_not_found_validator = bv.Void() -MembersRemoveError._transfer_dest_user_not_in_team_validator = bv.Void() -MembersRemoveError._transfer_admin_user_not_found_validator = bv.Void() -MembersRemoveError._transfer_admin_user_not_in_team_validator = bv.Void() -MembersRemoveError._unspecified_transfer_admin_id_validator = bv.Void() -MembersRemoveError._transfer_admin_is_not_admin_validator = bv.Void() MembersRemoveError._cannot_keep_account_and_transfer_validator = bv.Void() MembersRemoveError._cannot_keep_account_and_delete_data_validator = bv.Void() MembersRemoveError._email_address_too_long_to_be_disabled_validator = bv.Void() +MembersRemoveError._cannot_keep_invited_user_account_validator = bv.Void() MembersRemoveError._tagmap = { 'remove_last_admin': MembersRemoveError._remove_last_admin_validator, - 'removed_and_transfer_dest_should_differ': MembersRemoveError._removed_and_transfer_dest_should_differ_validator, - 'removed_and_transfer_admin_should_differ': MembersRemoveError._removed_and_transfer_admin_should_differ_validator, - 'transfer_dest_user_not_found': MembersRemoveError._transfer_dest_user_not_found_validator, - 'transfer_dest_user_not_in_team': MembersRemoveError._transfer_dest_user_not_in_team_validator, - 'transfer_admin_user_not_found': MembersRemoveError._transfer_admin_user_not_found_validator, - 'transfer_admin_user_not_in_team': MembersRemoveError._transfer_admin_user_not_in_team_validator, - 'unspecified_transfer_admin_id': MembersRemoveError._unspecified_transfer_admin_id_validator, - 'transfer_admin_is_not_admin': MembersRemoveError._transfer_admin_is_not_admin_validator, 'cannot_keep_account_and_transfer': MembersRemoveError._cannot_keep_account_and_transfer_validator, 'cannot_keep_account_and_delete_data': MembersRemoveError._cannot_keep_account_and_delete_data_validator, 'email_address_too_long_to_be_disabled': MembersRemoveError._email_address_too_long_to_be_disabled_validator, + 'cannot_keep_invited_user_account': MembersRemoveError._cannot_keep_invited_user_account_validator, } -MembersRemoveError._tagmap.update(MembersDeactivateError._tagmap) +MembersRemoveError._tagmap.update(MembersTransferFilesError._tagmap) MembersRemoveError.remove_last_admin = MembersRemoveError('remove_last_admin') -MembersRemoveError.removed_and_transfer_dest_should_differ = MembersRemoveError('removed_and_transfer_dest_should_differ') -MembersRemoveError.removed_and_transfer_admin_should_differ = MembersRemoveError('removed_and_transfer_admin_should_differ') -MembersRemoveError.transfer_dest_user_not_found = MembersRemoveError('transfer_dest_user_not_found') -MembersRemoveError.transfer_dest_user_not_in_team = MembersRemoveError('transfer_dest_user_not_in_team') -MembersRemoveError.transfer_admin_user_not_found = MembersRemoveError('transfer_admin_user_not_found') -MembersRemoveError.transfer_admin_user_not_in_team = MembersRemoveError('transfer_admin_user_not_in_team') -MembersRemoveError.unspecified_transfer_admin_id = MembersRemoveError('unspecified_transfer_admin_id') -MembersRemoveError.transfer_admin_is_not_admin = MembersRemoveError('transfer_admin_is_not_admin') MembersRemoveError.cannot_keep_account_and_transfer = MembersRemoveError('cannot_keep_account_and_transfer') MembersRemoveError.cannot_keep_account_and_delete_data = MembersRemoveError('cannot_keep_account_and_delete_data') MembersRemoveError.email_address_too_long_to_be_disabled = MembersRemoveError('email_address_too_long_to_be_disabled') +MembersRemoveError.cannot_keep_invited_user_account = MembersRemoveError('cannot_keep_invited_user_account') MembersSendWelcomeError._other_validator = bv.Void() MembersSendWelcomeError._tagmap = { @@ -15826,6 +18222,7 @@ MembersSetProfileArg._new_external_id_validator = bv.Nullable(team_common.Member MembersSetProfileArg._new_given_name_validator = bv.Nullable(common.OptionalNamePart_validator) MembersSetProfileArg._new_surname_validator = bv.Nullable(common.OptionalNamePart_validator) MembersSetProfileArg._new_persistent_id_validator = bv.Nullable(bv.String()) +MembersSetProfileArg._new_is_directory_restricted_validator = bv.Nullable(bv.Boolean()) MembersSetProfileArg._all_field_names_ = set([ 'user', 'new_email', @@ -15833,6 +18230,7 @@ MembersSetProfileArg._all_field_names_ = set([ 'new_given_name', 'new_surname', 'new_persistent_id', + 'new_is_directory_restricted', ]) MembersSetProfileArg._all_fields_ = [ ('user', MembersSetProfileArg._user_validator), @@ -15841,6 +18239,7 @@ MembersSetProfileArg._all_fields_ = [ ('new_given_name', MembersSetProfileArg._new_given_name_validator), ('new_surname', MembersSetProfileArg._new_surname_validator), ('new_persistent_id', MembersSetProfileArg._new_persistent_id_validator), + ('new_is_directory_restricted', MembersSetProfileArg._new_is_directory_restricted_validator), ] MembersSetProfileError._external_id_and_new_external_id_unsafe_validator = bv.Void() @@ -15851,6 +18250,7 @@ MembersSetProfileError._set_profile_disallowed_validator = bv.Void() MembersSetProfileError._param_cannot_be_empty_validator = bv.Void() MembersSetProfileError._persistent_id_disabled_validator = bv.Void() MembersSetProfileError._persistent_id_used_by_other_user_validator = bv.Void() +MembersSetProfileError._directory_restricted_off_validator = bv.Void() MembersSetProfileError._other_validator = bv.Void() MembersSetProfileError._tagmap = { 'external_id_and_new_external_id_unsafe': MembersSetProfileError._external_id_and_new_external_id_unsafe_validator, @@ -15861,6 +18261,7 @@ MembersSetProfileError._tagmap = { 'param_cannot_be_empty': MembersSetProfileError._param_cannot_be_empty_validator, 'persistent_id_disabled': MembersSetProfileError._persistent_id_disabled_validator, 'persistent_id_used_by_other_user': MembersSetProfileError._persistent_id_used_by_other_user_validator, + 'directory_restricted_off': MembersSetProfileError._directory_restricted_off_validator, 'other': MembersSetProfileError._other_validator, } MembersSetProfileError._tagmap.update(MemberSelectorError._tagmap) @@ -15873,6 +18274,7 @@ MembersSetProfileError.set_profile_disallowed = MembersSetProfileError('set_prof MembersSetProfileError.param_cannot_be_empty = MembersSetProfileError('param_cannot_be_empty') MembersSetProfileError.persistent_id_disabled = MembersSetProfileError('persistent_id_disabled') MembersSetProfileError.persistent_id_used_by_other_user = MembersSetProfileError('persistent_id_used_by_other_user') +MembersSetProfileError.directory_restricted_off = MembersSetProfileError('directory_restricted_off') MembersSetProfileError.other = MembersSetProfileError('other') MembersSuspendError._suspend_inactive_user_validator = bv.Void() @@ -15889,6 +18291,23 @@ MembersSuspendError.suspend_inactive_user = MembersSuspendError('suspend_inactiv MembersSuspendError.suspend_last_admin = MembersSuspendError('suspend_last_admin') MembersSuspendError.team_license_limit = MembersSuspendError('team_license_limit') +MembersTransferFormerMembersFilesError._user_data_is_being_transferred_validator = bv.Void() +MembersTransferFormerMembersFilesError._user_not_removed_validator = bv.Void() +MembersTransferFormerMembersFilesError._user_data_cannot_be_transferred_validator = bv.Void() +MembersTransferFormerMembersFilesError._user_data_already_transferred_validator = bv.Void() +MembersTransferFormerMembersFilesError._tagmap = { + 'user_data_is_being_transferred': MembersTransferFormerMembersFilesError._user_data_is_being_transferred_validator, + 'user_not_removed': MembersTransferFormerMembersFilesError._user_not_removed_validator, + 'user_data_cannot_be_transferred': MembersTransferFormerMembersFilesError._user_data_cannot_be_transferred_validator, + 'user_data_already_transferred': MembersTransferFormerMembersFilesError._user_data_already_transferred_validator, +} +MembersTransferFormerMembersFilesError._tagmap.update(MembersTransferFilesError._tagmap) + +MembersTransferFormerMembersFilesError.user_data_is_being_transferred = MembersTransferFormerMembersFilesError('user_data_is_being_transferred') +MembersTransferFormerMembersFilesError.user_not_removed = MembersTransferFormerMembersFilesError('user_not_removed') +MembersTransferFormerMembersFilesError.user_data_cannot_be_transferred = MembersTransferFormerMembersFilesError('user_data_cannot_be_transferred') +MembersTransferFormerMembersFilesError.user_data_already_transferred = MembersTransferFormerMembersFilesError('user_data_already_transferred') + MembersUnsuspendArg._user_validator = UserSelectorArg_validator MembersUnsuspendArg._all_field_names_ = set(['user']) MembersUnsuspendArg._all_fields_ = [('user', MembersUnsuspendArg._user_validator)] @@ -15994,8 +18413,15 @@ RemoveCustomQuotaResult._tagmap = { RemoveCustomQuotaResult.other = RemoveCustomQuotaResult('other') RemovedStatus._is_recoverable_validator = bv.Boolean() -RemovedStatus._all_field_names_ = set(['is_recoverable']) -RemovedStatus._all_fields_ = [('is_recoverable', RemovedStatus._is_recoverable_validator)] +RemovedStatus._is_disconnected_validator = bv.Boolean() +RemovedStatus._all_field_names_ = set([ + 'is_recoverable', + 'is_disconnected', +]) +RemovedStatus._all_fields_ = [ + ('is_recoverable', RemovedStatus._is_recoverable_validator), + ('is_disconnected', RemovedStatus._is_disconnected_validator), +] RevokeDesktopClientArg._delete_on_unlink_validator = bv.Boolean() RevokeDesktopClientArg._all_field_names_ = DeviceSessionArg._all_field_names_.union(set(['delete_on_unlink'])) @@ -16106,6 +18532,14 @@ SetCustomQuotaArg._users_and_quotas_validator = bv.List(UserCustomQuotaArg_valid SetCustomQuotaArg._all_field_names_ = set(['users_and_quotas']) SetCustomQuotaArg._all_fields_ = [('users_and_quotas', SetCustomQuotaArg._users_and_quotas_validator)] +SetCustomQuotaError._some_users_are_excluded_validator = bv.Void() +SetCustomQuotaError._tagmap = { + 'some_users_are_excluded': SetCustomQuotaError._some_users_are_excluded_validator, +} +SetCustomQuotaError._tagmap.update(CustomQuotaError._tagmap) + +SetCustomQuotaError.some_users_are_excluded = SetCustomQuotaError('some_users_are_excluded') + StorageBucket._bucket_validator = bv.String() StorageBucket._users_validator = bv.UInt64() StorageBucket._all_field_names_ = set([ @@ -16152,26 +18586,35 @@ TeamFolderArchiveJobStatus._tagmap = { 'complete': TeamFolderArchiveJobStatus._complete_validator, 'failed': TeamFolderArchiveJobStatus._failed_validator, } -TeamFolderArchiveJobStatus._tagmap.update(async.PollResultBase._tagmap) +TeamFolderArchiveJobStatus._tagmap.update(async_.PollResultBase._tagmap) TeamFolderArchiveLaunch._complete_validator = TeamFolderMetadata_validator TeamFolderArchiveLaunch._tagmap = { 'complete': TeamFolderArchiveLaunch._complete_validator, } -TeamFolderArchiveLaunch._tagmap.update(async.LaunchResultBase._tagmap) +TeamFolderArchiveLaunch._tagmap.update(async_.LaunchResultBase._tagmap) TeamFolderCreateArg._name_validator = bv.String() -TeamFolderCreateArg._all_field_names_ = set(['name']) -TeamFolderCreateArg._all_fields_ = [('name', TeamFolderCreateArg._name_validator)] +TeamFolderCreateArg._sync_setting_validator = bv.Nullable(files.SyncSettingArg_validator) +TeamFolderCreateArg._all_field_names_ = set([ + 'name', + 'sync_setting', +]) +TeamFolderCreateArg._all_fields_ = [ + ('name', TeamFolderCreateArg._name_validator), + ('sync_setting', TeamFolderCreateArg._sync_setting_validator), +] TeamFolderCreateError._invalid_folder_name_validator = bv.Void() TeamFolderCreateError._folder_name_already_used_validator = bv.Void() TeamFolderCreateError._folder_name_reserved_validator = bv.Void() +TeamFolderCreateError._sync_settings_error_validator = files.SyncSettingsError_validator TeamFolderCreateError._other_validator = bv.Void() TeamFolderCreateError._tagmap = { 'invalid_folder_name': TeamFolderCreateError._invalid_folder_name_validator, 'folder_name_already_used': TeamFolderCreateError._folder_name_already_used_validator, 'folder_name_reserved': TeamFolderCreateError._folder_name_reserved_validator, + 'sync_settings_error': TeamFolderCreateError._sync_settings_error_validator, 'other': TeamFolderCreateError._other_validator, } @@ -16247,17 +18690,23 @@ TeamFolderMetadata._team_folder_id_validator = common.SharedFolderId_validator TeamFolderMetadata._name_validator = bv.String() TeamFolderMetadata._status_validator = TeamFolderStatus_validator TeamFolderMetadata._is_team_shared_dropbox_validator = bv.Boolean() +TeamFolderMetadata._sync_setting_validator = files.SyncSetting_validator +TeamFolderMetadata._content_sync_settings_validator = bv.List(files.ContentSyncSetting_validator) TeamFolderMetadata._all_field_names_ = set([ 'team_folder_id', 'name', 'status', 'is_team_shared_dropbox', + 'sync_setting', + 'content_sync_settings', ]) TeamFolderMetadata._all_fields_ = [ ('team_folder_id', TeamFolderMetadata._team_folder_id_validator), ('name', TeamFolderMetadata._name_validator), ('status', TeamFolderMetadata._status_validator), ('is_team_shared_dropbox', TeamFolderMetadata._is_team_shared_dropbox_validator), + ('sync_setting', TeamFolderMetadata._sync_setting_validator), + ('content_sync_settings', TeamFolderMetadata._content_sync_settings_validator), ] TeamFolderPermanentlyDeleteError._tagmap = { @@ -16308,6 +18757,23 @@ TeamFolderTeamSharedDropboxError._tagmap = { TeamFolderTeamSharedDropboxError.disallowed = TeamFolderTeamSharedDropboxError('disallowed') TeamFolderTeamSharedDropboxError.other = TeamFolderTeamSharedDropboxError('other') +TeamFolderUpdateSyncSettingsArg._sync_setting_validator = bv.Nullable(files.SyncSettingArg_validator) +TeamFolderUpdateSyncSettingsArg._content_sync_settings_validator = bv.Nullable(bv.List(files.ContentSyncSettingArg_validator)) +TeamFolderUpdateSyncSettingsArg._all_field_names_ = TeamFolderIdArg._all_field_names_.union(set([ + 'sync_setting', + 'content_sync_settings', +])) +TeamFolderUpdateSyncSettingsArg._all_fields_ = TeamFolderIdArg._all_fields_ + [ + ('sync_setting', TeamFolderUpdateSyncSettingsArg._sync_setting_validator), + ('content_sync_settings', TeamFolderUpdateSyncSettingsArg._content_sync_settings_validator), +] + +TeamFolderUpdateSyncSettingsError._sync_settings_error_validator = files.SyncSettingsError_validator +TeamFolderUpdateSyncSettingsError._tagmap = { + 'sync_settings_error': TeamFolderUpdateSyncSettingsError._sync_settings_error_validator, +} +TeamFolderUpdateSyncSettingsError._tagmap.update(BaseTeamFolderError._tagmap) + TeamGetInfoResult._name_validator = bv.String() TeamGetInfoResult._team_id_validator = bv.String() TeamGetInfoResult._num_licensed_users_validator = bv.UInt32() @@ -16383,15 +18849,23 @@ TeamNamespacesListContinueArg._cursor_validator = bv.String() TeamNamespacesListContinueArg._all_field_names_ = set(['cursor']) TeamNamespacesListContinueArg._all_fields_ = [('cursor', TeamNamespacesListContinueArg._cursor_validator)] -TeamNamespacesListContinueError._invalid_cursor_validator = bv.Void() -TeamNamespacesListContinueError._other_validator = bv.Void() -TeamNamespacesListContinueError._tagmap = { - 'invalid_cursor': TeamNamespacesListContinueError._invalid_cursor_validator, - 'other': TeamNamespacesListContinueError._other_validator, +TeamNamespacesListError._invalid_arg_validator = bv.Void() +TeamNamespacesListError._other_validator = bv.Void() +TeamNamespacesListError._tagmap = { + 'invalid_arg': TeamNamespacesListError._invalid_arg_validator, + 'other': TeamNamespacesListError._other_validator, } +TeamNamespacesListError.invalid_arg = TeamNamespacesListError('invalid_arg') +TeamNamespacesListError.other = TeamNamespacesListError('other') + +TeamNamespacesListContinueError._invalid_cursor_validator = bv.Void() +TeamNamespacesListContinueError._tagmap = { + 'invalid_cursor': TeamNamespacesListContinueError._invalid_cursor_validator, +} +TeamNamespacesListContinueError._tagmap.update(TeamNamespacesListError._tagmap) + TeamNamespacesListContinueError.invalid_cursor = TeamNamespacesListContinueError('invalid_cursor') -TeamNamespacesListContinueError.other = TeamNamespacesListContinueError('other') TeamNamespacesListResult._namespaces_validator = bv.List(NamespaceMetadata_validator) TeamNamespacesListResult._cursor_validator = bv.String() @@ -16407,6 +18881,22 @@ TeamNamespacesListResult._all_fields_ = [ ('has_more', TeamNamespacesListResult._has_more_validator), ] +TeamReportFailureReason._temporary_error_validator = bv.Void() +TeamReportFailureReason._many_reports_at_once_validator = bv.Void() +TeamReportFailureReason._too_much_data_validator = bv.Void() +TeamReportFailureReason._other_validator = bv.Void() +TeamReportFailureReason._tagmap = { + 'temporary_error': TeamReportFailureReason._temporary_error_validator, + 'many_reports_at_once': TeamReportFailureReason._many_reports_at_once_validator, + 'too_much_data': TeamReportFailureReason._too_much_data_validator, + 'other': TeamReportFailureReason._other_validator, +} + +TeamReportFailureReason.temporary_error = TeamReportFailureReason('temporary_error') +TeamReportFailureReason.many_reports_at_once = TeamReportFailureReason('many_reports_at_once') +TeamReportFailureReason.too_much_data = TeamReportFailureReason('too_much_data') +TeamReportFailureReason.other = TeamReportFailureReason('other') + TokenGetAuthenticatedAdminError._mapping_not_found_validator = bv.Void() TokenGetAuthenticatedAdminError._admin_not_active_validator = bv.Void() TokenGetAuthenticatedAdminError._other_validator = bv.Void() @@ -16478,6 +18968,7 @@ UsersSelectorArg._tagmap = { devices_list_member_devices = bb.Route( 'devices/list_member_devices', + 1, False, ListMemberDevicesArg_validator, ListMemberDevicesResult_validator, @@ -16487,6 +18978,7 @@ devices_list_member_devices = bb.Route( ) devices_list_members_devices = bb.Route( 'devices/list_members_devices', + 1, False, ListMembersDevicesArg_validator, ListMembersDevicesResult_validator, @@ -16496,6 +18988,7 @@ devices_list_members_devices = bb.Route( ) devices_list_team_devices = bb.Route( 'devices/list_team_devices', + 1, True, ListTeamDevicesArg_validator, ListTeamDevicesResult_validator, @@ -16505,6 +18998,7 @@ devices_list_team_devices = bb.Route( ) devices_revoke_device_session = bb.Route( 'devices/revoke_device_session', + 1, False, RevokeDeviceSessionArg_validator, bv.Void(), @@ -16514,6 +19008,7 @@ devices_revoke_device_session = bb.Route( ) devices_revoke_device_session_batch = bb.Route( 'devices/revoke_device_session_batch', + 1, False, RevokeDeviceSessionBatchArg_validator, RevokeDeviceSessionBatchResult_validator, @@ -16523,6 +19018,7 @@ devices_revoke_device_session_batch = bb.Route( ) features_get_values = bb.Route( 'features/get_values', + 1, False, FeaturesGetValuesBatchArg_validator, FeaturesGetValuesBatchResult_validator, @@ -16532,6 +19028,7 @@ features_get_values = bb.Route( ) get_info = bb.Route( 'get_info', + 1, False, bv.Void(), TeamGetInfoResult_validator, @@ -16541,6 +19038,7 @@ get_info = bb.Route( ) groups_create = bb.Route( 'groups/create', + 1, False, GroupCreateArg_validator, GroupFullInfo_validator, @@ -16550,15 +19048,17 @@ groups_create = bb.Route( ) groups_delete = bb.Route( 'groups/delete', + 1, False, GroupSelector_validator, - async.LaunchEmptyResult_validator, + async_.LaunchEmptyResult_validator, GroupDeleteError_validator, {'host': u'api', 'style': u'rpc'}, ) groups_get_info = bb.Route( 'groups/get_info', + 1, False, GroupsSelector_validator, GroupsGetInfoResult_validator, @@ -16568,15 +19068,17 @@ groups_get_info = bb.Route( ) groups_job_status_get = bb.Route( 'groups/job_status/get', + 1, False, - async.PollArg_validator, - async.PollEmptyResult_validator, + async_.PollArg_validator, + async_.PollEmptyResult_validator, GroupsPollError_validator, {'host': u'api', 'style': u'rpc'}, ) groups_list = bb.Route( 'groups/list', + 1, False, GroupsListArg_validator, GroupsListResult_validator, @@ -16586,6 +19088,7 @@ groups_list = bb.Route( ) groups_list_continue = bb.Route( 'groups/list/continue', + 1, False, GroupsListContinueArg_validator, GroupsListResult_validator, @@ -16595,6 +19098,7 @@ groups_list_continue = bb.Route( ) groups_members_add = bb.Route( 'groups/members/add', + 1, False, GroupMembersAddArg_validator, GroupMembersChangeResult_validator, @@ -16604,6 +19108,7 @@ groups_members_add = bb.Route( ) groups_members_list = bb.Route( 'groups/members/list', + 1, False, GroupsMembersListArg_validator, GroupsMembersListResult_validator, @@ -16613,6 +19118,7 @@ groups_members_list = bb.Route( ) groups_members_list_continue = bb.Route( 'groups/members/list/continue', + 1, False, GroupsMembersListContinueArg_validator, GroupsMembersListResult_validator, @@ -16622,6 +19128,7 @@ groups_members_list_continue = bb.Route( ) groups_members_remove = bb.Route( 'groups/members/remove', + 1, False, GroupMembersRemoveArg_validator, GroupMembersChangeResult_validator, @@ -16631,6 +19138,7 @@ groups_members_remove = bb.Route( ) groups_members_set_access_type = bb.Route( 'groups/members/set_access_type', + 1, False, GroupMembersSetAccessTypeArg_validator, GroupsGetInfoResult_validator, @@ -16640,6 +19148,7 @@ groups_members_set_access_type = bb.Route( ) groups_update = bb.Route( 'groups/update', + 1, False, GroupUpdateArgs_validator, GroupFullInfo_validator, @@ -16649,6 +19158,7 @@ groups_update = bb.Route( ) linked_apps_list_member_linked_apps = bb.Route( 'linked_apps/list_member_linked_apps', + 1, False, ListMemberAppsArg_validator, ListMemberAppsResult_validator, @@ -16658,6 +19168,7 @@ linked_apps_list_member_linked_apps = bb.Route( ) linked_apps_list_members_linked_apps = bb.Route( 'linked_apps/list_members_linked_apps', + 1, False, ListMembersAppsArg_validator, ListMembersAppsResult_validator, @@ -16667,6 +19178,7 @@ linked_apps_list_members_linked_apps = bb.Route( ) linked_apps_list_team_linked_apps = bb.Route( 'linked_apps/list_team_linked_apps', + 1, True, ListTeamAppsArg_validator, ListTeamAppsResult_validator, @@ -16676,6 +19188,7 @@ linked_apps_list_team_linked_apps = bb.Route( ) linked_apps_revoke_linked_app = bb.Route( 'linked_apps/revoke_linked_app', + 1, False, RevokeLinkedApiAppArg_validator, bv.Void(), @@ -16685,6 +19198,7 @@ linked_apps_revoke_linked_app = bb.Route( ) linked_apps_revoke_linked_app_batch = bb.Route( 'linked_apps/revoke_linked_app_batch', + 1, False, RevokeLinkedApiAppBatchArg_validator, RevokeLinkedAppBatchResult_validator, @@ -16692,8 +19206,49 @@ linked_apps_revoke_linked_app_batch = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +member_space_limits_excluded_users_add = bb.Route( + 'member_space_limits/excluded_users/add', + 1, + False, + ExcludedUsersUpdateArg_validator, + ExcludedUsersUpdateResult_validator, + ExcludedUsersUpdateError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +member_space_limits_excluded_users_list = bb.Route( + 'member_space_limits/excluded_users/list', + 1, + False, + ExcludedUsersListArg_validator, + ExcludedUsersListResult_validator, + ExcludedUsersListError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +member_space_limits_excluded_users_list_continue = bb.Route( + 'member_space_limits/excluded_users/list/continue', + 1, + False, + ExcludedUsersListContinueArg_validator, + ExcludedUsersListResult_validator, + ExcludedUsersListContinueError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +member_space_limits_excluded_users_remove = bb.Route( + 'member_space_limits/excluded_users/remove', + 1, + False, + ExcludedUsersUpdateArg_validator, + ExcludedUsersUpdateResult_validator, + ExcludedUsersUpdateError_validator, + {'host': u'api', + 'style': u'rpc'}, +) member_space_limits_get_custom_quota = bb.Route( 'member_space_limits/get_custom_quota', + 1, False, CustomQuotaUsersArg_validator, bv.List(CustomQuotaResult_validator), @@ -16703,6 +19258,7 @@ member_space_limits_get_custom_quota = bb.Route( ) member_space_limits_remove_custom_quota = bb.Route( 'member_space_limits/remove_custom_quota', + 1, False, CustomQuotaUsersArg_validator, bv.List(RemoveCustomQuotaResult_validator), @@ -16712,15 +19268,17 @@ member_space_limits_remove_custom_quota = bb.Route( ) member_space_limits_set_custom_quota = bb.Route( 'member_space_limits/set_custom_quota', + 1, False, SetCustomQuotaArg_validator, bv.List(CustomQuotaResult_validator), - CustomQuotaError_validator, + SetCustomQuotaError_validator, {'host': u'api', 'style': u'rpc'}, ) members_add = bb.Route( 'members/add', + 1, False, MembersAddArg_validator, MembersAddLaunch_validator, @@ -16730,15 +19288,17 @@ members_add = bb.Route( ) members_add_job_status_get = bb.Route( 'members/add/job_status/get', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, MembersAddJobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) members_get_info = bb.Route( 'members/get_info', + 1, False, MembersGetInfoArgs_validator, MembersGetInfoResult_validator, @@ -16748,6 +19308,7 @@ members_get_info = bb.Route( ) members_list = bb.Route( 'members/list', + 1, False, MembersListArg_validator, MembersListResult_validator, @@ -16757,6 +19318,7 @@ members_list = bb.Route( ) members_list_continue = bb.Route( 'members/list/continue', + 1, False, MembersListContinueArg_validator, MembersListResult_validator, @@ -16764,8 +19326,29 @@ members_list_continue = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +members_move_former_member_files = bb.Route( + 'members/move_former_member_files', + 1, + False, + MembersDataTransferArg_validator, + async_.LaunchEmptyResult_validator, + MembersTransferFormerMembersFilesError_validator, + {'host': u'api', + 'style': u'rpc'}, +) +members_move_former_member_files_job_status_check = bb.Route( + 'members/move_former_member_files/job_status/check', + 1, + False, + async_.PollArg_validator, + async_.PollEmptyResult_validator, + async_.PollError_validator, + {'host': u'api', + 'style': u'rpc'}, +) members_recover = bb.Route( 'members/recover', + 1, False, MembersRecoverArg_validator, bv.Void(), @@ -16775,24 +19358,27 @@ members_recover = bb.Route( ) members_remove = bb.Route( 'members/remove', + 1, False, MembersRemoveArg_validator, - async.LaunchEmptyResult_validator, + async_.LaunchEmptyResult_validator, MembersRemoveError_validator, {'host': u'api', 'style': u'rpc'}, ) members_remove_job_status_get = bb.Route( 'members/remove/job_status/get', + 1, False, - async.PollArg_validator, - async.PollEmptyResult_validator, - async.PollError_validator, + async_.PollArg_validator, + async_.PollEmptyResult_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) members_send_welcome_email = bb.Route( 'members/send_welcome_email', + 1, False, UserSelectorArg_validator, bv.Void(), @@ -16802,6 +19388,7 @@ members_send_welcome_email = bb.Route( ) members_set_admin_permissions = bb.Route( 'members/set_admin_permissions', + 1, False, MembersSetPermissionsArg_validator, MembersSetPermissionsResult_validator, @@ -16811,6 +19398,7 @@ members_set_admin_permissions = bb.Route( ) members_set_profile = bb.Route( 'members/set_profile', + 1, False, MembersSetProfileArg_validator, TeamMemberInfo_validator, @@ -16820,6 +19408,7 @@ members_set_profile = bb.Route( ) members_suspend = bb.Route( 'members/suspend', + 1, False, MembersDeactivateArg_validator, bv.Void(), @@ -16829,6 +19418,7 @@ members_suspend = bb.Route( ) members_unsuspend = bb.Route( 'members/unsuspend', + 1, False, MembersUnsuspendArg_validator, bv.Void(), @@ -16838,15 +19428,17 @@ members_unsuspend = bb.Route( ) namespaces_list = bb.Route( 'namespaces/list', + 1, False, TeamNamespacesListArg_validator, TeamNamespacesListResult_validator, - bv.Void(), + TeamNamespacesListError_validator, {'host': u'api', 'style': u'rpc'}, ) namespaces_list_continue = bb.Route( 'namespaces/list/continue', + 1, False, TeamNamespacesListContinueArg_validator, TeamNamespacesListResult_validator, @@ -16856,6 +19448,7 @@ namespaces_list_continue = bb.Route( ) properties_template_add = bb.Route( 'properties/template/add', + 1, True, file_properties.AddTemplateArg_validator, file_properties.AddTemplateResult_validator, @@ -16865,6 +19458,7 @@ properties_template_add = bb.Route( ) properties_template_get = bb.Route( 'properties/template/get', + 1, True, file_properties.GetTemplateArg_validator, file_properties.GetTemplateResult_validator, @@ -16874,6 +19468,7 @@ properties_template_get = bb.Route( ) properties_template_list = bb.Route( 'properties/template/list', + 1, True, bv.Void(), file_properties.ListTemplateResult_validator, @@ -16883,6 +19478,7 @@ properties_template_list = bb.Route( ) properties_template_update = bb.Route( 'properties/template/update', + 1, True, file_properties.UpdateTemplateArg_validator, file_properties.UpdateTemplateResult_validator, @@ -16892,6 +19488,7 @@ properties_template_update = bb.Route( ) reports_get_activity = bb.Route( 'reports/get_activity', + 1, False, DateRange_validator, GetActivityReport_validator, @@ -16901,6 +19498,7 @@ reports_get_activity = bb.Route( ) reports_get_devices = bb.Route( 'reports/get_devices', + 1, False, DateRange_validator, GetDevicesReport_validator, @@ -16910,6 +19508,7 @@ reports_get_devices = bb.Route( ) reports_get_membership = bb.Route( 'reports/get_membership', + 1, False, DateRange_validator, GetMembershipReport_validator, @@ -16919,6 +19518,7 @@ reports_get_membership = bb.Route( ) reports_get_storage = bb.Route( 'reports/get_storage', + 1, False, DateRange_validator, GetStorageReport_validator, @@ -16928,6 +19528,7 @@ reports_get_storage = bb.Route( ) team_folder_activate = bb.Route( 'team_folder/activate', + 1, False, TeamFolderIdArg_validator, TeamFolderMetadata_validator, @@ -16937,6 +19538,7 @@ team_folder_activate = bb.Route( ) team_folder_archive = bb.Route( 'team_folder/archive', + 1, False, TeamFolderArchiveArg_validator, TeamFolderArchiveLaunch_validator, @@ -16946,15 +19548,17 @@ team_folder_archive = bb.Route( ) team_folder_archive_check = bb.Route( 'team_folder/archive/check', + 1, False, - async.PollArg_validator, + async_.PollArg_validator, TeamFolderArchiveJobStatus_validator, - async.PollError_validator, + async_.PollError_validator, {'host': u'api', 'style': u'rpc'}, ) team_folder_create = bb.Route( 'team_folder/create', + 1, False, TeamFolderCreateArg_validator, TeamFolderMetadata_validator, @@ -16964,6 +19568,7 @@ team_folder_create = bb.Route( ) team_folder_get_info = bb.Route( 'team_folder/get_info', + 1, False, TeamFolderIdListArg_validator, bv.List(TeamFolderGetInfoItem_validator), @@ -16973,6 +19578,7 @@ team_folder_get_info = bb.Route( ) team_folder_list = bb.Route( 'team_folder/list', + 1, False, TeamFolderListArg_validator, TeamFolderListResult_validator, @@ -16982,6 +19588,7 @@ team_folder_list = bb.Route( ) team_folder_list_continue = bb.Route( 'team_folder/list/continue', + 1, False, TeamFolderListContinueArg_validator, TeamFolderListResult_validator, @@ -16991,6 +19598,7 @@ team_folder_list_continue = bb.Route( ) team_folder_permanently_delete = bb.Route( 'team_folder/permanently_delete', + 1, False, TeamFolderIdArg_validator, bv.Void(), @@ -17000,6 +19608,7 @@ team_folder_permanently_delete = bb.Route( ) team_folder_rename = bb.Route( 'team_folder/rename', + 1, False, TeamFolderRenameArg_validator, TeamFolderMetadata_validator, @@ -17007,8 +19616,19 @@ team_folder_rename = bb.Route( {'host': u'api', 'style': u'rpc'}, ) +team_folder_update_sync_settings = bb.Route( + 'team_folder/update_sync_settings', + 1, + False, + TeamFolderUpdateSyncSettingsArg_validator, + TeamFolderMetadata_validator, + TeamFolderUpdateSyncSettingsError_validator, + {'host': u'api', + 'style': u'rpc'}, +) token_get_authenticated_admin = bb.Route( 'token/get_authenticated_admin', + 1, False, bv.Void(), TokenGetAuthenticatedAdminResult_validator, @@ -17042,6 +19662,10 @@ ROUTES = { 'linked_apps/list_team_linked_apps': linked_apps_list_team_linked_apps, 'linked_apps/revoke_linked_app': linked_apps_revoke_linked_app, 'linked_apps/revoke_linked_app_batch': linked_apps_revoke_linked_app_batch, + 'member_space_limits/excluded_users/add': member_space_limits_excluded_users_add, + 'member_space_limits/excluded_users/list': member_space_limits_excluded_users_list, + 'member_space_limits/excluded_users/list/continue': member_space_limits_excluded_users_list_continue, + 'member_space_limits/excluded_users/remove': member_space_limits_excluded_users_remove, 'member_space_limits/get_custom_quota': member_space_limits_get_custom_quota, 'member_space_limits/remove_custom_quota': member_space_limits_remove_custom_quota, 'member_space_limits/set_custom_quota': member_space_limits_set_custom_quota, @@ -17050,6 +19674,8 @@ ROUTES = { 'members/get_info': members_get_info, 'members/list': members_list, 'members/list/continue': members_list_continue, + 'members/move_former_member_files': members_move_former_member_files, + 'members/move_former_member_files/job_status/check': members_move_former_member_files_job_status_check, 'members/recover': members_recover, 'members/remove': members_remove, 'members/remove/job_status/get': members_remove_job_status_get, @@ -17077,6 +19703,7 @@ ROUTES = { 'team_folder/list/continue': team_folder_list_continue, 'team_folder/permanently_delete': team_folder_permanently_delete, 'team_folder/rename': team_folder_rename, + 'team_folder/update_sync_settings': team_folder_update_sync_settings, 'token/get_authenticated_admin': token_get_authenticated_admin, } diff --git a/resources/lib/dropbox/team_common.py b/resources/lib/dropbox/team_common.py index f7b0937..e2356f8 100644 --- a/resources/lib/dropbox/team_common.py +++ b/resources/lib/dropbox/team_common.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -15,7 +16,7 @@ try: from . import ( common, ) -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): import common class GroupManagementType(bb.Union): @@ -26,9 +27,12 @@ class GroupManagementType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar user_managed: A group which is managed by selected users. - :ivar company_managed: A group which is managed by team admins only. - :ivar system_managed: A group which is managed automatically by Dropbox. + :ivar team_common.GroupManagementType.user_managed: A group which is managed + by selected users. + :ivar team_common.GroupManagementType.company_managed: A group which is + managed by team admins only. + :ivar team_common.GroupManagementType.system_managed: A group which is + managed automatically by Dropbox. """ _catch_all = 'other' @@ -73,19 +77,24 @@ class GroupManagementType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupManagementType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupManagementType(%r, %r)' % (self._tag, self._value) GroupManagementType_validator = bv.Union(GroupManagementType) -class GroupSummary(object): +class GroupSummary(bb.Struct): """ Information about a group. - :ivar group_external_id: External ID of group. This is an arbitrary ID that - an admin can attach to a group. - :ivar member_count: The number of members in the group. - :ivar group_management_type: Who is allowed to manage the group. + :ivar team_common.GroupSummary.group_external_id: External ID of group. This + is an arbitrary ID that an admin can attach to a group. + :ivar team_common.GroupSummary.member_count: The number of members in the + group. + :ivar team_common.GroupSummary.group_management_type: Who is allowed to + manage the group. """ __slots__ = [ @@ -204,7 +213,7 @@ class GroupSummary(object): """ The number of members in the group. - :rtype: long + :rtype: int """ if self._member_count_present: return self._member_count_value @@ -248,6 +257,9 @@ class GroupSummary(object): self._group_management_type_value = None self._group_management_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupSummary, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupSummary(group_name={!r}, group_id={!r}, group_management_type={!r}, group_external_id={!r}, member_count={!r})'.format( self._group_name_value, @@ -267,9 +279,11 @@ class GroupType(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar team: A group to which team members are automatically added. - Applicable to `team folders `_ only. - :ivar user_managed: A group is created and managed by a user. + :ivar team_common.GroupType.team: A group to which team members are + automatically added. Applicable to `team folders + `_ only. + :ivar team_common.GroupType.user_managed: A group is created and managed by + a user. """ _catch_all = 'other' @@ -304,17 +318,88 @@ class GroupType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupType(%r, %r)' % (self._tag, self._value) GroupType_validator = bv.Union(GroupType) -class TimeRange(object): +class MemberSpaceLimitType(bb.Union): + """ + The type of the space limit imposed on a team member. + + 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 team_common.MemberSpaceLimitType.off: The team member does not have + imposed space limit. + :ivar team_common.MemberSpaceLimitType.alert_only: The team member has soft + imposed space limit - the limit is used for display and for + notifications. + :ivar team_common.MemberSpaceLimitType.stop_sync: The team member has hard + imposed space limit - Dropbox file sync will stop after the limit is + reached. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + off = None + # Attribute is overwritten below the class definition + alert_only = None + # Attribute is overwritten below the class definition + stop_sync = None + # Attribute is overwritten below the class definition + other = None + + def is_off(self): + """ + Check if the union tag is ``off``. + + :rtype: bool + """ + return self._tag == 'off' + + def is_alert_only(self): + """ + Check if the union tag is ``alert_only``. + + :rtype: bool + """ + return self._tag == 'alert_only' + + def is_stop_sync(self): + """ + Check if the union tag is ``stop_sync``. + + :rtype: bool + """ + return self._tag == 'stop_sync' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitType(%r, %r)' % (self._tag, self._value) + +MemberSpaceLimitType_validator = bv.Union(MemberSpaceLimitType) + +class TimeRange(bb.Struct): """ Time range. - :ivar start_time: Optional starting time (inclusive). - :ivar end_time: Optional ending time (exclusive). + :ivar team_common.TimeRange.start_time: Optional starting time (inclusive). + :ivar team_common.TimeRange.end_time: Optional ending time (exclusive). """ __slots__ = [ @@ -390,6 +475,9 @@ class TimeRange(object): self._end_time_value = None self._end_time_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TimeRange, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TimeRange(start_time={!r}, end_time={!r})'.format( self._start_time_value, @@ -452,6 +540,22 @@ GroupType.team = GroupType('team') GroupType.user_managed = GroupType('user_managed') GroupType.other = GroupType('other') +MemberSpaceLimitType._off_validator = bv.Void() +MemberSpaceLimitType._alert_only_validator = bv.Void() +MemberSpaceLimitType._stop_sync_validator = bv.Void() +MemberSpaceLimitType._other_validator = bv.Void() +MemberSpaceLimitType._tagmap = { + 'off': MemberSpaceLimitType._off_validator, + 'alert_only': MemberSpaceLimitType._alert_only_validator, + 'stop_sync': MemberSpaceLimitType._stop_sync_validator, + 'other': MemberSpaceLimitType._other_validator, +} + +MemberSpaceLimitType.off = MemberSpaceLimitType('off') +MemberSpaceLimitType.alert_only = MemberSpaceLimitType('alert_only') +MemberSpaceLimitType.stop_sync = MemberSpaceLimitType('stop_sync') +MemberSpaceLimitType.other = MemberSpaceLimitType('other') + TimeRange._start_time_validator = bv.Nullable(common.DropboxTimestamp_validator) TimeRange._end_time_validator = bv.Nullable(common.DropboxTimestamp_validator) TimeRange._all_field_names_ = set([ diff --git a/resources/lib/dropbox/team_log.py b/resources/lib/dropbox/team_log.py index 3b29014..381c174 100644 --- a/resources/lib/dropbox/team_log.py +++ b/resources/lib/dropbox/team_log.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -14,14 +15,20 @@ except (SystemError, ValueError): try: from . import ( common, + file_requests, files, + sharing, + team, team_common, team_policies, users_common, ) -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): import common + import file_requests import files + import sharing + import team import team_common import team_policies import users_common @@ -34,11 +41,14 @@ class AccessMethodLogInfo(bb.Union): 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. + :ivar SessionLogInfo AccessMethodLogInfo.end_user: End user session details. + :ivar WebSessionLogInfo AccessMethodLogInfo.sign_in_as: Sign in as session + details. + :ivar WebSessionLogInfo AccessMethodLogInfo.content_manager: Content manager + session details. + :ivar WebSessionLogInfo AccessMethodLogInfo.admin_console: Admin console + session details. + :ivar ApiSessionLogInfo AccessMethodLogInfo.api: Api session details. """ _catch_all = 'other' @@ -208,6 +218,9 @@ class AccessMethodLogInfo(bb.Union): raise AttributeError("tag 'api' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccessMethodLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccessMethodLogInfo(%r, %r)' % (self._tag, self._value) @@ -252,19 +265,23 @@ class AccountCaptureAvailability(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureAvailability, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccountCaptureAvailability(%r, %r)' % (self._tag, self._value) AccountCaptureAvailability_validator = bv.Union(AccountCaptureAvailability) -class AccountCaptureChangeAvailabilityDetails(object): +class AccountCaptureChangeAvailabilityDetails(bb.Struct): """ - Granted or revoked the option to enable account capture on domains belonging - to the team. + Granted/revoked option to enable account capture on team domains. - :ivar new_value: New account capture availabilty value. - :ivar previous_value: Previous account capture availabilty value. Might be - missing due to historical data gap. + :ivar team_log.AccountCaptureChangeAvailabilityDetails.new_value: New + account capture availabilty value. + :ivar team_log.AccountCaptureChangeAvailabilityDetails.previous_value: + Previous account capture availabilty value. Might be missing due to + historical data gap. """ __slots__ = [ @@ -338,6 +355,9 @@ class AccountCaptureChangeAvailabilityDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureChangeAvailabilityDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccountCaptureChangeAvailabilityDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -346,13 +366,61 @@ class AccountCaptureChangeAvailabilityDetails(object): AccountCaptureChangeAvailabilityDetails_validator = bv.Struct(AccountCaptureChangeAvailabilityDetails) -class AccountCaptureChangePolicyDetails(object): - """ - Changed the account capture policy on a domain belonging to the team. +class AccountCaptureChangeAvailabilityType(bb.Struct): - :ivar new_value: New account capture policy. - :ivar previous_value: Previous account capture policy. Might be missing due - to historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureChangeAvailabilityType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AccountCaptureChangeAvailabilityType(description={!r})'.format( + self._description_value, + ) + +AccountCaptureChangeAvailabilityType_validator = bv.Struct(AccountCaptureChangeAvailabilityType) + +class AccountCaptureChangePolicyDetails(bb.Struct): + """ + Changed account capture setting on team domain. + + :ivar team_log.AccountCaptureChangePolicyDetails.new_value: New account + capture policy. + :ivar team_log.AccountCaptureChangePolicyDetails.previous_value: Previous + account capture policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -426,6 +494,9 @@ class AccountCaptureChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccountCaptureChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -434,11 +505,58 @@ class AccountCaptureChangePolicyDetails(object): AccountCaptureChangePolicyDetails_validator = bv.Struct(AccountCaptureChangePolicyDetails) -class AccountCaptureMigrateAccountDetails(object): - """ - Account captured user migrated their account to the team. +class AccountCaptureChangePolicyType(bb.Struct): - :ivar domain_name: Domain name. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AccountCaptureChangePolicyType(description={!r})'.format( + self._description_value, + ) + +AccountCaptureChangePolicyType_validator = bv.Struct(AccountCaptureChangePolicyType) + +class AccountCaptureMigrateAccountDetails(bb.Struct): + """ + Account-captured user migrated account to team. + + :ivar team_log.AccountCaptureMigrateAccountDetails.domain_name: Domain name. """ __slots__ = [ @@ -478,6 +596,9 @@ class AccountCaptureMigrateAccountDetails(object): self._domain_name_value = None self._domain_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureMigrateAccountDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccountCaptureMigrateAccountDetails(domain_name={!r})'.format( self._domain_name_value, @@ -485,6 +606,155 @@ class AccountCaptureMigrateAccountDetails(object): AccountCaptureMigrateAccountDetails_validator = bv.Struct(AccountCaptureMigrateAccountDetails) +class AccountCaptureMigrateAccountType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureMigrateAccountType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AccountCaptureMigrateAccountType(description={!r})'.format( + self._description_value, + ) + +AccountCaptureMigrateAccountType_validator = bv.Struct(AccountCaptureMigrateAccountType) + +class AccountCaptureNotificationEmailsSentDetails(bb.Struct): + """ + Sent proactive account capture email to all unmanaged members. + + :ivar team_log.AccountCaptureNotificationEmailsSentDetails.domain_name: + Domain name. + """ + + __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 name. + + :rtype: 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureNotificationEmailsSentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AccountCaptureNotificationEmailsSentDetails(domain_name={!r})'.format( + self._domain_name_value, + ) + +AccountCaptureNotificationEmailsSentDetails_validator = bv.Struct(AccountCaptureNotificationEmailsSentDetails) + +class AccountCaptureNotificationEmailsSentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureNotificationEmailsSentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AccountCaptureNotificationEmailsSentType(description={!r})'.format( + self._description_value, + ) + +AccountCaptureNotificationEmailsSentType_validator = bv.Struct(AccountCaptureNotificationEmailsSentType) + class AccountCapturePolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -534,17 +804,20 @@ class AccountCapturePolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCapturePolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccountCapturePolicy(%r, %r)' % (self._tag, self._value) AccountCapturePolicy_validator = bv.Union(AccountCapturePolicy) -class AccountCaptureRelinquishAccountDetails(object): +class AccountCaptureRelinquishAccountDetails(bb.Struct): """ - Account captured user relinquished their account by changing the email - address associated with it. + Account-captured user changed account email to personal email. - :ivar domain_name: Domain name. + :ivar team_log.AccountCaptureRelinquishAccountDetails.domain_name: Domain + name. """ __slots__ = [ @@ -584,6 +857,9 @@ class AccountCaptureRelinquishAccountDetails(object): self._domain_name_value = None self._domain_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureRelinquishAccountDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccountCaptureRelinquishAccountDetails(domain_name={!r})'.format( self._domain_name_value, @@ -591,6 +867,150 @@ class AccountCaptureRelinquishAccountDetails(object): AccountCaptureRelinquishAccountDetails_validator = bv.Struct(AccountCaptureRelinquishAccountDetails) +class AccountCaptureRelinquishAccountType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountCaptureRelinquishAccountType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AccountCaptureRelinquishAccountType(description={!r})'.format( + self._description_value, + ) + +AccountCaptureRelinquishAccountType_validator = bv.Struct(AccountCaptureRelinquishAccountType) + +class ActionDetails(bb.Union): + """ + Additional information indicating the action taken that caused status + change. + + 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 JoinTeamDetails ActionDetails.team_join_details: Additional + information relevant when a new member joins the team. + :ivar MemberRemoveActionType ActionDetails.remove_action: Define how the + user was removed from the team. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def team_join_details(cls, val): + """ + Create an instance of this class set to the ``team_join_details`` tag + with value ``val``. + + :param JoinTeamDetails val: + :rtype: ActionDetails + """ + return cls('team_join_details', val) + + @classmethod + def remove_action(cls, val): + """ + Create an instance of this class set to the ``remove_action`` tag with + value ``val``. + + :param MemberRemoveActionType val: + :rtype: ActionDetails + """ + return cls('remove_action', val) + + def is_team_join_details(self): + """ + Check if the union tag is ``team_join_details``. + + :rtype: bool + """ + return self._tag == 'team_join_details' + + def is_remove_action(self): + """ + Check if the union tag is ``remove_action``. + + :rtype: bool + """ + return self._tag == 'remove_action' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_team_join_details(self): + """ + Additional information relevant when a new member joins the team. + + Only call this if :meth:`is_team_join_details` is true. + + :rtype: JoinTeamDetails + """ + if not self.is_team_join_details(): + raise AttributeError("tag 'team_join_details' not set") + return self._value + + def get_remove_action(self): + """ + Define how the user was removed from the team. + + Only call this if :meth:`is_remove_action` is true. + + :rtype: MemberRemoveActionType + """ + if not self.is_remove_action(): + raise AttributeError("tag 'remove_action' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ActionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ActionDetails(%r, %r)' % (self._tag, self._value) + +ActionDetails_validator = bv.Union(ActionDetails) + class ActorLogInfo(bb.Union): """ The entity who performed the action. @@ -599,17 +1019,20 @@ class ActorLogInfo(bb.Union): 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. + :ivar UserLogInfo ActorLogInfo.user: The user who did the action. + :ivar UserLogInfo ActorLogInfo.admin: The admin who did the action. + :ivar AppLogInfo ActorLogInfo.app: The application who did the action. + :ivar ResellerLogInfo ActorLogInfo.reseller: Action done by reseller. + :ivar team_log.ActorLogInfo.dropbox: Action done by Dropbox. + :ivar team_log.ActorLogInfo.anonymous: Anonymous actor. """ _catch_all = 'other' # Attribute is overwritten below the class definition dropbox = None # Attribute is overwritten below the class definition + anonymous = None + # Attribute is overwritten below the class definition other = None @classmethod @@ -696,6 +1119,14 @@ class ActorLogInfo(bb.Union): """ return self._tag == 'dropbox' + def is_anonymous(self): + """ + Check if the union tag is ``anonymous``. + + :rtype: bool + """ + return self._tag == 'anonymous' + def is_other(self): """ Check if the union tag is ``other``. @@ -752,6 +1183,9 @@ class ActorLogInfo(bb.Union): raise AttributeError("tag 'reseller' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ActorLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ActorLogInfo(%r, %r)' % (self._tag, self._value) @@ -766,50 +1200,18 @@ class AdminRole(bb.Union): _catch_all = 'other' # Attribute is overwritten below the class definition - user = None - # Attribute is overwritten below the class definition - limited_admin = None - # Attribute is overwritten below the class definition - support_admin = None + team_admin = None # Attribute is overwritten below the class definition user_management_admin = None # Attribute is overwritten below the class definition - team_admin = None + support_admin = None + # Attribute is overwritten below the class definition + limited_admin = None + # Attribute is overwritten below the class definition + member_only = None # Attribute is overwritten below the class definition other = None - def is_user(self): - """ - Check if the union tag is ``user``. - - :rtype: bool - """ - return self._tag == 'user' - - def is_limited_admin(self): - """ - Check if the union tag is ``limited_admin``. - - :rtype: bool - """ - return self._tag == 'limited_admin' - - def is_support_admin(self): - """ - Check if the union tag is ``support_admin``. - - :rtype: bool - """ - return self._tag == 'support_admin' - - def is_user_management_admin(self): - """ - Check if the union tag is ``user_management_admin``. - - :rtype: bool - """ - return self._tag == 'user_management_admin' - def is_team_admin(self): """ Check if the union tag is ``team_admin``. @@ -818,6 +1220,38 @@ class AdminRole(bb.Union): """ return self._tag == 'team_admin' + def is_user_management_admin(self): + """ + Check if the union tag is ``user_management_admin``. + + :rtype: bool + """ + return self._tag == 'user_management_admin' + + def is_support_admin(self): + """ + Check if the union tag is ``support_admin``. + + :rtype: bool + """ + return self._tag == 'support_admin' + + def is_limited_admin(self): + """ + Check if the union tag is ``limited_admin``. + + :rtype: bool + """ + return self._tag == 'limited_admin' + + def is_member_only(self): + """ + Check if the union tag is ``member_only``. + + :rtype: bool + """ + return self._tag == 'member_only' + def is_other(self): """ Check if the union tag is ``other``. @@ -826,14 +1260,17 @@ class AdminRole(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AdminRole, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AdminRole(%r, %r)' % (self._tag, self._value) AdminRole_validator = bv.Union(AdminRole) -class AllowDownloadDisabledDetails(object): +class AllowDownloadDisabledDetails(bb.Struct): """ - Disabled allow downloads. + Disabled downloads. """ __slots__ = [ @@ -844,14 +1281,64 @@ class AllowDownloadDisabledDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AllowDownloadDisabledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AllowDownloadDisabledDetails()' AllowDownloadDisabledDetails_validator = bv.Struct(AllowDownloadDisabledDetails) -class AllowDownloadEnabledDetails(object): +class AllowDownloadDisabledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AllowDownloadDisabledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AllowDownloadDisabledType(description={!r})'.format( + self._description_value, + ) + +AllowDownloadDisabledType_validator = bv.Struct(AllowDownloadDisabledType) + +class AllowDownloadEnabledDetails(bb.Struct): """ - Enabled allow downloads. + Enabled downloads. """ __slots__ = [ @@ -862,16 +1349,66 @@ class AllowDownloadEnabledDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AllowDownloadEnabledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AllowDownloadEnabledDetails()' AllowDownloadEnabledDetails_validator = bv.Struct(AllowDownloadEnabledDetails) -class ApiSessionLogInfo(object): +class AllowDownloadEnabledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AllowDownloadEnabledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AllowDownloadEnabledType(description={!r})'.format( + self._description_value, + ) + +AllowDownloadEnabledType_validator = bv.Struct(AllowDownloadEnabledType) + +class ApiSessionLogInfo(bb.Struct): """ Api session. - :ivar request_id: Api request ID. + :ivar team_log.ApiSessionLogInfo.request_id: Api request ID. """ __slots__ = [ @@ -911,6 +1448,9 @@ class ApiSessionLogInfo(object): self._request_id_value = None self._request_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ApiSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ApiSessionLogInfo(request_id={!r})'.format( self._request_id_value, @@ -918,11 +1458,11 @@ class ApiSessionLogInfo(object): ApiSessionLogInfo_validator = bv.Struct(ApiSessionLogInfo) -class AppLinkTeamDetails(object): +class AppLinkTeamDetails(bb.Struct): """ - Linked an app for team. + Linked app for team. - :ivar app_info: Relevant application details. + :ivar team_log.AppLinkTeamDetails.app_info: Relevant application details. """ __slots__ = [ @@ -962,6 +1502,9 @@ class AppLinkTeamDetails(object): self._app_info_value = None self._app_info_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppLinkTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AppLinkTeamDetails(app_info={!r})'.format( self._app_info_value, @@ -969,11 +1512,58 @@ class AppLinkTeamDetails(object): AppLinkTeamDetails_validator = bv.Struct(AppLinkTeamDetails) -class AppLinkUserDetails(object): - """ - Linked an app for team member. +class AppLinkTeamType(bb.Struct): - :ivar app_info: Relevant application details. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppLinkTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AppLinkTeamType(description={!r})'.format( + self._description_value, + ) + +AppLinkTeamType_validator = bv.Struct(AppLinkTeamType) + +class AppLinkUserDetails(bb.Struct): + """ + Linked app for member. + + :ivar team_log.AppLinkUserDetails.app_info: Relevant application details. """ __slots__ = [ @@ -1013,6 +1603,9 @@ class AppLinkUserDetails(object): self._app_info_value = None self._app_info_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppLinkUserDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AppLinkUserDetails(app_info={!r})'.format( self._app_info_value, @@ -1020,13 +1613,61 @@ class AppLinkUserDetails(object): AppLinkUserDetails_validator = bv.Struct(AppLinkUserDetails) -class AppLogInfo(object): +class AppLinkUserType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppLinkUserType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AppLinkUserType(description={!r})'.format( + self._description_value, + ) + +AppLinkUserType_validator = bv.Struct(AppLinkUserType) + +class AppLogInfo(bb.Struct): """ 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. + :ivar team_log.AppLogInfo.app_id: App unique ID. Might be missing due to + historical data gap. + :ivar team_log.AppLogInfo.display_name: App display name. Might be missing + due to historical data gap. """ __slots__ = [ @@ -1102,6 +1743,9 @@ class AppLogInfo(object): self._display_name_value = None self._display_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AppLogInfo(app_id={!r}, display_name={!r})'.format( self._app_id_value, @@ -1110,11 +1754,11 @@ class AppLogInfo(object): AppLogInfo_validator = bv.StructTree(AppLogInfo) -class AppUnlinkTeamDetails(object): +class AppUnlinkTeamDetails(bb.Struct): """ - Unlinked an app for team. + Unlinked app for team. - :ivar app_info: Relevant application details. + :ivar team_log.AppUnlinkTeamDetails.app_info: Relevant application details. """ __slots__ = [ @@ -1154,6 +1798,9 @@ class AppUnlinkTeamDetails(object): self._app_info_value = None self._app_info_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppUnlinkTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AppUnlinkTeamDetails(app_info={!r})'.format( self._app_info_value, @@ -1161,11 +1808,58 @@ class AppUnlinkTeamDetails(object): AppUnlinkTeamDetails_validator = bv.Struct(AppUnlinkTeamDetails) -class AppUnlinkUserDetails(object): - """ - Unlinked an app for team member. +class AppUnlinkTeamType(bb.Struct): - :ivar app_info: Relevant application details. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppUnlinkTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AppUnlinkTeamType(description={!r})'.format( + self._description_value, + ) + +AppUnlinkTeamType_validator = bv.Struct(AppUnlinkTeamType) + +class AppUnlinkUserDetails(bb.Struct): + """ + Unlinked app for member. + + :ivar team_log.AppUnlinkUserDetails.app_info: Relevant application details. """ __slots__ = [ @@ -1205,6 +1899,9 @@ class AppUnlinkUserDetails(object): self._app_info_value = None self._app_info_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppUnlinkUserDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AppUnlinkUserDetails(app_info={!r})'.format( self._app_info_value, @@ -1212,6 +1909,53 @@ class AppUnlinkUserDetails(object): AppUnlinkUserDetails_validator = bv.Struct(AppUnlinkUserDetails) +class AppUnlinkUserType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AppUnlinkUserType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'AppUnlinkUserType(description={!r})'.format( + self._description_value, + ) + +AppUnlinkUserType_validator = bv.Struct(AppUnlinkUserType) + class AssetLogInfo(bb.Union): """ Asset details. @@ -1220,10 +1964,13 @@ class AssetLogInfo(bb.Union): 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. + :ivar FileLogInfo AssetLogInfo.file: File's details. + :ivar FolderLogInfo AssetLogInfo.folder: Folder's details. + :ivar PaperDocumentLogInfo AssetLogInfo.paper_document: Paper document's + details. + :ivar PaperFolderLogInfo AssetLogInfo.paper_folder: Paper folder's details. + :ivar ShowcaseDocumentLogInfo AssetLogInfo.showcase_document: Showcase + document's details. """ _catch_all = 'other' @@ -1274,6 +2021,17 @@ class AssetLogInfo(bb.Union): """ return cls('paper_folder', val) + @classmethod + def showcase_document(cls, val): + """ + Create an instance of this class set to the ``showcase_document`` tag + with value ``val``. + + :param ShowcaseDocumentLogInfo val: + :rtype: AssetLogInfo + """ + return cls('showcase_document', val) + def is_file(self): """ Check if the union tag is ``file``. @@ -1306,6 +2064,14 @@ class AssetLogInfo(bb.Union): """ return self._tag == 'paper_folder' + def is_showcase_document(self): + """ + Check if the union tag is ``showcase_document``. + + :rtype: bool + """ + return self._tag == 'showcase_document' + def is_other(self): """ Check if the union tag is ``other``. @@ -1340,7 +2106,7 @@ class AssetLogInfo(bb.Union): def get_paper_document(self): """ - Paper docuement's details. + Paper document's details. Only call this if :meth:`is_paper_document` is true. @@ -1362,22 +2128,221 @@ class AssetLogInfo(bb.Union): raise AttributeError("tag 'paper_folder' not set") return self._value + def get_showcase_document(self): + """ + Showcase document's details. + + Only call this if :meth:`is_showcase_document` is true. + + :rtype: ShowcaseDocumentLogInfo + """ + if not self.is_showcase_document(): + raise AttributeError("tag 'showcase_document' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AssetLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AssetLogInfo(%r, %r)' % (self._tag, self._value) AssetLogInfo_validator = bv.Union(AssetLogInfo) -class Certificate(object): +class CameraUploadsPolicy(bb.Union): + """ + Policy for controlling if team members can activate camera uploads + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(CameraUploadsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CameraUploadsPolicy(%r, %r)' % (self._tag, self._value) + +CameraUploadsPolicy_validator = bv.Union(CameraUploadsPolicy) + +class CameraUploadsPolicyChangedDetails(bb.Struct): + """ + Changed camera uploads setting for team. + + :ivar team_log.CameraUploadsPolicyChangedDetails.new_value: New camera + uploads setting. + :ivar team_log.CameraUploadsPolicyChangedDetails.previous_value: Previous + camera uploads setting. + """ + + __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 camera uploads setting. + + :rtype: CameraUploadsPolicy + """ + 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 camera uploads setting. + + :rtype: CameraUploadsPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(CameraUploadsPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CameraUploadsPolicyChangedDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +CameraUploadsPolicyChangedDetails_validator = bv.Struct(CameraUploadsPolicyChangedDetails) + +class CameraUploadsPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CameraUploadsPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CameraUploadsPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +CameraUploadsPolicyChangedType_validator = bv.Struct(CameraUploadsPolicyChangedType) + +class Certificate(bb.Struct): """ Certificate details. - :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. + :ivar team_log.Certificate.subject: Certificate subject. + :ivar team_log.Certificate.issuer: Certificate issuer. + :ivar team_log.Certificate.issue_date: Certificate issue date. + :ivar team_log.Certificate.expiration_date: Certificate expiration date. + :ivar team_log.Certificate.serial_number: Certificate serial number. + :ivar team_log.Certificate.sha1_fingerprint: Certificate sha1 fingerprint. + :ivar team_log.Certificate.common_name: Certificate common name. """ __slots__ = [ @@ -1584,10 +2549,13 @@ class Certificate(object): if self._common_name_present: return self._common_name_value else: - raise AttributeError("missing required field 'common_name'") + return None @common_name.setter def common_name(self, val): + if val is None: + del self.common_name + return val = self._common_name_validator.validate(val) self._common_name_value = val self._common_name_present = True @@ -1597,6 +2565,9 @@ class Certificate(object): self._common_name_value = None self._common_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Certificate, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Certificate(subject={!r}, issuer={!r}, issue_date={!r}, expiration_date={!r}, serial_number={!r}, sha1_fingerprint={!r}, common_name={!r})'.format( self._subject_value, @@ -1610,11 +2581,11 @@ class Certificate(object): Certificate_validator = bv.Struct(Certificate) -class CollectionShareDetails(object): +class CollectionShareDetails(bb.Struct): """ - Shared an album. + Shared album. - :ivar album_name: Album name. + :ivar team_log.CollectionShareDetails.album_name: Album name. """ __slots__ = [ @@ -1654,6 +2625,9 @@ class CollectionShareDetails(object): self._album_name_value = None self._album_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CollectionShareDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'CollectionShareDetails(album_name={!r})'.format( self._album_name_value, @@ -1661,49 +2635,52 @@ class CollectionShareDetails(object): 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. - """ +class CollectionShareType(bb.Struct): - _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 + __slots__ = [ + '_description_value', + '_description_present', + ] - def is_confidential(self): + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): """ - Check if the union tag is ``confidential``. - - :rtype: bool + :rtype: str """ - return self._tag == 'confidential' + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") - def is_non_confidential(self): - """ - Check if the union tag is ``non_confidential``. + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - :rtype: bool - """ - return self._tag == 'non_confidential' + @description.deleter + def description(self): + self._description_value = None + self._description_present = False - def is_other(self): - """ - Check if the union tag is ``other``. - - :rtype: bool - """ - return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CollectionShareType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'Confidentiality(%r, %r)' % (self._tag, self._value) + return 'CollectionShareType(description={!r})'.format( + self._description_value, + ) -Confidentiality_validator = bv.Union(Confidentiality) +CollectionShareType_validator = bv.Struct(CollectionShareType) class ContentPermanentDeletePolicy(bb.Union): """ @@ -1746,6 +2723,9 @@ class ContentPermanentDeletePolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ContentPermanentDeletePolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ContentPermanentDeletePolicy(%r, %r)' % (self._tag, self._value) @@ -1759,15 +2739,20 @@ class ContextLogInfo(bb.Union): 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. + :ivar TeamMemberLogInfo ContextLogInfo.team_member: Action was done on + behalf of a team member. + :ivar NonTeamMemberLogInfo ContextLogInfo.non_team_member: Action was done + on behalf of a non team member. + :ivar team_log.ContextLogInfo.anonymous: Anonymous context. + :ivar team_log.ContextLogInfo.team: Action was done on behalf of the team. + :ivar TrustedNonTeamMemberLogInfo ContextLogInfo.trusted_non_team_member: + Action was done on behalf of a trusted non team member. """ _catch_all = 'other' # Attribute is overwritten below the class definition + anonymous = None + # Attribute is overwritten below the class definition team = None # Attribute is overwritten below the class definition other = None @@ -1794,6 +2779,17 @@ class ContextLogInfo(bb.Union): """ return cls('non_team_member', val) + @classmethod + def trusted_non_team_member(cls, val): + """ + Create an instance of this class set to the ``trusted_non_team_member`` + tag with value ``val``. + + :param TrustedNonTeamMemberLogInfo val: + :rtype: ContextLogInfo + """ + return cls('trusted_non_team_member', val) + def is_team_member(self): """ Check if the union tag is ``team_member``. @@ -1810,6 +2806,14 @@ class ContextLogInfo(bb.Union): """ return self._tag == 'non_team_member' + def is_anonymous(self): + """ + Check if the union tag is ``anonymous``. + + :rtype: bool + """ + return self._tag == 'anonymous' + def is_team(self): """ Check if the union tag is ``team``. @@ -1818,6 +2822,14 @@ class ContextLogInfo(bb.Union): """ return self._tag == 'team' + def is_trusted_non_team_member(self): + """ + Check if the union tag is ``trusted_non_team_member``. + + :rtype: bool + """ + return self._tag == 'trusted_non_team_member' + def is_other(self): """ Check if the union tag is ``other``. @@ -1850,12 +2862,27 @@ class ContextLogInfo(bb.Union): raise AttributeError("tag 'non_team_member' not set") return self._value + def get_trusted_non_team_member(self): + """ + Action was done on behalf of a trusted non team member. + + Only call this if :meth:`is_trusted_non_team_member` is true. + + :rtype: TrustedNonTeamMemberLogInfo + """ + if not self.is_trusted_non_team_member(): + raise AttributeError("tag 'trusted_non_team_member' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ContextLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ContextLogInfo(%r, %r)' % (self._tag, self._value) ContextLogInfo_validator = bv.Union(ContextLogInfo) -class CreateFolderDetails(object): +class CreateFolderDetails(bb.Struct): """ Created folders. """ @@ -1868,18 +2895,69 @@ class CreateFolderDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + 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. +class CreateFolderType(bb.Struct): - :ivar previous_value: Previous placement restriction. - :ivar new_value: New placement restriction. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(CreateFolderType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CreateFolderType(description={!r})'.format( + self._description_value, + ) + +CreateFolderType_validator = bv.Struct(CreateFolderType) + +class DataPlacementRestrictionChangePolicyDetails(bb.Struct): + """ + Set restrictions on data center locations where team data resides. + + :ivar team_log.DataPlacementRestrictionChangePolicyDetails.previous_value: + Previous placement restriction. + :ivar team_log.DataPlacementRestrictionChangePolicyDetails.new_value: New + placement restriction. """ __slots__ = [ @@ -1949,6 +3027,9 @@ class DataPlacementRestrictionChangePolicyDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DataPlacementRestrictionChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DataPlacementRestrictionChangePolicyDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -1957,13 +3038,60 @@ class DataPlacementRestrictionChangePolicyDetails(object): 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). +class DataPlacementRestrictionChangePolicyType(bb.Struct): - :ivar placement_restriction: Placement restriction. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DataPlacementRestrictionChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DataPlacementRestrictionChangePolicyType(description={!r})'.format( + self._description_value, + ) + +DataPlacementRestrictionChangePolicyType_validator = bv.Struct(DataPlacementRestrictionChangePolicyType) + +class DataPlacementRestrictionSatisfyPolicyDetails(bb.Struct): + """ + Completed restrictions on data center locations where team data resides. + + :ivar + team_log.DataPlacementRestrictionSatisfyPolicyDetails.placement_restriction: + Placement restriction. """ __slots__ = [ @@ -2003,6 +3131,9 @@ class DataPlacementRestrictionSatisfyPolicyDetails(object): self._placement_restriction_value = None self._placement_restriction_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DataPlacementRestrictionSatisfyPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DataPlacementRestrictionSatisfyPolicyDetails(placement_restriction={!r})'.format( self._placement_restriction_value, @@ -2010,11 +3141,429 @@ class DataPlacementRestrictionSatisfyPolicyDetails(object): DataPlacementRestrictionSatisfyPolicyDetails_validator = bv.Struct(DataPlacementRestrictionSatisfyPolicyDetails) -class SessionLogInfo(object): +class DataPlacementRestrictionSatisfyPolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DataPlacementRestrictionSatisfyPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DataPlacementRestrictionSatisfyPolicyType(description={!r})'.format( + self._description_value, + ) + +DataPlacementRestrictionSatisfyPolicyType_validator = bv.Struct(DataPlacementRestrictionSatisfyPolicyType) + +class DeviceSessionLogInfo(bb.Struct): + """ + Device's session logged information. + + :ivar team_log.DeviceSessionLogInfo.ip_address: The IP address of the last + activity from this session. Might be missing due to historical data gap. + :ivar team_log.DeviceSessionLogInfo.created: The time this session was + created. Might be missing due to historical data gap. + :ivar team_log.DeviceSessionLogInfo.updated: The time of the last activity + from this session. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_ip_address_value', + '_ip_address_present', + '_created_value', + '_created_present', + '_updated_value', + '_updated_present', + ] + + _has_required_fields = False + + def __init__(self, + ip_address=None, + created=None, + updated=None): + self._ip_address_value = None + self._ip_address_present = False + self._created_value = None + self._created_present = False + self._updated_value = None + self._updated_present = False + if ip_address is not None: + self.ip_address = ip_address + if created is not None: + self.created = created + if updated is not None: + self.updated = updated + + @property + def ip_address(self): + """ + The IP address of the last activity from this session. 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 created(self): + """ + The time this session was created. Might be missing due to historical + data gap. + + :rtype: datetime.datetime + """ + if self._created_present: + return self._created_value + else: + return None + + @created.setter + def created(self, val): + if val is None: + del self.created + return + val = self._created_validator.validate(val) + self._created_value = val + self._created_present = True + + @created.deleter + def created(self): + self._created_value = None + self._created_present = False + + @property + def updated(self): + """ + The time of the last activity from this session. Might be missing due to + historical data gap. + + :rtype: datetime.datetime + """ + if self._updated_present: + return self._updated_value + else: + return None + + @updated.setter + def updated(self, val): + if val is None: + del self.updated + return + val = self._updated_validator.validate(val) + self._updated_value = val + self._updated_present = True + + @updated.deleter + def updated(self): + self._updated_value = None + self._updated_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceSessionLogInfo(ip_address={!r}, created={!r}, updated={!r})'.format( + self._ip_address_value, + self._created_value, + self._updated_value, + ) + +DeviceSessionLogInfo_validator = bv.StructTree(DeviceSessionLogInfo) + +class DesktopDeviceSessionLogInfo(DeviceSessionLogInfo): + """ + Information about linked Dropbox desktop client sessions + + :ivar team_log.DesktopDeviceSessionLogInfo.session_info: Desktop session + unique id. Might be missing due to historical data gap. + :ivar team_log.DesktopDeviceSessionLogInfo.host_name: Name of the hosting + desktop. + :ivar team_log.DesktopDeviceSessionLogInfo.client_type: The Dropbox desktop + client type. + :ivar team_log.DesktopDeviceSessionLogInfo.client_version: The Dropbox + client version. + :ivar team_log.DesktopDeviceSessionLogInfo.platform: Information on the + hosting platform. + :ivar team_log.DesktopDeviceSessionLogInfo.is_delete_on_unlink_supported: + Whether itu2019s possible to delete all of the account files upon + unlinking. + """ + + __slots__ = [ + '_session_info_value', + '_session_info_present', + '_host_name_value', + '_host_name_present', + '_client_type_value', + '_client_type_present', + '_client_version_value', + '_client_version_present', + '_platform_value', + '_platform_present', + '_is_delete_on_unlink_supported_value', + '_is_delete_on_unlink_supported_present', + ] + + _has_required_fields = True + + def __init__(self, + host_name=None, + client_type=None, + platform=None, + is_delete_on_unlink_supported=None, + ip_address=None, + created=None, + updated=None, + session_info=None, + client_version=None): + super(DesktopDeviceSessionLogInfo, self).__init__(ip_address, + created, + updated) + self._session_info_value = None + self._session_info_present = False + self._host_name_value = None + self._host_name_present = False + self._client_type_value = None + self._client_type_present = False + self._client_version_value = None + self._client_version_present = False + self._platform_value = None + self._platform_present = False + self._is_delete_on_unlink_supported_value = None + self._is_delete_on_unlink_supported_present = False + if session_info is not None: + self.session_info = session_info + if host_name is not None: + self.host_name = host_name + if client_type is not None: + self.client_type = client_type + if client_version is not None: + self.client_version = client_version + if platform is not None: + self.platform = platform + if is_delete_on_unlink_supported is not None: + self.is_delete_on_unlink_supported = is_delete_on_unlink_supported + + @property + def session_info(self): + """ + Desktop session unique id. Might be missing due to historical data gap. + + :rtype: DesktopSessionLogInfo + """ + if self._session_info_present: + return self._session_info_value + else: + return None + + @session_info.setter + def session_info(self, val): + if val is None: + del self.session_info + return + self._session_info_validator.validate_type_only(val) + self._session_info_value = val + self._session_info_present = True + + @session_info.deleter + def session_info(self): + self._session_info_value = None + self._session_info_present = False + + @property + def host_name(self): + """ + Name of the hosting desktop. + + :rtype: str + """ + if self._host_name_present: + return self._host_name_value + else: + raise AttributeError("missing required field 'host_name'") + + @host_name.setter + def host_name(self, val): + 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 + + @property + def client_type(self): + """ + The Dropbox desktop client type. + + :rtype: team.DesktopPlatform + """ + if self._client_type_present: + return self._client_type_value + else: + raise AttributeError("missing required field 'client_type'") + + @client_type.setter + def client_type(self, val): + self._client_type_validator.validate_type_only(val) + self._client_type_value = val + self._client_type_present = True + + @client_type.deleter + def client_type(self): + self._client_type_value = None + self._client_type_present = False + + @property + def client_version(self): + """ + The Dropbox client version. + + :rtype: str + """ + if self._client_version_present: + return self._client_version_value + else: + return None + + @client_version.setter + def client_version(self, val): + if val is None: + del self.client_version + return + val = self._client_version_validator.validate(val) + self._client_version_value = val + self._client_version_present = True + + @client_version.deleter + def client_version(self): + self._client_version_value = None + self._client_version_present = False + + @property + def platform(self): + """ + Information on the hosting platform. + + :rtype: str + """ + if self._platform_present: + return self._platform_value + else: + raise AttributeError("missing required field 'platform'") + + @platform.setter + def platform(self, val): + 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 is_delete_on_unlink_supported(self): + """ + Whether itu2019s possible to delete all of the account files upon + unlinking. + + :rtype: bool + """ + if self._is_delete_on_unlink_supported_present: + return self._is_delete_on_unlink_supported_value + else: + raise AttributeError("missing required field 'is_delete_on_unlink_supported'") + + @is_delete_on_unlink_supported.setter + def is_delete_on_unlink_supported(self, val): + val = self._is_delete_on_unlink_supported_validator.validate(val) + self._is_delete_on_unlink_supported_value = val + self._is_delete_on_unlink_supported_present = True + + @is_delete_on_unlink_supported.deleter + def is_delete_on_unlink_supported(self): + self._is_delete_on_unlink_supported_value = None + self._is_delete_on_unlink_supported_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DesktopDeviceSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DesktopDeviceSessionLogInfo(host_name={!r}, client_type={!r}, platform={!r}, is_delete_on_unlink_supported={!r}, ip_address={!r}, created={!r}, updated={!r}, session_info={!r}, client_version={!r})'.format( + self._host_name_value, + self._client_type_value, + self._platform_value, + self._is_delete_on_unlink_supported_value, + self._ip_address_value, + self._created_value, + self._updated_value, + self._session_info_value, + self._client_version_value, + ) + +DesktopDeviceSessionLogInfo_validator = bv.Struct(DesktopDeviceSessionLogInfo) + +class SessionLogInfo(bb.Struct): """ Session's logged information. - :ivar session_id: Session ID. Might be missing due to historical data gap. + :ivar team_log.SessionLogInfo.session_id: Session ID. Might be missing due + to historical data gap. """ __slots__ = [ @@ -2057,6 +3606,9 @@ class SessionLogInfo(object): self._session_id_value = None self._session_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SessionLogInfo(session_id={!r})'.format( self._session_id_value, @@ -2078,6 +3630,9 @@ class DesktopSessionLogInfo(SessionLogInfo): session_id=None): super(DesktopSessionLogInfo, self).__init__(session_id) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DesktopSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DesktopSessionLogInfo(session_id={!r})'.format( self._session_id_value, @@ -2085,15 +3640,17 @@ class DesktopSessionLogInfo(SessionLogInfo): DesktopSessionLogInfo_validator = bv.Struct(DesktopSessionLogInfo) -class DeviceApprovalsChangeDesktopPolicyDetails(object): +class DeviceApprovalsChangeDesktopPolicyDetails(bb.Struct): """ - Set or removed a limit on the number of computers each team member can link - to their work Dropbox account. + Set/removed limit on number of computers member can link to team 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. + :ivar team_log.DeviceApprovalsChangeDesktopPolicyDetails.new_value: New + desktop device approvals policy. Might be missing due to historical data + gap. + :ivar team_log.DeviceApprovalsChangeDesktopPolicyDetails.previous_value: + Previous desktop device approvals policy. Might be missing due to + historical data gap. """ __slots__ = [ @@ -2171,6 +3728,9 @@ class DeviceApprovalsChangeDesktopPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeDesktopPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceApprovalsChangeDesktopPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -2179,15 +3739,64 @@ class DeviceApprovalsChangeDesktopPolicyDetails(object): 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. +class DeviceApprovalsChangeDesktopPolicyType(bb.Struct): - :ivar new_value: New mobile device approvals policy. Might be missing due to + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeDesktopPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceApprovalsChangeDesktopPolicyType(description={!r})'.format( + self._description_value, + ) + +DeviceApprovalsChangeDesktopPolicyType_validator = bv.Struct(DeviceApprovalsChangeDesktopPolicyType) + +class DeviceApprovalsChangeMobilePolicyDetails(bb.Struct): + """ + Set/removed limit on number of mobile devices member can link to team + Dropbox account. + + :ivar team_log.DeviceApprovalsChangeMobilePolicyDetails.new_value: New + mobile device approvals policy. Might be missing due to historical data + gap. + :ivar team_log.DeviceApprovalsChangeMobilePolicyDetails.previous_value: + Previous 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__ = [ @@ -2265,6 +3874,9 @@ class DeviceApprovalsChangeMobilePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeMobilePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceApprovalsChangeMobilePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -2273,15 +3885,62 @@ class DeviceApprovalsChangeMobilePolicyDetails(object): 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.). +class DeviceApprovalsChangeMobilePolicyType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeMobilePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceApprovalsChangeMobilePolicyType(description={!r})'.format( + self._description_value, + ) + +DeviceApprovalsChangeMobilePolicyType_validator = bv.Struct(DeviceApprovalsChangeMobilePolicyType) + +class DeviceApprovalsChangeOverageActionDetails(bb.Struct): + """ + Changed device approvals setting when member is over limit. + + :ivar team_log.DeviceApprovalsChangeOverageActionDetails.new_value: New over + the limits policy. Might be missing due to historical data gap. + :ivar team_log.DeviceApprovalsChangeOverageActionDetails.previous_value: + Previous over the limit policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -2310,7 +3969,7 @@ class DeviceApprovalsChangeOverageActionDetails(object): """ New over the limits policy. Might be missing due to historical data gap. - :rtype: team_policies.RolloutMethod_validator + :rtype: team_policies.RolloutMethod """ if self._new_value_present: return self._new_value_value @@ -2337,7 +3996,7 @@ class DeviceApprovalsChangeOverageActionDetails(object): Previous over the limit policy. Might be missing due to historical data gap. - :rtype: team_policies.RolloutMethod_validator + :rtype: team_policies.RolloutMethod """ if self._previous_value_present: return self._previous_value_value @@ -2358,6 +4017,9 @@ class DeviceApprovalsChangeOverageActionDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeOverageActionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceApprovalsChangeOverageActionDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -2366,15 +4028,62 @@ class DeviceApprovalsChangeOverageActionDetails(object): 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. +class DeviceApprovalsChangeOverageActionType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeOverageActionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceApprovalsChangeOverageActionType(description={!r})'.format( + self._description_value, + ) + +DeviceApprovalsChangeOverageActionType_validator = bv.Struct(DeviceApprovalsChangeOverageActionType) + +class DeviceApprovalsChangeUnlinkActionDetails(bb.Struct): + """ + Changed device approvals setting when member unlinks approved device. + + :ivar team_log.DeviceApprovalsChangeUnlinkActionDetails.new_value: New + device unlink policy. Might be missing due to historical data gap. + :ivar team_log.DeviceApprovalsChangeUnlinkActionDetails.previous_value: + Previous device unlink policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -2451,6 +4160,9 @@ class DeviceApprovalsChangeUnlinkActionDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeUnlinkActionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceApprovalsChangeUnlinkActionDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -2459,6 +4171,53 @@ class DeviceApprovalsChangeUnlinkActionDetails(object): DeviceApprovalsChangeUnlinkActionDetails_validator = bv.Struct(DeviceApprovalsChangeUnlinkActionDetails) +class DeviceApprovalsChangeUnlinkActionType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsChangeUnlinkActionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceApprovalsChangeUnlinkActionType(description={!r})'.format( + self._description_value, + ) + +DeviceApprovalsChangeUnlinkActionType_validator = bv.Struct(DeviceApprovalsChangeUnlinkActionType) + class DeviceApprovalsPolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -2498,125 +4257,229 @@ class DeviceApprovalsPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceApprovalsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceApprovalsPolicy(%r, %r)' % (self._tag, self._value) DeviceApprovalsPolicy_validator = bv.Union(DeviceApprovalsPolicy) -class DeviceChangeIpDesktopDetails(object): +class DeviceChangeIpDesktopDetails(bb.Struct): """ - IP address associated with active desktop session changed. + Changed IP address associated with active desktop session. - :ivar device_info: Device information. + :ivar team_log.DeviceChangeIpDesktopDetails.device_session_info: Device's + session logged information. """ __slots__ = [ - '_device_info_value', - '_device_info_present', + '_device_session_info_value', + '_device_session_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 + device_session_info=None): + self._device_session_info_value = None + self._device_session_info_present = False + if device_session_info is not None: + self.device_session_info = device_session_info @property - def device_info(self): + def device_session_info(self): """ - Device information. + Device's session logged information. - :rtype: DeviceLogInfo + :rtype: DeviceSessionLogInfo """ - if self._device_info_present: - return self._device_info_value + if self._device_session_info_present: + return self._device_session_info_value else: - raise AttributeError("missing required field 'device_info'") + raise AttributeError("missing required field 'device_session_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_session_info.setter + def device_session_info(self, val): + self._device_session_info_validator.validate_type_only(val) + self._device_session_info_value = val + self._device_session_info_present = True - @device_info.deleter - def device_info(self): - self._device_info_value = None - self._device_info_present = False + @device_session_info.deleter + def device_session_info(self): + self._device_session_info_value = None + self._device_session_info_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceChangeIpDesktopDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'DeviceChangeIpDesktopDetails(device_info={!r})'.format( - self._device_info_value, + return 'DeviceChangeIpDesktopDetails(device_session_info={!r})'.format( + self._device_session_info_value, ) DeviceChangeIpDesktopDetails_validator = bv.Struct(DeviceChangeIpDesktopDetails) -class DeviceChangeIpMobileDetails(object): - """ - IP address associated with active mobile session changed. - - :ivar device_info: Device information. - """ +class DeviceChangeIpDesktopType(bb.Struct): __slots__ = [ - '_device_info_value', - '_device_info_present', + '_description_value', + '_description_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def device_info(self): + def description(self): """ - Device information. - - :rtype: DeviceLogInfo + :rtype: str """ - if self._device_info_present: - return self._device_info_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'device_info'") + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @device_info.deleter - def device_info(self): - self._device_info_value = None - self._device_info_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceChangeIpDesktopType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'DeviceChangeIpMobileDetails(device_info={!r})'.format( - self._device_info_value, + return 'DeviceChangeIpDesktopType(description={!r})'.format( + self._description_value, + ) + +DeviceChangeIpDesktopType_validator = bv.Struct(DeviceChangeIpDesktopType) + +class DeviceChangeIpMobileDetails(bb.Struct): + """ + Changed IP address associated with active mobile session. + + :ivar team_log.DeviceChangeIpMobileDetails.device_session_info: Device's + session logged information. + """ + + __slots__ = [ + '_device_session_info_value', + '_device_session_info_present', + ] + + _has_required_fields = False + + def __init__(self, + device_session_info=None): + self._device_session_info_value = None + self._device_session_info_present = False + if device_session_info is not None: + self.device_session_info = device_session_info + + @property + def device_session_info(self): + """ + Device's session logged information. + + :rtype: DeviceSessionLogInfo + """ + if self._device_session_info_present: + return self._device_session_info_value + else: + return None + + @device_session_info.setter + def device_session_info(self, val): + if val is None: + del self.device_session_info + return + self._device_session_info_validator.validate_type_only(val) + self._device_session_info_value = val + self._device_session_info_present = True + + @device_session_info.deleter + def device_session_info(self): + self._device_session_info_value = None + self._device_session_info_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceChangeIpMobileDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceChangeIpMobileDetails(device_session_info={!r})'.format( + self._device_session_info_value, ) DeviceChangeIpMobileDetails_validator = bv.Struct(DeviceChangeIpMobileDetails) -class DeviceChangeIpWebDetails(object): - """ - IP address associated with active Web session changed. +class DeviceChangeIpMobileType(bb.Struct): - :ivar device_info: Device information. Might be missing due to historical - data gap. - :ivar user_agent: Web browser name. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceChangeIpMobileType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceChangeIpMobileType(description={!r})'.format( + self._description_value, + ) + +DeviceChangeIpMobileType_validator = bv.Struct(DeviceChangeIpMobileType) + +class DeviceChangeIpWebDetails(bb.Struct): + """ + Changed IP address associated with active web session. + + :ivar team_log.DeviceChangeIpWebDetails.user_agent: Web browser name. """ __slots__ = [ - '_device_info_value', - '_device_info_present', '_user_agent_value', '_user_agent_present', ] @@ -2624,43 +4487,12 @@ class DeviceChangeIpWebDetails(object): _has_required_fields = True def __init__(self, - user_agent=None, - device_info=None): - self._device_info_value = None - self._device_info_present = False + user_agent=None): self._user_agent_value = None self._user_agent_present = False - if device_info is not None: - self.device_info = device_info if user_agent is not None: self.user_agent = user_agent - @property - def device_info(self): - """ - Device information. Might be missing due to historical data gap. - - :rtype: DeviceLogInfo - """ - if self._device_info_present: - return self._device_info_value - else: - return None - - @device_info.setter - def device_info(self, val): - if val is None: - del self.device_info - return - 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 user_agent(self): """ @@ -2684,25 +4516,80 @@ class DeviceChangeIpWebDetails(object): self._user_agent_value = None self._user_agent_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceChangeIpWebDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'DeviceChangeIpWebDetails(user_agent={!r}, device_info={!r})'.format( + return 'DeviceChangeIpWebDetails(user_agent={!r})'.format( self._user_agent_value, - self._device_info_value, ) DeviceChangeIpWebDetails_validator = bv.Struct(DeviceChangeIpWebDetails) -class DeviceDeleteOnUnlinkFailDetails(object): - """ - Failed to delete all files from an unlinked device. +class DeviceChangeIpWebType(bb.Struct): - :ivar device_info: Device information. - :ivar num_failures: The number of times that remote file deletion failed. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceChangeIpWebType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceChangeIpWebType(description={!r})'.format( + self._description_value, + ) + +DeviceChangeIpWebType_validator = bv.Struct(DeviceChangeIpWebType) + +class DeviceDeleteOnUnlinkFailDetails(bb.Struct): + """ + Failed to delete all files from unlinked device. + + :ivar team_log.DeviceDeleteOnUnlinkFailDetails.session_info: Session unique + id. Might be missing due to historical data gap. + :ivar team_log.DeviceDeleteOnUnlinkFailDetails.display_name: The device + name. Might be missing due to historical data gap. + :ivar team_log.DeviceDeleteOnUnlinkFailDetails.num_failures: The number of + times that remote file deletion failed. """ __slots__ = [ - '_device_info_value', - '_device_info_present', + '_session_info_value', + '_session_info_present', + '_display_name_value', + '_display_name_present', '_num_failures_value', '_num_failures_present', ] @@ -2710,392 +4597,52 @@ class DeviceDeleteOnUnlinkFailDetails(object): _has_required_fields = True def __init__(self, - device_info=None, - num_failures=None): - self._device_info_value = None - self._device_info_present = False + num_failures=None, + session_info=None, + display_name=None): + self._session_info_value = None + self._session_info_present = False + self._display_name_value = None + self._display_name_present = False self._num_failures_value = None self._num_failures_present = False - if device_info is not None: - self.device_info = device_info + if session_info is not None: + self.session_info = session_info + if display_name is not None: + self.display_name = display_name if num_failures is not None: self.num_failures = num_failures @property - def device_info(self): + def session_info(self): """ - Device information. + Session unique id. Might be missing due to historical data gap. - :rtype: DeviceLogInfo + :rtype: SessionLogInfo """ - 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_info: Device information. Might be missing due to historical - data gap. - :ivar device_type: A description of the device used while user approval - blocked. - """ - - __slots__ = [ - '_device_info_value', - '_device_info_present', - '_device_type_value', - '_device_type_present', - ] - - _has_required_fields = True - - def __init__(self, - device_type=None, - device_info=None): - self._device_info_value = None - self._device_info_present = False - self._device_type_value = None - self._device_type_present = False - if device_info is not None: - self.device_info = device_info - if device_type is not None: - self.device_type = device_type - - @property - def device_info(self): - """ - Device information. Might be missing due to historical data gap. - - :rtype: DeviceLogInfo - """ - if self._device_info_present: - return self._device_info_value + if self._session_info_present: + return self._session_info_value else: return None - @device_info.setter - def device_info(self, val): + @session_info.setter + def session_info(self, val): if val is None: - del self.device_info + del self.session_info return - self._device_info_validator.validate_type_only(val) - self._device_info_value = val - self._device_info_present = True + self._session_info_validator.validate_type_only(val) + self._session_info_value = val + self._session_info_present = True - @device_info.deleter - def device_info(self): - self._device_info_value = None - self._device_info_present = False - - @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}, device_info={!r})'.format( - self._device_type_value, - self._device_info_value, - ) - -DeviceLinkFailDetails_validator = bv.Struct(DeviceLinkFailDetails) - -class DeviceLinkSuccessDetails(object): - """ - Linked a 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 'DeviceLinkSuccessDetails(device_info={!r})'.format( - self._device_info_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. - :ivar app_version: Linking app version. 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', - '_app_version_value', - '_app_version_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, - app_version=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 - self._app_version_value = None - self._app_version_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 - if app_version is not None: - self.app_version = app_version - - @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 + @session_info.deleter + def session_info(self): + self._session_info_value = None + self._session_info_present = False @property def display_name(self): """ - Device display name. Might be missing due to historical data gap. + The device name. Might be missing due to historical data gap. :rtype: str """ @@ -3119,135 +4666,258 @@ class DeviceLogInfo(object): self._display_name_present = False @property - def is_emm_managed(self): + def num_failures(self): """ - True if this device is emm managed, false otherwise. Might be missing - due to historical data gap. + The number of times that remote file deletion failed. - :rtype: bool + :rtype: int """ - if self._is_emm_managed_present: - return self._is_emm_managed_value + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceDeleteOnUnlinkFailDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceDeleteOnUnlinkFailDetails(num_failures={!r}, session_info={!r}, display_name={!r})'.format( + self._num_failures_value, + self._session_info_value, + self._display_name_value, + ) + +DeviceDeleteOnUnlinkFailDetails_validator = bv.Struct(DeviceDeleteOnUnlinkFailDetails) + +class DeviceDeleteOnUnlinkFailType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceDeleteOnUnlinkFailType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceDeleteOnUnlinkFailType(description={!r})'.format( + self._description_value, + ) + +DeviceDeleteOnUnlinkFailType_validator = bv.Struct(DeviceDeleteOnUnlinkFailType) + +class DeviceDeleteOnUnlinkSuccessDetails(bb.Struct): + """ + Deleted all files from unlinked device. + + :ivar team_log.DeviceDeleteOnUnlinkSuccessDetails.session_info: Session + unique id. Might be missing due to historical data gap. + :ivar team_log.DeviceDeleteOnUnlinkSuccessDetails.display_name: The device + name. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_session_info_value', + '_session_info_present', + '_display_name_value', + '_display_name_present', + ] + + _has_required_fields = False + + def __init__(self, + session_info=None, + display_name=None): + self._session_info_value = None + self._session_info_present = False + self._display_name_value = None + self._display_name_present = False + if session_info is not None: + self.session_info = session_info + if display_name is not None: + self.display_name = display_name + + @property + def session_info(self): + """ + Session unique id. Might be missing due to historical data gap. + + :rtype: SessionLogInfo + """ + if self._session_info_present: + return self._session_info_value else: return None - @is_emm_managed.setter - def is_emm_managed(self, val): + @session_info.setter + def session_info(self, val): if val is None: - del self.is_emm_managed + del self.session_info return - val = self._is_emm_managed_validator.validate(val) - self._is_emm_managed_value = val - self._is_emm_managed_present = True + self._session_info_validator.validate_type_only(val) + self._session_info_value = val + self._session_info_present = True - @is_emm_managed.deleter - def is_emm_managed(self): - self._is_emm_managed_value = None - self._is_emm_managed_present = False + @session_info.deleter + def session_info(self): + self._session_info_value = None + self._session_info_present = False @property - def platform(self): + def display_name(self): """ - Device platform name. Might be missing due to historical data gap. + The device name. Might be missing due to historical data gap. :rtype: str """ - if self._platform_present: - return self._platform_value + if self._display_name_present: + return self._display_name_value else: return None - @platform.setter - def platform(self, val): + @display_name.setter + def display_name(self, val): if val is None: - del self.platform + del self.display_name return - val = self._platform_validator.validate(val) - self._platform_value = val - self._platform_present = True + val = self._display_name_validator.validate(val) + self._display_name_value = val + self._display_name_present = True - @platform.deleter - def platform(self): - self._platform_value = None - self._platform_present = False + @display_name.deleter + def display_name(self): + self._display_name_value = None + self._display_name_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceDeleteOnUnlinkSuccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceDeleteOnUnlinkSuccessDetails(session_info={!r}, display_name={!r})'.format( + self._session_info_value, + self._display_name_value, + ) + +DeviceDeleteOnUnlinkSuccessDetails_validator = bv.Struct(DeviceDeleteOnUnlinkSuccessDetails) + +class DeviceDeleteOnUnlinkSuccessType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def mac_address(self): + def description(self): """ - Device mac address. Might be missing due to historical data gap. - :rtype: str """ - if self._mac_address_present: - return self._mac_address_value + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @mac_address.deleter - def mac_address(self): - self._mac_address_value = None - self._mac_address_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False - @property - def os_version(self): - """ - Device OS version. Might be missing due to historical data gap. + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceDeleteOnUnlinkSuccessType, self)._process_custom_annotations(annotation_type, field_path, processor) - :rtype: str - """ - if self._os_version_present: - return self._os_version_value - else: - return None + def __repr__(self): + return 'DeviceDeleteOnUnlinkSuccessType(description={!r})'.format( + self._description_value, + ) - @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 +DeviceDeleteOnUnlinkSuccessType_validator = bv.Struct(DeviceDeleteOnUnlinkSuccessType) - @os_version.deleter - def os_version(self): - self._os_version_value = None - self._os_version_present = False +class DeviceLinkFailDetails(bb.Struct): + """ + Failed to link device. - @property - def device_type(self): - """ - Device type. Might be missing due to historical data gap. + :ivar team_log.DeviceLinkFailDetails.ip_address: IP address. Might be + missing due to historical data gap. + :ivar team_log.DeviceLinkFailDetails.device_type: A description of the + device used while user approval blocked. + """ - :rtype: str - """ - if self._device_type_present: - return self._device_type_value - else: - return None + __slots__ = [ + '_ip_address_value', + '_ip_address_present', + '_device_type_value', + '_device_type_present', + ] - @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 + _has_required_fields = True - @device_type.deleter - def device_type(self): + def __init__(self, + device_type=None, + ip_address=None): + self._ip_address_value = None + self._ip_address_present = False self._device_type_value = None self._device_type_present = False + if ip_address is not None: + self.ip_address = ip_address + if device_type is not None: + self.device_type = device_type @property def ip_address(self): @@ -3276,76 +4946,194 @@ class DeviceLogInfo(object): self._ip_address_present = False @property - def last_activity(self): + def device_type(self): """ - Last activity. Might be missing due to historical data gap. + A description of the device used while user approval blocked. - :rtype: str + :rtype: DeviceType """ - if self._last_activity_present: - return self._last_activity_value + if self._device_type_present: + return self._device_type_value else: - return None + raise AttributeError("missing required field 'device_type'") - @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 + @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 - @last_activity.deleter - def last_activity(self): - self._last_activity_value = None - self._last_activity_present = False + @device_type.deleter + def device_type(self): + self._device_type_value = None + self._device_type_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceLinkFailDetails, self)._process_custom_annotations(annotation_type, field_path, processor) 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}, app_version={!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, + return 'DeviceLinkFailDetails(device_type={!r}, ip_address={!r})'.format( self._device_type_value, self._ip_address_value, - self._last_activity_value, - self._app_version_value, ) -DeviceLogInfo_validator = bv.Struct(DeviceLogInfo) +DeviceLinkFailDetails_validator = bv.Struct(DeviceLinkFailDetails) -class DeviceManagementDisabledDetails(object): +class DeviceLinkFailType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceLinkFailType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceLinkFailType(description={!r})'.format( + self._description_value, + ) + +DeviceLinkFailType_validator = bv.Struct(DeviceLinkFailType) + +class DeviceLinkSuccessDetails(bb.Struct): """ - Disable Device Management. + Linked device. + + :ivar team_log.DeviceLinkSuccessDetails.device_session_info: Device's + session logged information. + """ + + __slots__ = [ + '_device_session_info_value', + '_device_session_info_present', + ] + + _has_required_fields = False + + def __init__(self, + device_session_info=None): + self._device_session_info_value = None + self._device_session_info_present = False + if device_session_info is not None: + self.device_session_info = device_session_info + + @property + def device_session_info(self): + """ + Device's session logged information. + + :rtype: DeviceSessionLogInfo + """ + if self._device_session_info_present: + return self._device_session_info_value + else: + return None + + @device_session_info.setter + def device_session_info(self, val): + if val is None: + del self.device_session_info + return + self._device_session_info_validator.validate_type_only(val) + self._device_session_info_value = val + self._device_session_info_present = True + + @device_session_info.deleter + def device_session_info(self): + self._device_session_info_value = None + self._device_session_info_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceLinkSuccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceLinkSuccessDetails(device_session_info={!r})'.format( + self._device_session_info_value, + ) + +DeviceLinkSuccessDetails_validator = bv.Struct(DeviceLinkSuccessDetails) + +class DeviceLinkSuccessType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceLinkSuccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceLinkSuccessType(description={!r})'.format( + self._description_value, + ) + +DeviceLinkSuccessType_validator = bv.Struct(DeviceLinkSuccessType) + +class DeviceManagementDisabledDetails(bb.Struct): + """ + Disabled device management. """ __slots__ = [ @@ -3356,14 +5144,64 @@ class DeviceManagementDisabledDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceManagementDisabledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceManagementDisabledDetails()' DeviceManagementDisabledDetails_validator = bv.Struct(DeviceManagementDisabledDetails) -class DeviceManagementEnabledDetails(object): +class DeviceManagementDisabledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceManagementDisabledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceManagementDisabledType(description={!r})'.format( + self._description_value, + ) + +DeviceManagementDisabledType_validator = bv.Struct(DeviceManagementDisabledType) + +class DeviceManagementEnabledDetails(bb.Struct): """ - Enable Device Management. + Enabled device management. """ __slots__ = [ @@ -3374,11 +5212,61 @@ class DeviceManagementEnabledDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceManagementEnabledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceManagementEnabledDetails()' DeviceManagementEnabledDetails_validator = bv.Struct(DeviceManagementEnabledDetails) +class DeviceManagementEnabledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceManagementEnabledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceManagementEnabledType(description={!r})'.format( + self._description_value, + ) + +DeviceManagementEnabledType_validator = bv.Struct(DeviceManagementEnabledType) + class DeviceType(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -3418,23 +5306,30 @@ class DeviceType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceType(%r, %r)' % (self._tag, self._value) DeviceType_validator = bv.Union(DeviceType) -class DeviceUnlinkDetails(object): +class DeviceUnlinkDetails(bb.Struct): """ - Disconnected a device. + Disconnected device. - :ivar device_info: Device information. - :ivar delete_data: True if the user requested to delete data after device - unlink, false otherwise. + :ivar team_log.DeviceUnlinkDetails.session_info: Session unique id. + :ivar team_log.DeviceUnlinkDetails.display_name: The device name. Might be + missing due to historical data gap. + :ivar team_log.DeviceUnlinkDetails.delete_data: True if the user requested + to delete data after device unlink, false otherwise. """ __slots__ = [ - '_device_info_value', - '_device_info_present', + '_session_info_value', + '_session_info_present', + '_display_name_value', + '_display_name_present', '_delete_data_value', '_delete_data_present', ] @@ -3442,39 +5337,73 @@ class DeviceUnlinkDetails(object): _has_required_fields = True def __init__(self, - device_info=None, - delete_data=None): - self._device_info_value = None - self._device_info_present = False + delete_data=None, + session_info=None, + display_name=None): + self._session_info_value = None + self._session_info_present = False + self._display_name_value = None + self._display_name_present = False self._delete_data_value = None self._delete_data_present = False - if device_info is not None: - self.device_info = device_info + if session_info is not None: + self.session_info = session_info + if display_name is not None: + self.display_name = display_name if delete_data is not None: self.delete_data = delete_data @property - def device_info(self): + def session_info(self): """ - Device information. + Session unique id. - :rtype: DeviceLogInfo + :rtype: SessionLogInfo """ - if self._device_info_present: - return self._device_info_value + if self._session_info_present: + return self._session_info_value else: - raise AttributeError("missing required field 'device_info'") + return None - @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 + @session_info.setter + def session_info(self, val): + if val is None: + del self.session_info + return + self._session_info_validator.validate_type_only(val) + self._session_info_value = val + self._session_info_present = True - @device_info.deleter - def device_info(self): - self._device_info_value = None - self._device_info_present = False + @session_info.deleter + def session_info(self): + self._session_info_value = None + self._session_info_present = False + + @property + def display_name(self): + """ + The device 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 delete_data(self): @@ -3500,10 +5429,14 @@ class DeviceUnlinkDetails(object): self._delete_data_value = None self._delete_data_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceUnlinkDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'DeviceUnlinkDetails(device_info={!r}, delete_data={!r})'.format( - self._device_info_value, + return 'DeviceUnlinkDetails(delete_data={!r}, session_info={!r}, display_name={!r})'.format( self._delete_data_value, + self._session_info_value, + self._display_name_value, ) DeviceUnlinkDetails_validator = bv.Struct(DeviceUnlinkDetails) @@ -3547,12 +5480,198 @@ class DeviceUnlinkPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceUnlinkPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DeviceUnlinkPolicy(%r, %r)' % (self._tag, self._value) DeviceUnlinkPolicy_validator = bv.Union(DeviceUnlinkPolicy) -class DisabledDomainInvitesDetails(object): +class DeviceUnlinkType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DeviceUnlinkType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DeviceUnlinkType(description={!r})'.format( + self._description_value, + ) + +DeviceUnlinkType_validator = bv.Struct(DeviceUnlinkType) + +class DirectoryRestrictionsAddMembersDetails(bb.Struct): + """ + Added members to directory restrictions list. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DirectoryRestrictionsAddMembersDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DirectoryRestrictionsAddMembersDetails()' + +DirectoryRestrictionsAddMembersDetails_validator = bv.Struct(DirectoryRestrictionsAddMembersDetails) + +class DirectoryRestrictionsAddMembersType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DirectoryRestrictionsAddMembersType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DirectoryRestrictionsAddMembersType(description={!r})'.format( + self._description_value, + ) + +DirectoryRestrictionsAddMembersType_validator = bv.Struct(DirectoryRestrictionsAddMembersType) + +class DirectoryRestrictionsRemoveMembersDetails(bb.Struct): + """ + Removed members from directory restrictions list. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DirectoryRestrictionsRemoveMembersDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DirectoryRestrictionsRemoveMembersDetails()' + +DirectoryRestrictionsRemoveMembersDetails_validator = bv.Struct(DirectoryRestrictionsRemoveMembersDetails) + +class DirectoryRestrictionsRemoveMembersType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DirectoryRestrictionsRemoveMembersType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DirectoryRestrictionsRemoveMembersType(description={!r})'.format( + self._description_value, + ) + +DirectoryRestrictionsRemoveMembersType_validator = bv.Struct(DirectoryRestrictionsRemoveMembersType) + +class DisabledDomainInvitesDetails(bb.Struct): """ Disabled domain invites. """ @@ -3565,14 +5684,64 @@ class DisabledDomainInvitesDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DisabledDomainInvitesDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DisabledDomainInvitesDetails()' DisabledDomainInvitesDetails_validator = bv.Struct(DisabledDomainInvitesDetails) -class DomainInvitesApproveRequestToJoinTeamDetails(object): +class DisabledDomainInvitesType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DisabledDomainInvitesType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DisabledDomainInvitesType(description={!r})'.format( + self._description_value, + ) + +DisabledDomainInvitesType_validator = bv.Struct(DisabledDomainInvitesType) + +class DomainInvitesApproveRequestToJoinTeamDetails(bb.Struct): """ - Approved a member's request to join the team. + Approved user's request to join team. """ __slots__ = [ @@ -3583,14 +5752,64 @@ class DomainInvitesApproveRequestToJoinTeamDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesApproveRequestToJoinTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainInvitesApproveRequestToJoinTeamDetails()' DomainInvitesApproveRequestToJoinTeamDetails_validator = bv.Struct(DomainInvitesApproveRequestToJoinTeamDetails) -class DomainInvitesDeclineRequestToJoinTeamDetails(object): +class DomainInvitesApproveRequestToJoinTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesApproveRequestToJoinTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainInvitesApproveRequestToJoinTeamType(description={!r})'.format( + self._description_value, + ) + +DomainInvitesApproveRequestToJoinTeamType_validator = bv.Struct(DomainInvitesApproveRequestToJoinTeamType) + +class DomainInvitesDeclineRequestToJoinTeamDetails(bb.Struct): """ - Declined a user's request to join the team. + Declined user's request to join team. """ __slots__ = [ @@ -3601,17 +5820,69 @@ class DomainInvitesDeclineRequestToJoinTeamDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesDeclineRequestToJoinTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainInvitesDeclineRequestToJoinTeamDetails()' DomainInvitesDeclineRequestToJoinTeamDetails_validator = bv.Struct(DomainInvitesDeclineRequestToJoinTeamDetails) -class DomainInvitesEmailExistingUsersDetails(object): +class DomainInvitesDeclineRequestToJoinTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesDeclineRequestToJoinTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainInvitesDeclineRequestToJoinTeamType(description={!r})'.format( + self._description_value, + ) + +DomainInvitesDeclineRequestToJoinTeamType_validator = bv.Struct(DomainInvitesDeclineRequestToJoinTeamType) + +class DomainInvitesEmailExistingUsersDetails(bb.Struct): """ Sent domain invites to existing domain accounts. - :ivar domain_name: Domain names. - :ivar num_recipients: Number of recipients. + :ivar team_log.DomainInvitesEmailExistingUsersDetails.domain_name: Domain + names. + :ivar team_log.DomainInvitesEmailExistingUsersDetails.num_recipients: Number + of recipients. """ __slots__ = [ @@ -3640,7 +5911,7 @@ class DomainInvitesEmailExistingUsersDetails(object): """ Domain names. - :rtype: list of [str] + :rtype: str """ if self._domain_name_present: return self._domain_name_value @@ -3663,7 +5934,7 @@ class DomainInvitesEmailExistingUsersDetails(object): """ Number of recipients. - :rtype: long + :rtype: int """ if self._num_recipients_present: return self._num_recipients_value @@ -3681,6 +5952,9 @@ class DomainInvitesEmailExistingUsersDetails(object): self._num_recipients_value = None self._num_recipients_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesEmailExistingUsersDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainInvitesEmailExistingUsersDetails(domain_name={!r}, num_recipients={!r})'.format( self._domain_name_value, @@ -3689,9 +5963,56 @@ class DomainInvitesEmailExistingUsersDetails(object): DomainInvitesEmailExistingUsersDetails_validator = bv.Struct(DomainInvitesEmailExistingUsersDetails) -class DomainInvitesRequestToJoinTeamDetails(object): +class DomainInvitesEmailExistingUsersType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesEmailExistingUsersType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainInvitesEmailExistingUsersType(description={!r})'.format( + self._description_value, + ) + +DomainInvitesEmailExistingUsersType_validator = bv.Struct(DomainInvitesEmailExistingUsersType) + +class DomainInvitesRequestToJoinTeamDetails(bb.Struct): """ - Asked to join the team. + Requested to join team. """ __slots__ = [ @@ -3702,14 +6023,64 @@ class DomainInvitesRequestToJoinTeamDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesRequestToJoinTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainInvitesRequestToJoinTeamDetails()' DomainInvitesRequestToJoinTeamDetails_validator = bv.Struct(DomainInvitesRequestToJoinTeamDetails) -class DomainInvitesSetInviteNewUserPrefToNoDetails(object): +class DomainInvitesRequestToJoinTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesRequestToJoinTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainInvitesRequestToJoinTeamType(description={!r})'.format( + self._description_value, + ) + +DomainInvitesRequestToJoinTeamType_validator = bv.Struct(DomainInvitesRequestToJoinTeamType) + +class DomainInvitesSetInviteNewUserPrefToNoDetails(bb.Struct): """ - Turned off u201cAutomatically invite new usersu201d. + Disabled "Automatically invite new users". """ __slots__ = [ @@ -3720,14 +6091,64 @@ class DomainInvitesSetInviteNewUserPrefToNoDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesSetInviteNewUserPrefToNoDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainInvitesSetInviteNewUserPrefToNoDetails()' DomainInvitesSetInviteNewUserPrefToNoDetails_validator = bv.Struct(DomainInvitesSetInviteNewUserPrefToNoDetails) -class DomainInvitesSetInviteNewUserPrefToYesDetails(object): +class DomainInvitesSetInviteNewUserPrefToNoType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesSetInviteNewUserPrefToNoType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainInvitesSetInviteNewUserPrefToNoType(description={!r})'.format( + self._description_value, + ) + +DomainInvitesSetInviteNewUserPrefToNoType_validator = bv.Struct(DomainInvitesSetInviteNewUserPrefToNoType) + +class DomainInvitesSetInviteNewUserPrefToYesDetails(bb.Struct): """ - Turned on u201cAutomatically invite new usersu201d. + Enabled "Automatically invite new users". """ __slots__ = [ @@ -3738,18 +6159,70 @@ class DomainInvitesSetInviteNewUserPrefToYesDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesSetInviteNewUserPrefToYesDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainInvitesSetInviteNewUserPrefToYesDetails()' DomainInvitesSetInviteNewUserPrefToYesDetails_validator = bv.Struct(DomainInvitesSetInviteNewUserPrefToYesDetails) -class DomainVerificationAddDomainFailDetails(object): - """ - Failed to verify a domain belonging to the team. +class DomainInvitesSetInviteNewUserPrefToYesType(bb.Struct): - :ivar domain_name: Domain name. - :ivar verification_method: Domain name verification method. Might be missing - due to historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainInvitesSetInviteNewUserPrefToYesType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainInvitesSetInviteNewUserPrefToYesType(description={!r})'.format( + self._description_value, + ) + +DomainInvitesSetInviteNewUserPrefToYesType_validator = bv.Struct(DomainInvitesSetInviteNewUserPrefToYesType) + +class DomainVerificationAddDomainFailDetails(bb.Struct): + """ + Failed to verify team domain. + + :ivar team_log.DomainVerificationAddDomainFailDetails.domain_name: Domain + name. + :ivar team_log.DomainVerificationAddDomainFailDetails.verification_method: + Domain name verification method. Might be missing due to historical data + gap. """ __slots__ = [ @@ -3823,6 +6296,9 @@ class DomainVerificationAddDomainFailDetails(object): self._verification_method_value = None self._verification_method_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainVerificationAddDomainFailDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainVerificationAddDomainFailDetails(domain_name={!r}, verification_method={!r})'.format( self._domain_name_value, @@ -3831,13 +6307,63 @@ class DomainVerificationAddDomainFailDetails(object): DomainVerificationAddDomainFailDetails_validator = bv.Struct(DomainVerificationAddDomainFailDetails) -class DomainVerificationAddDomainSuccessDetails(object): - """ - Verified a domain belonging to the team. +class DomainVerificationAddDomainFailType(bb.Struct): - :ivar domain_names: Domain names. - :ivar verification_method: Domain name verification method. Might be missing - due to historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainVerificationAddDomainFailType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainVerificationAddDomainFailType(description={!r})'.format( + self._description_value, + ) + +DomainVerificationAddDomainFailType_validator = bv.Struct(DomainVerificationAddDomainFailType) + +class DomainVerificationAddDomainSuccessDetails(bb.Struct): + """ + Verified team domain. + + :ivar team_log.DomainVerificationAddDomainSuccessDetails.domain_names: + Domain names. + :ivar + team_log.DomainVerificationAddDomainSuccessDetails.verification_method: + Domain name verification method. Might be missing due to historical data + gap. """ __slots__ = [ @@ -3911,6 +6437,9 @@ class DomainVerificationAddDomainSuccessDetails(object): self._verification_method_value = None self._verification_method_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainVerificationAddDomainSuccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainVerificationAddDomainSuccessDetails(domain_names={!r}, verification_method={!r})'.format( self._domain_names_value, @@ -3919,11 +6448,59 @@ class DomainVerificationAddDomainSuccessDetails(object): DomainVerificationAddDomainSuccessDetails_validator = bv.Struct(DomainVerificationAddDomainSuccessDetails) -class DomainVerificationRemoveDomainDetails(object): - """ - Removed a domain from the list of verified domains belonging to the team. +class DomainVerificationAddDomainSuccessType(bb.Struct): - :ivar domain_names: Domain names. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainVerificationAddDomainSuccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainVerificationAddDomainSuccessType(description={!r})'.format( + self._description_value, + ) + +DomainVerificationAddDomainSuccessType_validator = bv.Struct(DomainVerificationAddDomainSuccessType) + +class DomainVerificationRemoveDomainDetails(bb.Struct): + """ + Removed domain from list of verified team domains. + + :ivar team_log.DomainVerificationRemoveDomainDetails.domain_names: Domain + names. """ __slots__ = [ @@ -3963,6 +6540,9 @@ class DomainVerificationRemoveDomainDetails(object): self._domain_names_value = None self._domain_names_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainVerificationRemoveDomainDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DomainVerificationRemoveDomainDetails(domain_names={!r})'.format( self._domain_names_value, @@ -3970,12 +6550,108 @@ class DomainVerificationRemoveDomainDetails(object): DomainVerificationRemoveDomainDetails_validator = bv.Struct(DomainVerificationRemoveDomainDetails) -class DurationLogInfo(object): +class DomainVerificationRemoveDomainType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DomainVerificationRemoveDomainType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DomainVerificationRemoveDomainType(description={!r})'.format( + self._description_value, + ) + +DomainVerificationRemoveDomainType_validator = bv.Struct(DomainVerificationRemoveDomainType) + +class DownloadPolicyType(bb.Union): + """ + Shared content downloads policy + + 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 + allow = None + # Attribute is overwritten below the class definition + disallow = None + # Attribute is overwritten below the class definition + other = None + + def is_allow(self): + """ + Check if the union tag is ``allow``. + + :rtype: bool + """ + return self._tag == 'allow' + + def is_disallow(self): + """ + Check if the union tag is ``disallow``. + + :rtype: bool + """ + return self._tag == 'disallow' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DownloadPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'DownloadPolicyType(%r, %r)' % (self._tag, self._value) + +DownloadPolicyType_validator = bv.Union(DownloadPolicyType) + +class DurationLogInfo(bb.Struct): """ Represents a time duration: unit and amount - :ivar unit: Time unit. - :ivar amount: Amount of time. + :ivar team_log.DurationLogInfo.unit: Time unit. + :ivar team_log.DurationLogInfo.amount: Amount of time. """ __slots__ = [ @@ -4027,7 +6703,7 @@ class DurationLogInfo(object): """ Amount of time. - :rtype: long + :rtype: int """ if self._amount_present: return self._amount_value @@ -4045,6 +6721,9 @@ class DurationLogInfo(object): self._amount_value = None self._amount_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(DurationLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'DurationLogInfo(unit={!r}, amount={!r})'.format( self._unit_value, @@ -4053,10 +6732,9 @@ class DurationLogInfo(object): DurationLogInfo_validator = bv.Struct(DurationLogInfo) -class EmmAddExceptionDetails(object): +class EmmAddExceptionDetails(bb.Struct): """ - Added an exception for one or more team members to optionally use the - regular Dropbox app when EMM is enabled. + Added members to EMM exception list. """ __slots__ = [ @@ -4067,18 +6745,69 @@ class EmmAddExceptionDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmAddExceptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EmmAddExceptionDetails()' EmmAddExceptionDetails_validator = bv.Struct(EmmAddExceptionDetails) -class EmmChangePolicyDetails(object): - """ - Enabled or disabled enterprise mobility management for team members. +class EmmAddExceptionType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmAddExceptionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EmmAddExceptionType(description={!r})'.format( + self._description_value, + ) + +EmmAddExceptionType_validator = bv.Struct(EmmAddExceptionType) + +class EmmChangePolicyDetails(bb.Struct): + """ + Enabled/disabled enterprise mobility management for members. + + :ivar team_log.EmmChangePolicyDetails.new_value: New enterprise mobility + management policy. + :ivar team_log.EmmChangePolicyDetails.previous_value: Previous enterprise + mobility management policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -4107,7 +6836,7 @@ class EmmChangePolicyDetails(object): """ New enterprise mobility management policy. - :rtype: team_policies.EmmState_validator + :rtype: team_policies.EmmState """ if self._new_value_present: return self._new_value_value @@ -4131,7 +6860,7 @@ class EmmChangePolicyDetails(object): Previous enterprise mobility management policy. Might be missing due to historical data gap. - :rtype: team_policies.EmmState_validator + :rtype: team_policies.EmmState """ if self._previous_value_present: return self._previous_value_value @@ -4152,6 +6881,9 @@ class EmmChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EmmChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -4160,9 +6892,56 @@ class EmmChangePolicyDetails(object): EmmChangePolicyDetails_validator = bv.Struct(EmmChangePolicyDetails) -class EmmCreateExceptionsReportDetails(object): +class EmmChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EmmChangePolicyType(description={!r})'.format( + self._description_value, + ) + +EmmChangePolicyType_validator = bv.Struct(EmmChangePolicyType) + +class EmmCreateExceptionsReportDetails(bb.Struct): """ - EMM excluded users report created. + Created EMM-excluded users report. """ __slots__ = [ @@ -4173,14 +6952,64 @@ class EmmCreateExceptionsReportDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmCreateExceptionsReportDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EmmCreateExceptionsReportDetails()' EmmCreateExceptionsReportDetails_validator = bv.Struct(EmmCreateExceptionsReportDetails) -class EmmCreateUsageReportDetails(object): +class EmmCreateExceptionsReportType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmCreateExceptionsReportType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EmmCreateExceptionsReportType(description={!r})'.format( + self._description_value, + ) + +EmmCreateExceptionsReportType_validator = bv.Struct(EmmCreateExceptionsReportType) + +class EmmCreateUsageReportDetails(bb.Struct): """ - EMM mobile app usage report created. + Created EMM mobile app usage report. """ __slots__ = [ @@ -4191,32 +7020,165 @@ class EmmCreateUsageReportDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmCreateUsageReportDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EmmCreateUsageReportDetails()' EmmCreateUsageReportDetails_validator = bv.Struct(EmmCreateUsageReportDetails) -class EmmLoginSuccessDetails(object): - """ - Signed in using the Dropbox EMM app. - """ +class EmmCreateUsageReportType(bb.Struct): __slots__ = [ + '_description_value', + '_description_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmCreateUsageReportType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'EmmLoginSuccessDetails()' + return 'EmmCreateUsageReportType(description={!r})'.format( + self._description_value, + ) -EmmLoginSuccessDetails_validator = bv.Struct(EmmLoginSuccessDetails) +EmmCreateUsageReportType_validator = bv.Struct(EmmCreateUsageReportType) -class EmmRefreshAuthTokenDetails(object): +class EmmErrorDetails(bb.Struct): """ - Refreshed the auth token used for setting up enterprise mobility management. + Failed to sign in via EMM. + + :ivar team_log.EmmErrorDetails.error_details: Error details. + """ + + __slots__ = [ + '_error_details_value', + '_error_details_present', + ] + + _has_required_fields = True + + def __init__(self, + error_details=None): + self._error_details_value = None + self._error_details_present = False + if error_details is not None: + self.error_details = error_details + + @property + def error_details(self): + """ + Error details. + + :rtype: FailureDetailsLogInfo + """ + if self._error_details_present: + return self._error_details_value + else: + raise AttributeError("missing required field 'error_details'") + + @error_details.setter + def error_details(self, val): + self._error_details_validator.validate_type_only(val) + self._error_details_value = val + self._error_details_present = True + + @error_details.deleter + def error_details(self): + self._error_details_value = None + self._error_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmErrorDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EmmErrorDetails(error_details={!r})'.format( + self._error_details_value, + ) + +EmmErrorDetails_validator = bv.Struct(EmmErrorDetails) + +class EmmErrorType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmErrorType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EmmErrorType(description={!r})'.format( + self._description_value, + ) + +EmmErrorType_validator = bv.Struct(EmmErrorType) + +class EmmRefreshAuthTokenDetails(bb.Struct): + """ + Refreshed auth token used for setting up EMM. """ __slots__ = [ @@ -4227,15 +7189,64 @@ class EmmRefreshAuthTokenDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmRefreshAuthTokenDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EmmRefreshAuthTokenDetails()' EmmRefreshAuthTokenDetails_validator = bv.Struct(EmmRefreshAuthTokenDetails) -class EmmRemoveExceptionDetails(object): +class EmmRefreshAuthTokenType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmRefreshAuthTokenType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EmmRefreshAuthTokenType(description={!r})'.format( + self._description_value, + ) + +EmmRefreshAuthTokenType_validator = bv.Struct(EmmRefreshAuthTokenType) + +class EmmRemoveExceptionDetails(bb.Struct): """ - Removed an exception for one or more team members to optionally use the - regular Dropbox app when EMM is enabled. + Removed members from EMM exception list. """ __slots__ = [ @@ -4246,12 +7257,62 @@ class EmmRemoveExceptionDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmRemoveExceptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EmmRemoveExceptionDetails()' EmmRemoveExceptionDetails_validator = bv.Struct(EmmRemoveExceptionDetails) -class EnabledDomainInvitesDetails(object): +class EmmRemoveExceptionType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmRemoveExceptionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EmmRemoveExceptionType(description={!r})'.format( + self._description_value, + ) + +EmmRemoveExceptionType_validator = bv.Struct(EmmRemoveExceptionType) + +class EnabledDomainInvitesDetails(bb.Struct): """ Enabled domain invites. """ @@ -4264,11 +7325,61 @@ class EnabledDomainInvitesDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EnabledDomainInvitesDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EnabledDomainInvitesDetails()' EnabledDomainInvitesDetails_validator = bv.Struct(EnabledDomainInvitesDetails) +class EnabledDomainInvitesType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EnabledDomainInvitesType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'EnabledDomainInvitesType(description={!r})'.format( + self._description_value, + ) + +EnabledDomainInvitesType_validator = bv.Struct(EnabledDomainInvitesType) + class EventCategory(bb.Union): """ Category of events in event audit log. @@ -4277,84 +7388,58 @@ class EventCategory(bb.Union): 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 + :ivar team_log.EventCategory.apps: Events that apply to management of linked + apps. + :ivar team_log.EventCategory.comments: Events that have to do with comments + on files and Paper documents. + :ivar team_log.EventCategory.devices: Events that apply to linked devices on + mobile, desktop and Web platforms. + :ivar team_log.EventCategory.domains: Events that involve domain management + feature: domain verification, invite enforcement and account capture. + :ivar team_log.EventCategory.file_operations: Events that have to do with + filesystem operations on files and folders: copy, move, delete, etc. + :ivar team_log.EventCategory.file_requests: Events that apply to the file + requests feature. + :ivar team_log.EventCategory.groups: Events that involve group management. + :ivar team_log.EventCategory.logins: Events that involve users signing in to + or out of Dropbox. + :ivar team_log.EventCategory.members: Events that involve team member 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. + :ivar team_log.EventCategory.paper: Events that apply to Dropbox Paper. + :ivar team_log.EventCategory.passwords: Events that involve using, changing + or resetting passwords. + :ivar team_log.EventCategory.reports: Events that concern generation of + admin reports, including team activity and device usage. + :ivar team_log.EventCategory.sharing: Events that apply to all types of + sharing and collaboration. + :ivar team_log.EventCategory.showcase: Events that apply to Dropbox + Showcase. + :ivar team_log.EventCategory.sso: Events that involve using or configuring + single sign-on as well as administrative policies concerning single + sign-on. + :ivar team_log.EventCategory.team_folders: Events that involve team folder + management. + :ivar team_log.EventCategory.team_policies: Events that involve a change in + team-wide policies. + :ivar team_log.EventCategory.team_profile: Events that involve a change in + the team profile. + :ivar team_log.EventCategory.tfa: Events that involve using or configuring + two factor authentication as well as administrative policies concerning + two factor authentication. + :ivar team_log.EventCategory.trusted_teams: Events that apply to cross-team + trust establishment. """ _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 @@ -4371,17 +7456,9 @@ class EventCategory(bb.Union): # 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 + showcase = None # Attribute is overwritten below the class definition sso = None # Attribute is overwritten below the class definition @@ -4393,24 +7470,10 @@ class EventCategory(bb.Union): # Attribute is overwritten below the class definition tfa = None # Attribute is overwritten below the class definition + trusted_teams = 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``. @@ -4419,14 +7482,6 @@ class EventCategory(bb.Union): """ 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``. @@ -4435,14 +7490,6 @@ class EventCategory(bb.Union): """ 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``. @@ -4451,14 +7498,6 @@ class EventCategory(bb.Union): """ 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``. @@ -4467,30 +7506,6 @@ class EventCategory(bb.Union): """ 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``. @@ -4555,38 +7570,6 @@ class EventCategory(bb.Union): """ 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``. @@ -4595,13 +7578,13 @@ class EventCategory(bb.Union): """ return self._tag == 'sharing' - def is_sharing_policies(self): + def is_showcase(self): """ - Check if the union tag is ``sharing_policies``. + Check if the union tag is ``showcase``. :rtype: bool """ - return self._tag == 'sharing_policies' + return self._tag == 'showcase' def is_sso(self): """ @@ -4643,6 +7626,14 @@ class EventCategory(bb.Union): """ return self._tag == 'tfa' + def is_trusted_teams(self): + """ + Check if the union tag is ``trusted_teams``. + + :rtype: bool + """ + return self._tag == 'trusted_teams' + def is_other(self): """ Check if the union tag is ``other``. @@ -4651,6 +7642,9 @@ class EventCategory(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EventCategory, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EventCategory(%r, %r)' % (self._tag, self._value) @@ -4664,766 +7658,14 @@ class EventDetails(bb.Union): 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 PaperAdminExportStartDetails paper_admin_export_start_details: - Exported all Paper documents in the team. - :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 TeamMergeFromDetails team_merge_from_details: Merged another team into - this team. - :ivar TeamMergeToDetails team_merge_to_details: Merged this 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 FileAddCommentDetails file_add_comment_details: Added a file comment. - :ivar FileChangeCommentSubscriptionDetails - file_change_comment_subscription_details: Subscribed to or unsubscribed - from comment notifications for file. - :ivar FileDeleteCommentDetails file_delete_comment_details: Deleted a file - comment. - :ivar FileLikeCommentDetails file_like_comment_details: Liked a file - comment. - :ivar FileResolveCommentDetails file_resolve_comment_details: Resolved a - file comment. - :ivar FileUnlikeCommentDetails file_unlike_comment_details: Unliked a file - comment. - :ivar FileUnresolveCommentDetails file_unresolve_comment_details: Unresolved - a file comment. - :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 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 MemberChangeAdminRoleDetails member_change_admin_role_details: Change - the admin role belonging to team member. - :ivar MemberChangeEmailDetails member_change_email_details: Changed team - member email address. - :ivar MemberChangeNameDetails member_change_name_details: Changed team - member name. - :ivar MemberChangeStatusDetails member_change_status_details: Changed the - membership status of a team member. - :ivar MemberSuggestDetails member_suggest_details: Suggested a new team - member to be added to the team. - :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 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 PaperDocChangeSubscriptionDetails - paper_doc_change_subscription_details: Followed or unfollowed a 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 PaperDocTrashedDetails paper_doc_trashed_details: Paper doc trashed. - :ivar PaperDocUnresolveCommentDetails paper_doc_unresolve_comment_details: - Unresolved a Paper doc comment. - :ivar PaperDocUntrashedDetails paper_doc_untrashed_details: Paper doc - untrashed. - :ivar PaperDocViewDetails paper_doc_view_details: Viewed Paper doc. - :ivar PaperFolderChangeSubscriptionDetails - paper_folder_change_subscription_details: Followed or unfollowed a Paper - folder. - :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 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 SsoAddCertDetails sso_add_cert_details: Added the X.509 certificate - for SSO. - :ivar SsoAddLoginUrlDetails sso_add_login_url_details: Added sign-in URL for - SSO. - :ivar SsoAddLogoutUrlDetails sso_add_logout_url_details: Added 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 SsoRemoveCertDetails sso_remove_cert_details: Removed the X.509 - certificate for SSO. - :ivar SsoRemoveLoginUrlDetails sso_remove_login_url_details: Removed the - sign-in URL for SSO. - :ivar SsoRemoveLogoutUrlDetails sso_remove_logout_url_details: Removed - single sign-on logout URL. - :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 PaperChangeMemberLinkPolicyDetails - paper_change_member_link_policy_details: Changed whether non team - members can view Paper documents using a link. - :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 SmartSyncNotOptOutDetails smart_sync_not_opt_out_details: Opted team - into Smart Sync. - :ivar SmartSyncOptOutDetails smart_sync_opt_out_details: Opted team out of - Smart Sync. - :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 TeamProfileChangeDefaultLanguageDetails - team_profile_change_default_language_details: Changed the default - language for the team. - :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. + :ivar MissingDetails EventDetails.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_admin_export_start_details(cls, val): - """ - Create an instance of this class set to the - ``paper_admin_export_start_details`` tag with value ``val``. - - :param PaperAdminExportStartDetails val: - :rtype: EventDetails - """ - return cls('paper_admin_export_start_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_from_details(cls, val): - """ - Create an instance of this class set to the ``team_merge_from_details`` - tag with value ``val``. - - :param TeamMergeFromDetails val: - :rtype: EventDetails - """ - return cls('team_merge_from_details', val) - - @classmethod - def team_merge_to_details(cls, val): - """ - Create an instance of this class set to the ``team_merge_to_details`` - tag with value ``val``. - - :param TeamMergeToDetails val: - :rtype: EventDetails - """ - return cls('team_merge_to_details', val) - @classmethod def app_link_team_details(cls, val): """ @@ -5468,6 +7710,28 @@ class EventDetails(bb.Union): """ return cls('app_unlink_user_details', val) + @classmethod + def integration_connected_details(cls, val): + """ + Create an instance of this class set to the + ``integration_connected_details`` tag with value ``val``. + + :param IntegrationConnectedDetails val: + :rtype: EventDetails + """ + return cls('integration_connected_details', val) + + @classmethod + def integration_disconnected_details(cls, val): + """ + Create an instance of this class set to the + ``integration_disconnected_details`` tag with value ``val``. + + :param IntegrationDisconnectedDetails val: + :rtype: EventDetails + """ + return cls('integration_disconnected_details', val) + @classmethod def file_add_comment_details(cls, val): """ @@ -5501,6 +7765,17 @@ class EventDetails(bb.Union): """ return cls('file_delete_comment_details', val) + @classmethod + def file_edit_comment_details(cls, val): + """ + Create an instance of this class set to the + ``file_edit_comment_details`` tag with value ``val``. + + :param FileEditCommentDetails val: + :rtype: EventDetails + """ + return cls('file_edit_comment_details', val) + @classmethod def file_like_comment_details(cls, val): """ @@ -5688,6 +7963,18 @@ class EventDetails(bb.Union): """ return cls('account_capture_migrate_account_details', val) + @classmethod + def account_capture_notification_emails_sent_details(cls, val): + """ + Create an instance of this class set to the + ``account_capture_notification_emails_sent_details`` tag with value + ``val``. + + :param AccountCaptureNotificationEmailsSentDetails val: + :rtype: EventDetails + """ + return cls('account_capture_notification_emails_sent_details', val) + @classmethod def account_capture_relinquish_account_details(cls, val): """ @@ -5991,37 +8278,15 @@ class EventDetails(bb.Union): return cls('file_save_copy_reference_details', val) @classmethod - def file_request_add_deadline_details(cls, val): + def file_request_change_details(cls, val): """ Create an instance of this class set to the - ``file_request_add_deadline_details`` tag with value ``val``. + ``file_request_change_details`` tag with value ``val``. - :param FileRequestAddDeadlineDetails val: + :param FileRequestChangeDetails 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) + return cls('file_request_change_details', val) @classmethod def file_request_close_details(cls, val): @@ -6045,6 +8310,17 @@ class EventDetails(bb.Union): """ return cls('file_request_create_details', val) + @classmethod + def file_request_delete_details(cls, val): + """ + Create an instance of this class set to the + ``file_request_delete_details`` tag with value ``val``. + + :param FileRequestDeleteDetails val: + :rtype: EventDetails + """ + return cls('file_request_delete_details', val) + @classmethod def file_request_receive_file_details(cls, val): """ @@ -6056,28 +8332,6 @@ class EventDetails(bb.Union): """ 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): """ @@ -6155,6 +8409,28 @@ class EventDetails(bb.Union): """ 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): """ @@ -6200,15 +8476,61 @@ class EventDetails(bb.Union): return cls('group_rename_details', val) @classmethod - def emm_login_success_details(cls, val): + def emm_error_details(cls, val): """ - Create an instance of this class set to the - ``emm_login_success_details`` tag with value ``val``. + Create an instance of this class set to the ``emm_error_details`` tag + with value ``val``. - :param EmmLoginSuccessDetails val: + :param EmmErrorDetails val: :rtype: EventDetails """ - return cls('emm_login_success_details', val) + return cls('emm_error_details', val) + + @classmethod + def guest_admin_signed_in_via_trusted_teams_details(cls, val): + """ + Create an instance of this class set to the + ``guest_admin_signed_in_via_trusted_teams_details`` tag with value + ``val``. + + :param GuestAdminSignedInViaTrustedTeamsDetails val: + :rtype: EventDetails + """ + return cls('guest_admin_signed_in_via_trusted_teams_details', val) + + @classmethod + def guest_admin_signed_out_via_trusted_teams_details(cls, val): + """ + Create an instance of this class set to the + ``guest_admin_signed_out_via_trusted_teams_details`` tag with value + ``val``. + + :param GuestAdminSignedOutViaTrustedTeamsDetails val: + :rtype: EventDetails + """ + return cls('guest_admin_signed_out_via_trusted_teams_details', val) + + @classmethod + def login_fail_details(cls, val): + """ + Create an instance of this class set to the ``login_fail_details`` tag + with value ``val``. + + :param LoginFailDetails val: + :rtype: EventDetails + """ + return cls('login_fail_details', val) + + @classmethod + def login_success_details(cls, val): + """ + Create an instance of this class set to the ``login_success_details`` + tag with value ``val``. + + :param LoginSuccessDetails val: + :rtype: EventDetails + """ + return cls('login_success_details', val) @classmethod def logout_details(cls, val): @@ -6221,28 +8543,6 @@ class EventDetails(bb.Union): """ 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): """ @@ -6288,15 +8588,26 @@ class EventDetails(bb.Union): return cls('sign_in_as_session_start_details', val) @classmethod - def sso_login_fail_details(cls, val): + def sso_error_details(cls, val): """ - Create an instance of this class set to the ``sso_login_fail_details`` - tag with value ``val``. + Create an instance of this class set to the ``sso_error_details`` tag + with value ``val``. - :param SsoLoginFailDetails val: + :param SsoErrorDetails val: :rtype: EventDetails """ - return cls('sso_login_fail_details', val) + return cls('sso_error_details', val) + + @classmethod + def member_add_external_id_details(cls, val): + """ + Create an instance of this class set to the + ``member_add_external_id_details`` tag with value ``val``. + + :param MemberAddExternalIdDetails val: + :rtype: EventDetails + """ + return cls('member_add_external_id_details', val) @classmethod def member_add_name_details(cls, val): @@ -6331,6 +8642,28 @@ class EventDetails(bb.Union): """ return cls('member_change_email_details', val) + @classmethod + def member_change_external_id_details(cls, val): + """ + Create an instance of this class set to the + ``member_change_external_id_details`` tag with value ``val``. + + :param MemberChangeExternalIdDetails val: + :rtype: EventDetails + """ + return cls('member_change_external_id_details', val) + + @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_change_name_details(cls, val): """ @@ -6353,6 +8686,86 @@ class EventDetails(bb.Union): """ return cls('member_change_status_details', val) + @classmethod + def member_delete_manual_contacts_details(cls, val): + """ + Create an instance of this class set to the + ``member_delete_manual_contacts_details`` tag with value ``val``. + + :param MemberDeleteManualContactsDetails val: + :rtype: EventDetails + """ + return cls('member_delete_manual_contacts_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_remove_external_id_details(cls, val): + """ + Create an instance of this class set to the + ``member_remove_external_id_details`` tag with value ``val``. + + :param MemberRemoveExternalIdDetails val: + :rtype: EventDetails + """ + return cls('member_remove_external_id_details', val) + + @classmethod + def member_space_limits_add_custom_quota_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_add_custom_quota_details`` tag with value ``val``. + + :param MemberSpaceLimitsAddCustomQuotaDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_add_custom_quota_details', val) + + @classmethod + def member_space_limits_change_custom_quota_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_custom_quota_details`` tag with value + ``val``. + + :param MemberSpaceLimitsChangeCustomQuotaDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_change_custom_quota_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_space_limits_remove_custom_quota_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_remove_custom_quota_details`` tag with value + ``val``. + + :param MemberSpaceLimitsRemoveCustomQuotaDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_remove_custom_quota_details', val) + @classmethod def member_suggest_details(cls, val): """ @@ -6364,6 +8777,28 @@ class EventDetails(bb.Union): """ return cls('member_suggest_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 secondary_mails_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``secondary_mails_policy_changed_details`` tag with value ``val``. + + :param SecondaryMailsPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('secondary_mails_policy_changed_details', val) + @classmethod def paper_content_add_member_details(cls, val): """ @@ -6584,6 +9019,17 @@ class EventDetails(bb.Union): """ return cls('paper_doc_mention_details', val) + @classmethod + def paper_doc_ownership_changed_details(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_ownership_changed_details`` tag with value ``val``. + + :param PaperDocOwnershipChangedDetails val: + :rtype: EventDetails + """ + return cls('paper_doc_ownership_changed_details', val) + @classmethod def paper_doc_request_access_details(cls, val): """ @@ -6683,6 +9129,39 @@ class EventDetails(bb.Union): """ return cls('paper_doc_view_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 paper_folder_change_subscription_details(cls, val): """ @@ -6727,6 +9206,39 @@ class EventDetails(bb.Union): """ return cls('paper_folder_team_invite_details', val) + @classmethod + def paper_published_link_create_details(cls, val): + """ + Create an instance of this class set to the + ``paper_published_link_create_details`` tag with value ``val``. + + :param PaperPublishedLinkCreateDetails val: + :rtype: EventDetails + """ + return cls('paper_published_link_create_details', val) + + @classmethod + def paper_published_link_disabled_details(cls, val): + """ + Create an instance of this class set to the + ``paper_published_link_disabled_details`` tag with value ``val``. + + :param PaperPublishedLinkDisabledDetails val: + :rtype: EventDetails + """ + return cls('paper_published_link_disabled_details', val) + + @classmethod + def paper_published_link_view_details(cls, val): + """ + Create an instance of this class set to the + ``paper_published_link_view_details`` tag with value ``val``. + + :param PaperPublishedLinkViewDetails val: + :rtype: EventDetails + """ + return cls('paper_published_link_view_details', val) + @classmethod def password_change_details(cls, val): """ @@ -6782,6 +9294,28 @@ class EventDetails(bb.Union): """ return cls('emm_create_usage_report_details', val) + @classmethod + def export_members_report_details(cls, val): + """ + Create an instance of this class set to the + ``export_members_report_details`` tag with value ``val``. + + :param ExportMembersReportDetails val: + :rtype: EventDetails + """ + return cls('export_members_report_details', val) + + @classmethod + def paper_admin_export_start_details(cls, val): + """ + Create an instance of this class set to the + ``paper_admin_export_start_details`` tag with value ``val``. + + :param PaperAdminExportStartDetails val: + :rtype: EventDetails + """ + return cls('paper_admin_export_start_details', val) + @classmethod def smart_sync_create_admin_privilege_report_details(cls, val): """ @@ -6805,6 +9339,17 @@ class EventDetails(bb.Union): """ return cls('team_activity_create_report_details', val) + @classmethod + def team_activity_create_report_fail_details(cls, val): + """ + Create an instance of this class set to the + ``team_activity_create_report_fail_details`` tag with value ``val``. + + :param TeamActivityCreateReportFailDetails val: + :rtype: EventDetails + """ + return cls('team_activity_create_report_fail_details', val) + @classmethod def collection_share_details(cls, val): """ @@ -6905,6 +9450,50 @@ class EventDetails(bb.Union): """ return cls('sf_allow_non_members_to_view_shared_links_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 sf_fb_invite_details(cls, val): + """ + Create an instance of this class set to the ``sf_fb_invite_details`` tag + with value ``val``. + + :param SfFbInviteDetails val: + :rtype: EventDetails + """ + return cls('sf_fb_invite_details', val) + + @classmethod + def sf_fb_invite_change_role_details(cls, val): + """ + Create an instance of this class set to the + ``sf_fb_invite_change_role_details`` tag with value ``val``. + + :param SfFbInviteChangeRoleDetails val: + :rtype: EventDetails + """ + return cls('sf_fb_invite_change_role_details', val) + + @classmethod + def sf_fb_uninvite_details(cls, val): + """ + Create an instance of this class set to the ``sf_fb_uninvite_details`` + tag with value ``val``. + + :param SfFbUninviteDetails val: + :rtype: EventDetails + """ + return cls('sf_fb_uninvite_details', val) + @classmethod def sf_invite_group_details(cls, val): """ @@ -6916,28 +9505,6 @@ class EventDetails(bb.Union): """ 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): """ @@ -7172,15 +9739,15 @@ class EventDetails(bb.Union): return cls('shared_content_relinquish_membership_details', val) @classmethod - def shared_content_remove_invitee_details(cls, val): + def shared_content_remove_invitees_details(cls, val): """ Create an instance of this class set to the - ``shared_content_remove_invitee_details`` tag with value ``val``. + ``shared_content_remove_invitees_details`` tag with value ``val``. - :param SharedContentRemoveInviteeDetails val: + :param SharedContentRemoveInviteesDetails val: :rtype: EventDetails """ - return cls('shared_content_remove_invitee_details', val) + return cls('shared_content_remove_invitees_details', val) @classmethod def shared_content_remove_link_expiry_details(cls, val): @@ -7248,17 +9815,6 @@ class EventDetails(bb.Union): """ 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): """ @@ -7271,27 +9827,39 @@ class EventDetails(bb.Union): return cls('shared_folder_change_link_policy_details', val) @classmethod - def shared_folder_change_member_management_policy_details(cls, val): + def shared_folder_change_members_inheritance_policy_details(cls, val): """ Create an instance of this class set to the - ``shared_folder_change_member_management_policy_details`` tag with value - ``val``. + ``shared_folder_change_members_inheritance_policy_details`` tag with + value ``val``. - :param SharedFolderChangeMemberManagementPolicyDetails val: + :param SharedFolderChangeMembersInheritancePolicyDetails val: :rtype: EventDetails """ - return cls('shared_folder_change_member_management_policy_details', val) + return cls('shared_folder_change_members_inheritance_policy_details', val) @classmethod - def shared_folder_change_member_policy_details(cls, val): + def shared_folder_change_members_management_policy_details(cls, val): """ Create an instance of this class set to the - ``shared_folder_change_member_policy_details`` tag with value ``val``. + ``shared_folder_change_members_management_policy_details`` tag with + value ``val``. - :param SharedFolderChangeMemberPolicyDetails val: + :param SharedFolderChangeMembersManagementPolicyDetails val: :rtype: EventDetails """ - return cls('shared_folder_change_member_policy_details', val) + return cls('shared_folder_change_members_management_policy_details', val) + + @classmethod + def shared_folder_change_members_policy_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_members_policy_details`` tag with value ``val``. + + :param SharedFolderChangeMembersPolicyDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_change_members_policy_details', val) @classmethod def shared_folder_create_details(cls, val): @@ -7304,6 +9872,17 @@ class EventDetails(bb.Union): """ return cls('shared_folder_create_details', val) + @classmethod + def shared_folder_decline_invitation_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_decline_invitation_details`` tag with value ``val``. + + :param SharedFolderDeclineInvitationDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_decline_invitation_details', val) + @classmethod def shared_folder_mount_details(cls, val): """ @@ -7315,6 +9894,17 @@ class EventDetails(bb.Union): """ return cls('shared_folder_mount_details', val) + @classmethod + def shared_folder_nest_details(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_nest_details`` tag with value ``val``. + + :param SharedFolderNestDetails val: + :rtype: EventDetails + """ + return cls('shared_folder_nest_details', val) + @classmethod def shared_folder_transfer_ownership_details(cls, val): """ @@ -7337,6 +9927,116 @@ class EventDetails(bb.Union): """ return cls('shared_folder_unmount_details', val) + @classmethod + def shared_link_add_expiry_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_add_expiry_details`` tag with value ``val``. + + :param SharedLinkAddExpiryDetails val: + :rtype: EventDetails + """ + return cls('shared_link_add_expiry_details', val) + + @classmethod + def shared_link_change_expiry_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_change_expiry_details`` tag with value ``val``. + + :param SharedLinkChangeExpiryDetails val: + :rtype: EventDetails + """ + return cls('shared_link_change_expiry_details', val) + + @classmethod + def shared_link_change_visibility_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_change_visibility_details`` tag with value ``val``. + + :param SharedLinkChangeVisibilityDetails val: + :rtype: EventDetails + """ + return cls('shared_link_change_visibility_details', val) + + @classmethod + def shared_link_copy_details(cls, val): + """ + Create an instance of this class set to the ``shared_link_copy_details`` + tag with value ``val``. + + :param SharedLinkCopyDetails val: + :rtype: EventDetails + """ + return cls('shared_link_copy_details', val) + + @classmethod + def shared_link_create_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_create_details`` tag with value ``val``. + + :param SharedLinkCreateDetails val: + :rtype: EventDetails + """ + return cls('shared_link_create_details', val) + + @classmethod + def shared_link_disable_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_disable_details`` tag with value ``val``. + + :param SharedLinkDisableDetails val: + :rtype: EventDetails + """ + return cls('shared_link_disable_details', val) + + @classmethod + def shared_link_download_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_download_details`` tag with value ``val``. + + :param SharedLinkDownloadDetails val: + :rtype: EventDetails + """ + return cls('shared_link_download_details', val) + + @classmethod + def shared_link_remove_expiry_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_remove_expiry_details`` tag with value ``val``. + + :param SharedLinkRemoveExpiryDetails val: + :rtype: EventDetails + """ + return cls('shared_link_remove_expiry_details', val) + + @classmethod + def shared_link_share_details(cls, val): + """ + Create an instance of this class set to the + ``shared_link_share_details`` tag with value ``val``. + + :param SharedLinkShareDetails val: + :rtype: EventDetails + """ + return cls('shared_link_share_details', val) + + @classmethod + def shared_link_view_details(cls, val): + """ + Create an instance of this class set to the ``shared_link_view_details`` + tag with value ``val``. + + :param SharedLinkViewDetails val: + :rtype: EventDetails + """ + return cls('shared_link_view_details', val) + @classmethod def shared_note_opened_details(cls, val): """ @@ -7348,50 +10048,6 @@ class EventDetails(bb.Union): """ 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): """ @@ -7404,103 +10060,268 @@ class EventDetails(bb.Union): return cls('shmodel_group_share_details', val) @classmethod - def shmodel_remove_expiration_details(cls, val): + def showcase_access_granted_details(cls, val): """ Create an instance of this class set to the - ``shmodel_remove_expiration_details`` tag with value ``val``. + ``showcase_access_granted_details`` tag with value ``val``. - :param ShmodelRemoveExpirationDetails val: + :param ShowcaseAccessGrantedDetails val: :rtype: EventDetails """ - return cls('shmodel_remove_expiration_details', val) + return cls('showcase_access_granted_details', val) @classmethod - def shmodel_set_expiration_details(cls, val): + def showcase_add_member_details(cls, val): """ Create an instance of this class set to the - ``shmodel_set_expiration_details`` tag with value ``val``. + ``showcase_add_member_details`` tag with value ``val``. - :param ShmodelSetExpirationDetails val: + :param ShowcaseAddMemberDetails val: :rtype: EventDetails """ - return cls('shmodel_set_expiration_details', val) + return cls('showcase_add_member_details', val) @classmethod - def shmodel_team_copy_details(cls, val): + def showcase_archived_details(cls, val): """ Create an instance of this class set to the - ``shmodel_team_copy_details`` tag with value ``val``. + ``showcase_archived_details`` tag with value ``val``. - :param ShmodelTeamCopyDetails val: + :param ShowcaseArchivedDetails val: :rtype: EventDetails """ - return cls('shmodel_team_copy_details', val) + return cls('showcase_archived_details', val) @classmethod - def shmodel_team_download_details(cls, val): + def showcase_created_details(cls, val): """ - Create an instance of this class set to the - ``shmodel_team_download_details`` tag with value ``val``. + Create an instance of this class set to the ``showcase_created_details`` + tag with value ``val``. - :param ShmodelTeamDownloadDetails val: + :param ShowcaseCreatedDetails val: :rtype: EventDetails """ - return cls('shmodel_team_download_details', val) + return cls('showcase_created_details', val) @classmethod - def shmodel_team_share_details(cls, val): + def showcase_delete_comment_details(cls, val): """ Create an instance of this class set to the - ``shmodel_team_share_details`` tag with value ``val``. + ``showcase_delete_comment_details`` tag with value ``val``. - :param ShmodelTeamShareDetails val: + :param ShowcaseDeleteCommentDetails val: :rtype: EventDetails """ - return cls('shmodel_team_share_details', val) + return cls('showcase_delete_comment_details', val) @classmethod - def shmodel_team_view_details(cls, val): + def showcase_edited_details(cls, val): """ - Create an instance of this class set to the - ``shmodel_team_view_details`` tag with value ``val``. + Create an instance of this class set to the ``showcase_edited_details`` + tag with value ``val``. - :param ShmodelTeamViewDetails val: + :param ShowcaseEditedDetails val: :rtype: EventDetails """ - return cls('shmodel_team_view_details', val) + return cls('showcase_edited_details', val) @classmethod - def shmodel_visibility_password_details(cls, val): + def showcase_edit_comment_details(cls, val): """ Create an instance of this class set to the - ``shmodel_visibility_password_details`` tag with value ``val``. + ``showcase_edit_comment_details`` tag with value ``val``. - :param ShmodelVisibilityPasswordDetails val: + :param ShowcaseEditCommentDetails val: :rtype: EventDetails """ - return cls('shmodel_visibility_password_details', val) + return cls('showcase_edit_comment_details', val) @classmethod - def shmodel_visibility_public_details(cls, val): + def showcase_file_added_details(cls, val): """ Create an instance of this class set to the - ``shmodel_visibility_public_details`` tag with value ``val``. + ``showcase_file_added_details`` tag with value ``val``. - :param ShmodelVisibilityPublicDetails val: + :param ShowcaseFileAddedDetails val: :rtype: EventDetails """ - return cls('shmodel_visibility_public_details', val) + return cls('showcase_file_added_details', val) @classmethod - def shmodel_visibility_team_only_details(cls, val): + def showcase_file_download_details(cls, val): """ Create an instance of this class set to the - ``shmodel_visibility_team_only_details`` tag with value ``val``. + ``showcase_file_download_details`` tag with value ``val``. - :param ShmodelVisibilityTeamOnlyDetails val: + :param ShowcaseFileDownloadDetails val: :rtype: EventDetails """ - return cls('shmodel_visibility_team_only_details', val) + return cls('showcase_file_download_details', val) + + @classmethod + def showcase_file_removed_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_file_removed_details`` tag with value ``val``. + + :param ShowcaseFileRemovedDetails val: + :rtype: EventDetails + """ + return cls('showcase_file_removed_details', val) + + @classmethod + def showcase_file_view_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_file_view_details`` tag with value ``val``. + + :param ShowcaseFileViewDetails val: + :rtype: EventDetails + """ + return cls('showcase_file_view_details', val) + + @classmethod + def showcase_permanently_deleted_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_permanently_deleted_details`` tag with value ``val``. + + :param ShowcasePermanentlyDeletedDetails val: + :rtype: EventDetails + """ + return cls('showcase_permanently_deleted_details', val) + + @classmethod + def showcase_post_comment_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_post_comment_details`` tag with value ``val``. + + :param ShowcasePostCommentDetails val: + :rtype: EventDetails + """ + return cls('showcase_post_comment_details', val) + + @classmethod + def showcase_remove_member_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_remove_member_details`` tag with value ``val``. + + :param ShowcaseRemoveMemberDetails val: + :rtype: EventDetails + """ + return cls('showcase_remove_member_details', val) + + @classmethod + def showcase_renamed_details(cls, val): + """ + Create an instance of this class set to the ``showcase_renamed_details`` + tag with value ``val``. + + :param ShowcaseRenamedDetails val: + :rtype: EventDetails + """ + return cls('showcase_renamed_details', val) + + @classmethod + def showcase_request_access_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_request_access_details`` tag with value ``val``. + + :param ShowcaseRequestAccessDetails val: + :rtype: EventDetails + """ + return cls('showcase_request_access_details', val) + + @classmethod + def showcase_resolve_comment_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_resolve_comment_details`` tag with value ``val``. + + :param ShowcaseResolveCommentDetails val: + :rtype: EventDetails + """ + return cls('showcase_resolve_comment_details', val) + + @classmethod + def showcase_restored_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_restored_details`` tag with value ``val``. + + :param ShowcaseRestoredDetails val: + :rtype: EventDetails + """ + return cls('showcase_restored_details', val) + + @classmethod + def showcase_trashed_details(cls, val): + """ + Create an instance of this class set to the ``showcase_trashed_details`` + tag with value ``val``. + + :param ShowcaseTrashedDetails val: + :rtype: EventDetails + """ + return cls('showcase_trashed_details', val) + + @classmethod + def showcase_trashed_deprecated_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_trashed_deprecated_details`` tag with value ``val``. + + :param ShowcaseTrashedDeprecatedDetails val: + :rtype: EventDetails + """ + return cls('showcase_trashed_deprecated_details', val) + + @classmethod + def showcase_unresolve_comment_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_unresolve_comment_details`` tag with value ``val``. + + :param ShowcaseUnresolveCommentDetails val: + :rtype: EventDetails + """ + return cls('showcase_unresolve_comment_details', val) + + @classmethod + def showcase_untrashed_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_untrashed_details`` tag with value ``val``. + + :param ShowcaseUntrashedDetails val: + :rtype: EventDetails + """ + return cls('showcase_untrashed_details', val) + + @classmethod + def showcase_untrashed_deprecated_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_untrashed_deprecated_details`` tag with value ``val``. + + :param ShowcaseUntrashedDeprecatedDetails val: + :rtype: EventDetails + """ + return cls('showcase_untrashed_deprecated_details', val) + + @classmethod + def showcase_view_details(cls, val): + """ + Create an instance of this class set to the ``showcase_view_details`` + tag with value ``val``. + + :param ShowcaseViewDetails val: + :rtype: EventDetails + """ + return cls('showcase_view_details', val) @classmethod def sso_add_cert_details(cls, val): @@ -7667,6 +10488,17 @@ class EventDetails(bb.Union): """ return cls('team_folder_rename_details', val) + @classmethod + def team_selective_sync_settings_changed_details(cls, val): + """ + Create an instance of this class set to the + ``team_selective_sync_settings_changed_details`` tag with value ``val``. + + :param TeamSelectiveSyncSettingsChangedDetails val: + :rtype: EventDetails + """ + return cls('team_selective_sync_settings_changed_details', val) + @classmethod def account_capture_change_policy_details(cls, val): """ @@ -7700,6 +10532,17 @@ class EventDetails(bb.Union): """ return cls('allow_download_enabled_details', val) + @classmethod + def camera_uploads_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``camera_uploads_policy_changed_details`` tag with value ``val``. + + :param CameraUploadsPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('camera_uploads_policy_changed_details', val) + @classmethod def data_placement_restriction_change_policy_details(cls, val): """ @@ -7772,6 +10615,29 @@ class EventDetails(bb.Union): """ return cls('device_approvals_change_unlink_action_details', val) + @classmethod + def directory_restrictions_add_members_details(cls, val): + """ + Create an instance of this class set to the + ``directory_restrictions_add_members_details`` tag with value ``val``. + + :param DirectoryRestrictionsAddMembersDetails val: + :rtype: EventDetails + """ + return cls('directory_restrictions_add_members_details', val) + + @classmethod + def directory_restrictions_remove_members_details(cls, val): + """ + Create an instance of this class set to the + ``directory_restrictions_remove_members_details`` tag with value + ``val``. + + :param DirectoryRestrictionsRemoveMembersDetails val: + :rtype: EventDetails + """ + return cls('directory_restrictions_remove_members_details', val) + @classmethod def emm_add_exception_details(cls, val): """ @@ -7884,6 +10750,17 @@ class EventDetails(bb.Union): """ return cls('group_user_management_change_policy_details', val) + @classmethod + def integration_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``integration_policy_changed_details`` tag with value ``val``. + + :param IntegrationPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('integration_policy_changed_details', val) + @classmethod def member_requests_change_policy_details(cls, val): """ @@ -7906,6 +10783,18 @@ class EventDetails(bb.Union): """ return cls('member_space_limits_add_exception_details', val) + @classmethod + def member_space_limits_change_caps_type_policy_details(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_caps_type_policy_details`` tag with value + ``val``. + + :param MemberSpaceLimitsChangeCapsTypePolicyDetails val: + :rtype: EventDetails + """ + return cls('member_space_limits_change_caps_type_policy_details', val) + @classmethod def member_space_limits_change_policy_details(cls, val): """ @@ -8005,6 +10894,50 @@ class EventDetails(bb.Union): """ return cls('paper_change_policy_details', val) + @classmethod + def paper_default_folder_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``paper_default_folder_policy_changed_details`` tag with value ``val``. + + :param PaperDefaultFolderPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('paper_default_folder_policy_changed_details', val) + + @classmethod + def paper_desktop_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``paper_desktop_policy_changed_details`` tag with value ``val``. + + :param PaperDesktopPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('paper_desktop_policy_changed_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 permanent_delete_change_policy_details(cls, val): """ @@ -8016,6 +10949,17 @@ class EventDetails(bb.Union): """ return cls('permanent_delete_change_policy_details', val) + @classmethod + def reseller_support_change_policy_details(cls, val): + """ + Create an instance of this class set to the + ``reseller_support_change_policy_details`` tag with value ``val``. + + :param ResellerSupportChangePolicyDetails val: + :rtype: EventDetails + """ + return cls('reseller_support_change_policy_details', val) + @classmethod def sharing_change_folder_join_policy_details(cls, val): """ @@ -8049,6 +10993,40 @@ class EventDetails(bb.Union): """ return cls('sharing_change_member_policy_details', val) + @classmethod + def showcase_change_download_policy_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_change_download_policy_details`` tag with value ``val``. + + :param ShowcaseChangeDownloadPolicyDetails val: + :rtype: EventDetails + """ + return cls('showcase_change_download_policy_details', val) + + @classmethod + def showcase_change_enabled_policy_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_change_enabled_policy_details`` tag with value ``val``. + + :param ShowcaseChangeEnabledPolicyDetails val: + :rtype: EventDetails + """ + return cls('showcase_change_enabled_policy_details', val) + + @classmethod + def showcase_change_external_sharing_policy_details(cls, val): + """ + Create an instance of this class set to the + ``showcase_change_external_sharing_policy_details`` tag with value + ``val``. + + :param ShowcaseChangeExternalSharingPolicyDetails val: + :rtype: EventDetails + """ + return cls('showcase_change_external_sharing_policy_details', val) + @classmethod def smart_sync_change_policy_details(cls, val): """ @@ -8093,6 +11071,28 @@ class EventDetails(bb.Union): """ return cls('sso_change_policy_details', val) + @classmethod + def team_extensions_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``team_extensions_policy_changed_details`` tag with value ``val``. + + :param TeamExtensionsPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('team_extensions_policy_changed_details', val) + + @classmethod + def team_selective_sync_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``team_selective_sync_policy_changed_details`` tag with value ``val``. + + :param TeamSelectiveSyncPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('team_selective_sync_policy_changed_details', val) + @classmethod def tfa_change_policy_details(cls, val): """ @@ -8115,6 +11115,17 @@ class EventDetails(bb.Union): """ return cls('two_account_change_policy_details', val) + @classmethod + def viewer_info_policy_changed_details(cls, val): + """ + Create an instance of this class set to the + ``viewer_info_policy_changed_details`` tag with value ``val``. + + :param ViewerInfoPolicyChangedDetails val: + :rtype: EventDetails + """ + return cls('viewer_info_policy_changed_details', val) + @classmethod def web_sessions_change_fixed_length_policy_details(cls, val): """ @@ -8139,6 +11150,28 @@ class EventDetails(bb.Union): """ return cls('web_sessions_change_idle_length_policy_details', val) + @classmethod + def team_merge_from_details(cls, val): + """ + Create an instance of this class set to the ``team_merge_from_details`` + tag with value ``val``. + + :param TeamMergeFromDetails val: + :rtype: EventDetails + """ + return cls('team_merge_from_details', val) + + @classmethod + def team_merge_to_details(cls, val): + """ + Create an instance of this class set to the ``team_merge_to_details`` + tag with value ``val``. + + :param TeamMergeToDetails val: + :rtype: EventDetails + """ + return cls('team_merge_to_details', val) + @classmethod def team_profile_add_logo_details(cls, val): """ @@ -8271,6 +11304,227 @@ class EventDetails(bb.Union): """ return cls('tfa_reset_details', val) + @classmethod + def guest_admin_change_status_details(cls, val): + """ + Create an instance of this class set to the + ``guest_admin_change_status_details`` tag with value ``val``. + + :param GuestAdminChangeStatusDetails val: + :rtype: EventDetails + """ + return cls('guest_admin_change_status_details', val) + + @classmethod + def team_merge_request_accepted_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_accepted_details`` tag with value ``val``. + + :param TeamMergeRequestAcceptedDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_accepted_details', val) + + @classmethod + def team_merge_request_accepted_shown_to_primary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_accepted_shown_to_primary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestAcceptedShownToPrimaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_accepted_shown_to_primary_team_details', val) + + @classmethod + def team_merge_request_accepted_shown_to_secondary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_accepted_shown_to_secondary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestAcceptedShownToSecondaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_accepted_shown_to_secondary_team_details', val) + + @classmethod + def team_merge_request_auto_canceled_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_auto_canceled_details`` tag with value ``val``. + + :param TeamMergeRequestAutoCanceledDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_auto_canceled_details', val) + + @classmethod + def team_merge_request_canceled_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_canceled_details`` tag with value ``val``. + + :param TeamMergeRequestCanceledDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_canceled_details', val) + + @classmethod + def team_merge_request_canceled_shown_to_primary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_canceled_shown_to_primary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestCanceledShownToPrimaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_canceled_shown_to_primary_team_details', val) + + @classmethod + def team_merge_request_canceled_shown_to_secondary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_canceled_shown_to_secondary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestCanceledShownToSecondaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_canceled_shown_to_secondary_team_details', val) + + @classmethod + def team_merge_request_expired_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_expired_details`` tag with value ``val``. + + :param TeamMergeRequestExpiredDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_expired_details', val) + + @classmethod + def team_merge_request_expired_shown_to_primary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_expired_shown_to_primary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestExpiredShownToPrimaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_expired_shown_to_primary_team_details', val) + + @classmethod + def team_merge_request_expired_shown_to_secondary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_expired_shown_to_secondary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestExpiredShownToSecondaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_expired_shown_to_secondary_team_details', val) + + @classmethod + def team_merge_request_rejected_shown_to_primary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_rejected_shown_to_primary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestRejectedShownToPrimaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_rejected_shown_to_primary_team_details', val) + + @classmethod + def team_merge_request_rejected_shown_to_secondary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_rejected_shown_to_secondary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestRejectedShownToSecondaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_rejected_shown_to_secondary_team_details', val) + + @classmethod + def team_merge_request_reminder_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_reminder_details`` tag with value ``val``. + + :param TeamMergeRequestReminderDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_reminder_details', val) + + @classmethod + def team_merge_request_reminder_shown_to_primary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_reminder_shown_to_primary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestReminderShownToPrimaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_reminder_shown_to_primary_team_details', val) + + @classmethod + def team_merge_request_reminder_shown_to_secondary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_reminder_shown_to_secondary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestReminderShownToSecondaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_reminder_shown_to_secondary_team_details', val) + + @classmethod + def team_merge_request_revoked_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_revoked_details`` tag with value ``val``. + + :param TeamMergeRequestRevokedDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_revoked_details', val) + + @classmethod + def team_merge_request_sent_shown_to_primary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_sent_shown_to_primary_team_details`` tag with value + ``val``. + + :param TeamMergeRequestSentShownToPrimaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_sent_shown_to_primary_team_details', val) + + @classmethod + def team_merge_request_sent_shown_to_secondary_team_details(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_sent_shown_to_secondary_team_details`` tag with + value ``val``. + + :param TeamMergeRequestSentShownToSecondaryTeamDetails val: + :rtype: EventDetails + """ + return cls('team_merge_request_sent_shown_to_secondary_team_details', val) + @classmethod def missing_details(cls, val): """ @@ -8282,110 +11536,6 @@ class EventDetails(bb.Union): """ 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_admin_export_start_details(self): - """ - Check if the union tag is ``paper_admin_export_start_details``. - - :rtype: bool - """ - return self._tag == 'paper_admin_export_start_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_from_details(self): - """ - Check if the union tag is ``team_merge_from_details``. - - :rtype: bool - """ - return self._tag == 'team_merge_from_details' - - def is_team_merge_to_details(self): - """ - Check if the union tag is ``team_merge_to_details``. - - :rtype: bool - """ - return self._tag == 'team_merge_to_details' - def is_app_link_team_details(self): """ Check if the union tag is ``app_link_team_details``. @@ -8418,6 +11568,22 @@ class EventDetails(bb.Union): """ return self._tag == 'app_unlink_user_details' + def is_integration_connected_details(self): + """ + Check if the union tag is ``integration_connected_details``. + + :rtype: bool + """ + return self._tag == 'integration_connected_details' + + def is_integration_disconnected_details(self): + """ + Check if the union tag is ``integration_disconnected_details``. + + :rtype: bool + """ + return self._tag == 'integration_disconnected_details' + def is_file_add_comment_details(self): """ Check if the union tag is ``file_add_comment_details``. @@ -8442,6 +11608,14 @@ class EventDetails(bb.Union): """ return self._tag == 'file_delete_comment_details' + def is_file_edit_comment_details(self): + """ + Check if the union tag is ``file_edit_comment_details``. + + :rtype: bool + """ + return self._tag == 'file_edit_comment_details' + def is_file_like_comment_details(self): """ Check if the union tag is ``file_like_comment_details``. @@ -8578,6 +11752,14 @@ class EventDetails(bb.Union): """ return self._tag == 'account_capture_migrate_account_details' + def is_account_capture_notification_emails_sent_details(self): + """ + Check if the union tag is ``account_capture_notification_emails_sent_details``. + + :rtype: bool + """ + return self._tag == 'account_capture_notification_emails_sent_details' + def is_account_capture_relinquish_account_details(self): """ Check if the union tag is ``account_capture_relinquish_account_details``. @@ -8794,29 +11976,13 @@ class EventDetails(bb.Union): """ return self._tag == 'file_save_copy_reference_details' - def is_file_request_add_deadline_details(self): + def is_file_request_change_details(self): """ - Check if the union tag is ``file_request_add_deadline_details``. + Check if the union tag is ``file_request_change_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' + return self._tag == 'file_request_change_details' def is_file_request_close_details(self): """ @@ -8834,6 +12000,14 @@ class EventDetails(bb.Union): """ return self._tag == 'file_request_create_details' + def is_file_request_delete_details(self): + """ + Check if the union tag is ``file_request_delete_details``. + + :rtype: bool + """ + return self._tag == 'file_request_delete_details' + def is_file_request_receive_file_details(self): """ Check if the union tag is ``file_request_receive_file_details``. @@ -8842,22 +12016,6 @@ class EventDetails(bb.Union): """ 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``. @@ -8914,6 +12072,22 @@ class EventDetails(bb.Union): """ 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``. @@ -8946,13 +12120,45 @@ class EventDetails(bb.Union): """ return self._tag == 'group_rename_details' - def is_emm_login_success_details(self): + def is_emm_error_details(self): """ - Check if the union tag is ``emm_login_success_details``. + Check if the union tag is ``emm_error_details``. :rtype: bool """ - return self._tag == 'emm_login_success_details' + return self._tag == 'emm_error_details' + + def is_guest_admin_signed_in_via_trusted_teams_details(self): + """ + Check if the union tag is ``guest_admin_signed_in_via_trusted_teams_details``. + + :rtype: bool + """ + return self._tag == 'guest_admin_signed_in_via_trusted_teams_details' + + def is_guest_admin_signed_out_via_trusted_teams_details(self): + """ + Check if the union tag is ``guest_admin_signed_out_via_trusted_teams_details``. + + :rtype: bool + """ + return self._tag == 'guest_admin_signed_out_via_trusted_teams_details' + + def is_login_fail_details(self): + """ + Check if the union tag is ``login_fail_details``. + + :rtype: bool + """ + return self._tag == 'login_fail_details' + + def is_login_success_details(self): + """ + Check if the union tag is ``login_success_details``. + + :rtype: bool + """ + return self._tag == 'login_success_details' def is_logout_details(self): """ @@ -8962,22 +12168,6 @@ class EventDetails(bb.Union): """ 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``. @@ -9010,13 +12200,21 @@ class EventDetails(bb.Union): """ return self._tag == 'sign_in_as_session_start_details' - def is_sso_login_fail_details(self): + def is_sso_error_details(self): """ - Check if the union tag is ``sso_login_fail_details``. + Check if the union tag is ``sso_error_details``. :rtype: bool """ - return self._tag == 'sso_login_fail_details' + return self._tag == 'sso_error_details' + + def is_member_add_external_id_details(self): + """ + Check if the union tag is ``member_add_external_id_details``. + + :rtype: bool + """ + return self._tag == 'member_add_external_id_details' def is_member_add_name_details(self): """ @@ -9042,6 +12240,22 @@ class EventDetails(bb.Union): """ return self._tag == 'member_change_email_details' + def is_member_change_external_id_details(self): + """ + Check if the union tag is ``member_change_external_id_details``. + + :rtype: bool + """ + return self._tag == 'member_change_external_id_details' + + 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_change_name_details(self): """ Check if the union tag is ``member_change_name_details``. @@ -9058,6 +12272,62 @@ class EventDetails(bb.Union): """ return self._tag == 'member_change_status_details' + def is_member_delete_manual_contacts_details(self): + """ + Check if the union tag is ``member_delete_manual_contacts_details``. + + :rtype: bool + """ + return self._tag == 'member_delete_manual_contacts_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_remove_external_id_details(self): + """ + Check if the union tag is ``member_remove_external_id_details``. + + :rtype: bool + """ + return self._tag == 'member_remove_external_id_details' + + def is_member_space_limits_add_custom_quota_details(self): + """ + Check if the union tag is ``member_space_limits_add_custom_quota_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_add_custom_quota_details' + + def is_member_space_limits_change_custom_quota_details(self): + """ + Check if the union tag is ``member_space_limits_change_custom_quota_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_custom_quota_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_space_limits_remove_custom_quota_details(self): + """ + Check if the union tag is ``member_space_limits_remove_custom_quota_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_remove_custom_quota_details' + def is_member_suggest_details(self): """ Check if the union tag is ``member_suggest_details``. @@ -9066,6 +12336,22 @@ class EventDetails(bb.Union): """ return self._tag == 'member_suggest_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_secondary_mails_policy_changed_details(self): + """ + Check if the union tag is ``secondary_mails_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'secondary_mails_policy_changed_details' + def is_paper_content_add_member_details(self): """ Check if the union tag is ``paper_content_add_member_details``. @@ -9226,6 +12512,14 @@ class EventDetails(bb.Union): """ return self._tag == 'paper_doc_mention_details' + def is_paper_doc_ownership_changed_details(self): + """ + Check if the union tag is ``paper_doc_ownership_changed_details``. + + :rtype: bool + """ + return self._tag == 'paper_doc_ownership_changed_details' + def is_paper_doc_request_access_details(self): """ Check if the union tag is ``paper_doc_request_access_details``. @@ -9298,6 +12592,30 @@ class EventDetails(bb.Union): """ return self._tag == 'paper_doc_view_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_paper_folder_change_subscription_details(self): """ Check if the union tag is ``paper_folder_change_subscription_details``. @@ -9330,6 +12648,30 @@ class EventDetails(bb.Union): """ return self._tag == 'paper_folder_team_invite_details' + def is_paper_published_link_create_details(self): + """ + Check if the union tag is ``paper_published_link_create_details``. + + :rtype: bool + """ + return self._tag == 'paper_published_link_create_details' + + def is_paper_published_link_disabled_details(self): + """ + Check if the union tag is ``paper_published_link_disabled_details``. + + :rtype: bool + """ + return self._tag == 'paper_published_link_disabled_details' + + def is_paper_published_link_view_details(self): + """ + Check if the union tag is ``paper_published_link_view_details``. + + :rtype: bool + """ + return self._tag == 'paper_published_link_view_details' + def is_password_change_details(self): """ Check if the union tag is ``password_change_details``. @@ -9370,6 +12712,22 @@ class EventDetails(bb.Union): """ return self._tag == 'emm_create_usage_report_details' + def is_export_members_report_details(self): + """ + Check if the union tag is ``export_members_report_details``. + + :rtype: bool + """ + return self._tag == 'export_members_report_details' + + def is_paper_admin_export_start_details(self): + """ + Check if the union tag is ``paper_admin_export_start_details``. + + :rtype: bool + """ + return self._tag == 'paper_admin_export_start_details' + def is_smart_sync_create_admin_privilege_report_details(self): """ Check if the union tag is ``smart_sync_create_admin_privilege_report_details``. @@ -9386,6 +12744,14 @@ class EventDetails(bb.Union): """ return self._tag == 'team_activity_create_report_details' + def is_team_activity_create_report_fail_details(self): + """ + Check if the union tag is ``team_activity_create_report_fail_details``. + + :rtype: bool + """ + return self._tag == 'team_activity_create_report_fail_details' + def is_collection_share_details(self): """ Check if the union tag is ``collection_share_details``. @@ -9458,6 +12824,38 @@ class EventDetails(bb.Union): """ return self._tag == 'sf_allow_non_members_to_view_shared_links_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_sf_fb_invite_details(self): + """ + Check if the union tag is ``sf_fb_invite_details``. + + :rtype: bool + """ + return self._tag == 'sf_fb_invite_details' + + def is_sf_fb_invite_change_role_details(self): + """ + Check if the union tag is ``sf_fb_invite_change_role_details``. + + :rtype: bool + """ + return self._tag == 'sf_fb_invite_change_role_details' + + def is_sf_fb_uninvite_details(self): + """ + Check if the union tag is ``sf_fb_uninvite_details``. + + :rtype: bool + """ + return self._tag == 'sf_fb_uninvite_details' + def is_sf_invite_group_details(self): """ Check if the union tag is ``sf_invite_group_details``. @@ -9466,22 +12864,6 @@ class EventDetails(bb.Union): """ 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``. @@ -9650,13 +13032,13 @@ class EventDetails(bb.Union): """ return self._tag == 'shared_content_relinquish_membership_details' - def is_shared_content_remove_invitee_details(self): + def is_shared_content_remove_invitees_details(self): """ - Check if the union tag is ``shared_content_remove_invitee_details``. + Check if the union tag is ``shared_content_remove_invitees_details``. :rtype: bool """ - return self._tag == 'shared_content_remove_invitee_details' + return self._tag == 'shared_content_remove_invitees_details' def is_shared_content_remove_link_expiry_details(self): """ @@ -9706,14 +13088,6 @@ class EventDetails(bb.Union): """ 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``. @@ -9722,21 +13096,29 @@ class EventDetails(bb.Union): """ return self._tag == 'shared_folder_change_link_policy_details' - def is_shared_folder_change_member_management_policy_details(self): + def is_shared_folder_change_members_inheritance_policy_details(self): """ - Check if the union tag is ``shared_folder_change_member_management_policy_details``. + Check if the union tag is ``shared_folder_change_members_inheritance_policy_details``. :rtype: bool """ - return self._tag == 'shared_folder_change_member_management_policy_details' + return self._tag == 'shared_folder_change_members_inheritance_policy_details' - def is_shared_folder_change_member_policy_details(self): + def is_shared_folder_change_members_management_policy_details(self): """ - Check if the union tag is ``shared_folder_change_member_policy_details``. + Check if the union tag is ``shared_folder_change_members_management_policy_details``. :rtype: bool """ - return self._tag == 'shared_folder_change_member_policy_details' + return self._tag == 'shared_folder_change_members_management_policy_details' + + def is_shared_folder_change_members_policy_details(self): + """ + Check if the union tag is ``shared_folder_change_members_policy_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_members_policy_details' def is_shared_folder_create_details(self): """ @@ -9746,6 +13128,14 @@ class EventDetails(bb.Union): """ return self._tag == 'shared_folder_create_details' + def is_shared_folder_decline_invitation_details(self): + """ + Check if the union tag is ``shared_folder_decline_invitation_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_decline_invitation_details' + def is_shared_folder_mount_details(self): """ Check if the union tag is ``shared_folder_mount_details``. @@ -9754,6 +13144,14 @@ class EventDetails(bb.Union): """ return self._tag == 'shared_folder_mount_details' + def is_shared_folder_nest_details(self): + """ + Check if the union tag is ``shared_folder_nest_details``. + + :rtype: bool + """ + return self._tag == 'shared_folder_nest_details' + def is_shared_folder_transfer_ownership_details(self): """ Check if the union tag is ``shared_folder_transfer_ownership_details``. @@ -9770,6 +13168,86 @@ class EventDetails(bb.Union): """ return self._tag == 'shared_folder_unmount_details' + def is_shared_link_add_expiry_details(self): + """ + Check if the union tag is ``shared_link_add_expiry_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_add_expiry_details' + + def is_shared_link_change_expiry_details(self): + """ + Check if the union tag is ``shared_link_change_expiry_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_change_expiry_details' + + def is_shared_link_change_visibility_details(self): + """ + Check if the union tag is ``shared_link_change_visibility_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_change_visibility_details' + + def is_shared_link_copy_details(self): + """ + Check if the union tag is ``shared_link_copy_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_copy_details' + + def is_shared_link_create_details(self): + """ + Check if the union tag is ``shared_link_create_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_create_details' + + def is_shared_link_disable_details(self): + """ + Check if the union tag is ``shared_link_disable_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_disable_details' + + def is_shared_link_download_details(self): + """ + Check if the union tag is ``shared_link_download_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_download_details' + + def is_shared_link_remove_expiry_details(self): + """ + Check if the union tag is ``shared_link_remove_expiry_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_remove_expiry_details' + + def is_shared_link_share_details(self): + """ + Check if the union tag is ``shared_link_share_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_share_details' + + def is_shared_link_view_details(self): + """ + Check if the union tag is ``shared_link_view_details``. + + :rtype: bool + """ + return self._tag == 'shared_link_view_details' + def is_shared_note_opened_details(self): """ Check if the union tag is ``shared_note_opened_details``. @@ -9778,38 +13256,6 @@ class EventDetails(bb.Union): """ 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``. @@ -9818,77 +13264,197 @@ class EventDetails(bb.Union): """ return self._tag == 'shmodel_group_share_details' - def is_shmodel_remove_expiration_details(self): + def is_showcase_access_granted_details(self): """ - Check if the union tag is ``shmodel_remove_expiration_details``. + Check if the union tag is ``showcase_access_granted_details``. :rtype: bool """ - return self._tag == 'shmodel_remove_expiration_details' + return self._tag == 'showcase_access_granted_details' - def is_shmodel_set_expiration_details(self): + def is_showcase_add_member_details(self): """ - Check if the union tag is ``shmodel_set_expiration_details``. + Check if the union tag is ``showcase_add_member_details``. :rtype: bool """ - return self._tag == 'shmodel_set_expiration_details' + return self._tag == 'showcase_add_member_details' - def is_shmodel_team_copy_details(self): + def is_showcase_archived_details(self): """ - Check if the union tag is ``shmodel_team_copy_details``. + Check if the union tag is ``showcase_archived_details``. :rtype: bool """ - return self._tag == 'shmodel_team_copy_details' + return self._tag == 'showcase_archived_details' - def is_shmodel_team_download_details(self): + def is_showcase_created_details(self): """ - Check if the union tag is ``shmodel_team_download_details``. + Check if the union tag is ``showcase_created_details``. :rtype: bool """ - return self._tag == 'shmodel_team_download_details' + return self._tag == 'showcase_created_details' - def is_shmodel_team_share_details(self): + def is_showcase_delete_comment_details(self): """ - Check if the union tag is ``shmodel_team_share_details``. + Check if the union tag is ``showcase_delete_comment_details``. :rtype: bool """ - return self._tag == 'shmodel_team_share_details' + return self._tag == 'showcase_delete_comment_details' - def is_shmodel_team_view_details(self): + def is_showcase_edited_details(self): """ - Check if the union tag is ``shmodel_team_view_details``. + Check if the union tag is ``showcase_edited_details``. :rtype: bool """ - return self._tag == 'shmodel_team_view_details' + return self._tag == 'showcase_edited_details' - def is_shmodel_visibility_password_details(self): + def is_showcase_edit_comment_details(self): """ - Check if the union tag is ``shmodel_visibility_password_details``. + Check if the union tag is ``showcase_edit_comment_details``. :rtype: bool """ - return self._tag == 'shmodel_visibility_password_details' + return self._tag == 'showcase_edit_comment_details' - def is_shmodel_visibility_public_details(self): + def is_showcase_file_added_details(self): """ - Check if the union tag is ``shmodel_visibility_public_details``. + Check if the union tag is ``showcase_file_added_details``. :rtype: bool """ - return self._tag == 'shmodel_visibility_public_details' + return self._tag == 'showcase_file_added_details' - def is_shmodel_visibility_team_only_details(self): + def is_showcase_file_download_details(self): """ - Check if the union tag is ``shmodel_visibility_team_only_details``. + Check if the union tag is ``showcase_file_download_details``. :rtype: bool """ - return self._tag == 'shmodel_visibility_team_only_details' + return self._tag == 'showcase_file_download_details' + + def is_showcase_file_removed_details(self): + """ + Check if the union tag is ``showcase_file_removed_details``. + + :rtype: bool + """ + return self._tag == 'showcase_file_removed_details' + + def is_showcase_file_view_details(self): + """ + Check if the union tag is ``showcase_file_view_details``. + + :rtype: bool + """ + return self._tag == 'showcase_file_view_details' + + def is_showcase_permanently_deleted_details(self): + """ + Check if the union tag is ``showcase_permanently_deleted_details``. + + :rtype: bool + """ + return self._tag == 'showcase_permanently_deleted_details' + + def is_showcase_post_comment_details(self): + """ + Check if the union tag is ``showcase_post_comment_details``. + + :rtype: bool + """ + return self._tag == 'showcase_post_comment_details' + + def is_showcase_remove_member_details(self): + """ + Check if the union tag is ``showcase_remove_member_details``. + + :rtype: bool + """ + return self._tag == 'showcase_remove_member_details' + + def is_showcase_renamed_details(self): + """ + Check if the union tag is ``showcase_renamed_details``. + + :rtype: bool + """ + return self._tag == 'showcase_renamed_details' + + def is_showcase_request_access_details(self): + """ + Check if the union tag is ``showcase_request_access_details``. + + :rtype: bool + """ + return self._tag == 'showcase_request_access_details' + + def is_showcase_resolve_comment_details(self): + """ + Check if the union tag is ``showcase_resolve_comment_details``. + + :rtype: bool + """ + return self._tag == 'showcase_resolve_comment_details' + + def is_showcase_restored_details(self): + """ + Check if the union tag is ``showcase_restored_details``. + + :rtype: bool + """ + return self._tag == 'showcase_restored_details' + + def is_showcase_trashed_details(self): + """ + Check if the union tag is ``showcase_trashed_details``. + + :rtype: bool + """ + return self._tag == 'showcase_trashed_details' + + def is_showcase_trashed_deprecated_details(self): + """ + Check if the union tag is ``showcase_trashed_deprecated_details``. + + :rtype: bool + """ + return self._tag == 'showcase_trashed_deprecated_details' + + def is_showcase_unresolve_comment_details(self): + """ + Check if the union tag is ``showcase_unresolve_comment_details``. + + :rtype: bool + """ + return self._tag == 'showcase_unresolve_comment_details' + + def is_showcase_untrashed_details(self): + """ + Check if the union tag is ``showcase_untrashed_details``. + + :rtype: bool + """ + return self._tag == 'showcase_untrashed_details' + + def is_showcase_untrashed_deprecated_details(self): + """ + Check if the union tag is ``showcase_untrashed_deprecated_details``. + + :rtype: bool + """ + return self._tag == 'showcase_untrashed_deprecated_details' + + def is_showcase_view_details(self): + """ + Check if the union tag is ``showcase_view_details``. + + :rtype: bool + """ + return self._tag == 'showcase_view_details' def is_sso_add_cert_details(self): """ @@ -10010,6 +13576,14 @@ class EventDetails(bb.Union): """ return self._tag == 'team_folder_rename_details' + def is_team_selective_sync_settings_changed_details(self): + """ + Check if the union tag is ``team_selective_sync_settings_changed_details``. + + :rtype: bool + """ + return self._tag == 'team_selective_sync_settings_changed_details' + def is_account_capture_change_policy_details(self): """ Check if the union tag is ``account_capture_change_policy_details``. @@ -10034,6 +13608,14 @@ class EventDetails(bb.Union): """ return self._tag == 'allow_download_enabled_details' + def is_camera_uploads_policy_changed_details(self): + """ + Check if the union tag is ``camera_uploads_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'camera_uploads_policy_changed_details' + def is_data_placement_restriction_change_policy_details(self): """ Check if the union tag is ``data_placement_restriction_change_policy_details``. @@ -10082,6 +13664,22 @@ class EventDetails(bb.Union): """ return self._tag == 'device_approvals_change_unlink_action_details' + def is_directory_restrictions_add_members_details(self): + """ + Check if the union tag is ``directory_restrictions_add_members_details``. + + :rtype: bool + """ + return self._tag == 'directory_restrictions_add_members_details' + + def is_directory_restrictions_remove_members_details(self): + """ + Check if the union tag is ``directory_restrictions_remove_members_details``. + + :rtype: bool + """ + return self._tag == 'directory_restrictions_remove_members_details' + def is_emm_add_exception_details(self): """ Check if the union tag is ``emm_add_exception_details``. @@ -10162,6 +13760,14 @@ class EventDetails(bb.Union): """ return self._tag == 'group_user_management_change_policy_details' + def is_integration_policy_changed_details(self): + """ + Check if the union tag is ``integration_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'integration_policy_changed_details' + def is_member_requests_change_policy_details(self): """ Check if the union tag is ``member_requests_change_policy_details``. @@ -10178,6 +13784,14 @@ class EventDetails(bb.Union): """ return self._tag == 'member_space_limits_add_exception_details' + def is_member_space_limits_change_caps_type_policy_details(self): + """ + Check if the union tag is ``member_space_limits_change_caps_type_policy_details``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_caps_type_policy_details' + def is_member_space_limits_change_policy_details(self): """ Check if the union tag is ``member_space_limits_change_policy_details``. @@ -10250,6 +13864,38 @@ class EventDetails(bb.Union): """ return self._tag == 'paper_change_policy_details' + def is_paper_default_folder_policy_changed_details(self): + """ + Check if the union tag is ``paper_default_folder_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'paper_default_folder_policy_changed_details' + + def is_paper_desktop_policy_changed_details(self): + """ + Check if the union tag is ``paper_desktop_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'paper_desktop_policy_changed_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_permanent_delete_change_policy_details(self): """ Check if the union tag is ``permanent_delete_change_policy_details``. @@ -10258,6 +13904,14 @@ class EventDetails(bb.Union): """ return self._tag == 'permanent_delete_change_policy_details' + def is_reseller_support_change_policy_details(self): + """ + Check if the union tag is ``reseller_support_change_policy_details``. + + :rtype: bool + """ + return self._tag == 'reseller_support_change_policy_details' + def is_sharing_change_folder_join_policy_details(self): """ Check if the union tag is ``sharing_change_folder_join_policy_details``. @@ -10282,6 +13936,30 @@ class EventDetails(bb.Union): """ return self._tag == 'sharing_change_member_policy_details' + def is_showcase_change_download_policy_details(self): + """ + Check if the union tag is ``showcase_change_download_policy_details``. + + :rtype: bool + """ + return self._tag == 'showcase_change_download_policy_details' + + def is_showcase_change_enabled_policy_details(self): + """ + Check if the union tag is ``showcase_change_enabled_policy_details``. + + :rtype: bool + """ + return self._tag == 'showcase_change_enabled_policy_details' + + def is_showcase_change_external_sharing_policy_details(self): + """ + Check if the union tag is ``showcase_change_external_sharing_policy_details``. + + :rtype: bool + """ + return self._tag == 'showcase_change_external_sharing_policy_details' + def is_smart_sync_change_policy_details(self): """ Check if the union tag is ``smart_sync_change_policy_details``. @@ -10314,6 +13992,22 @@ class EventDetails(bb.Union): """ return self._tag == 'sso_change_policy_details' + def is_team_extensions_policy_changed_details(self): + """ + Check if the union tag is ``team_extensions_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'team_extensions_policy_changed_details' + + def is_team_selective_sync_policy_changed_details(self): + """ + Check if the union tag is ``team_selective_sync_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'team_selective_sync_policy_changed_details' + def is_tfa_change_policy_details(self): """ Check if the union tag is ``tfa_change_policy_details``. @@ -10330,6 +14024,14 @@ class EventDetails(bb.Union): """ return self._tag == 'two_account_change_policy_details' + def is_viewer_info_policy_changed_details(self): + """ + Check if the union tag is ``viewer_info_policy_changed_details``. + + :rtype: bool + """ + return self._tag == 'viewer_info_policy_changed_details' + def is_web_sessions_change_fixed_length_policy_details(self): """ Check if the union tag is ``web_sessions_change_fixed_length_policy_details``. @@ -10346,6 +14048,22 @@ class EventDetails(bb.Union): """ return self._tag == 'web_sessions_change_idle_length_policy_details' + def is_team_merge_from_details(self): + """ + Check if the union tag is ``team_merge_from_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_from_details' + + def is_team_merge_to_details(self): + """ + Check if the union tag is ``team_merge_to_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_to_details' + def is_team_profile_add_logo_details(self): """ Check if the union tag is ``team_profile_add_logo_details``. @@ -10442,6 +14160,158 @@ class EventDetails(bb.Union): """ return self._tag == 'tfa_reset_details' + def is_guest_admin_change_status_details(self): + """ + Check if the union tag is ``guest_admin_change_status_details``. + + :rtype: bool + """ + return self._tag == 'guest_admin_change_status_details' + + def is_team_merge_request_accepted_details(self): + """ + Check if the union tag is ``team_merge_request_accepted_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_accepted_details' + + def is_team_merge_request_accepted_shown_to_primary_team_details(self): + """ + Check if the union tag is ``team_merge_request_accepted_shown_to_primary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_accepted_shown_to_primary_team_details' + + def is_team_merge_request_accepted_shown_to_secondary_team_details(self): + """ + Check if the union tag is ``team_merge_request_accepted_shown_to_secondary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_accepted_shown_to_secondary_team_details' + + def is_team_merge_request_auto_canceled_details(self): + """ + Check if the union tag is ``team_merge_request_auto_canceled_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_auto_canceled_details' + + def is_team_merge_request_canceled_details(self): + """ + Check if the union tag is ``team_merge_request_canceled_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_canceled_details' + + def is_team_merge_request_canceled_shown_to_primary_team_details(self): + """ + Check if the union tag is ``team_merge_request_canceled_shown_to_primary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_canceled_shown_to_primary_team_details' + + def is_team_merge_request_canceled_shown_to_secondary_team_details(self): + """ + Check if the union tag is ``team_merge_request_canceled_shown_to_secondary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_canceled_shown_to_secondary_team_details' + + def is_team_merge_request_expired_details(self): + """ + Check if the union tag is ``team_merge_request_expired_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_expired_details' + + def is_team_merge_request_expired_shown_to_primary_team_details(self): + """ + Check if the union tag is ``team_merge_request_expired_shown_to_primary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_expired_shown_to_primary_team_details' + + def is_team_merge_request_expired_shown_to_secondary_team_details(self): + """ + Check if the union tag is ``team_merge_request_expired_shown_to_secondary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_expired_shown_to_secondary_team_details' + + def is_team_merge_request_rejected_shown_to_primary_team_details(self): + """ + Check if the union tag is ``team_merge_request_rejected_shown_to_primary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_rejected_shown_to_primary_team_details' + + def is_team_merge_request_rejected_shown_to_secondary_team_details(self): + """ + Check if the union tag is ``team_merge_request_rejected_shown_to_secondary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_rejected_shown_to_secondary_team_details' + + def is_team_merge_request_reminder_details(self): + """ + Check if the union tag is ``team_merge_request_reminder_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_reminder_details' + + def is_team_merge_request_reminder_shown_to_primary_team_details(self): + """ + Check if the union tag is ``team_merge_request_reminder_shown_to_primary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_reminder_shown_to_primary_team_details' + + def is_team_merge_request_reminder_shown_to_secondary_team_details(self): + """ + Check if the union tag is ``team_merge_request_reminder_shown_to_secondary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_reminder_shown_to_secondary_team_details' + + def is_team_merge_request_revoked_details(self): + """ + Check if the union tag is ``team_merge_request_revoked_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_revoked_details' + + def is_team_merge_request_sent_shown_to_primary_team_details(self): + """ + Check if the union tag is ``team_merge_request_sent_shown_to_primary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_sent_shown_to_primary_team_details' + + def is_team_merge_request_sent_shown_to_secondary_team_details(self): + """ + Check if the union tag is ``team_merge_request_sent_shown_to_secondary_team_details``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_sent_shown_to_secondary_team_details' + def is_missing_details(self): """ Check if the union tag is ``missing_details``. @@ -10458,168 +14328,8 @@ class EventDetails(bb.Union): """ 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_admin_export_start_details(self): - """ - Exported all Paper documents in the team. - - Only call this if :meth:`is_paper_admin_export_start_details` is true. - - :rtype: PaperAdminExportStartDetails - """ - if not self.is_paper_admin_export_start_details(): - raise AttributeError("tag 'paper_admin_export_start_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_from_details(self): - """ - Merged another team into this team. - - Only call this if :meth:`is_team_merge_from_details` is true. - - :rtype: TeamMergeFromDetails - """ - if not self.is_team_merge_from_details(): - raise AttributeError("tag 'team_merge_from_details' not set") - return self._value - - def get_team_merge_to_details(self): - """ - Merged this team into another team. - - Only call this if :meth:`is_team_merge_to_details` is true. - - :rtype: TeamMergeToDetails - """ - if not self.is_team_merge_to_details(): - raise AttributeError("tag 'team_merge_to_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 @@ -10630,8 +14340,6 @@ class EventDetails(bb.Union): 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 @@ -10642,8 +14350,6 @@ class EventDetails(bb.Union): 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 @@ -10654,8 +14360,6 @@ class EventDetails(bb.Union): 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 @@ -10664,10 +14368,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'app_unlink_user_details' not set") return self._value + def get_integration_connected_details(self): + """ + Only call this if :meth:`is_integration_connected_details` is true. + + :rtype: IntegrationConnectedDetails + """ + if not self.is_integration_connected_details(): + raise AttributeError("tag 'integration_connected_details' not set") + return self._value + + def get_integration_disconnected_details(self): + """ + Only call this if :meth:`is_integration_disconnected_details` is true. + + :rtype: IntegrationDisconnectedDetails + """ + if not self.is_integration_disconnected_details(): + raise AttributeError("tag 'integration_disconnected_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 @@ -10678,8 +14400,6 @@ class EventDetails(bb.Union): def get_file_change_comment_subscription_details(self): """ - Subscribed to or unsubscribed from comment notifications for file. - Only call this if :meth:`is_file_change_comment_subscription_details` is true. :rtype: FileChangeCommentSubscriptionDetails @@ -10690,8 +14410,6 @@ class EventDetails(bb.Union): def get_file_delete_comment_details(self): """ - Deleted a file comment. - Only call this if :meth:`is_file_delete_comment_details` is true. :rtype: FileDeleteCommentDetails @@ -10700,10 +14418,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'file_delete_comment_details' not set") return self._value + def get_file_edit_comment_details(self): + """ + Only call this if :meth:`is_file_edit_comment_details` is true. + + :rtype: FileEditCommentDetails + """ + if not self.is_file_edit_comment_details(): + raise AttributeError("tag 'file_edit_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 @@ -10714,8 +14440,6 @@ class EventDetails(bb.Union): def get_file_resolve_comment_details(self): """ - Resolved a file comment. - Only call this if :meth:`is_file_resolve_comment_details` is true. :rtype: FileResolveCommentDetails @@ -10726,8 +14450,6 @@ class EventDetails(bb.Union): 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 @@ -10738,8 +14460,6 @@ class EventDetails(bb.Union): def get_file_unresolve_comment_details(self): """ - Unresolved a file comment. - Only call this if :meth:`is_file_unresolve_comment_details` is true. :rtype: FileUnresolveCommentDetails @@ -10750,8 +14470,6 @@ class EventDetails(bb.Union): 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 @@ -10762,8 +14480,6 @@ class EventDetails(bb.Union): 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 @@ -10774,8 +14490,6 @@ class EventDetails(bb.Union): 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 @@ -10786,8 +14500,6 @@ class EventDetails(bb.Union): 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 @@ -10798,8 +14510,6 @@ class EventDetails(bb.Union): 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 @@ -10810,8 +14520,6 @@ class EventDetails(bb.Union): 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 @@ -10822,8 +14530,6 @@ class EventDetails(bb.Union): def get_device_link_success_details(self): """ - Linked a device. - Only call this if :meth:`is_device_link_success_details` is true. :rtype: DeviceLinkSuccessDetails @@ -10834,8 +14540,6 @@ class EventDetails(bb.Union): def get_device_management_disabled_details(self): """ - Disable Device Management. - Only call this if :meth:`is_device_management_disabled_details` is true. :rtype: DeviceManagementDisabledDetails @@ -10846,8 +14550,6 @@ class EventDetails(bb.Union): def get_device_management_enabled_details(self): """ - Enable Device Management. - Only call this if :meth:`is_device_management_enabled_details` is true. :rtype: DeviceManagementEnabledDetails @@ -10858,8 +14560,6 @@ class EventDetails(bb.Union): def get_device_unlink_details(self): """ - Disconnected a device. - Only call this if :meth:`is_device_unlink_details` is true. :rtype: DeviceUnlinkDetails @@ -10870,9 +14570,6 @@ class EventDetails(bb.Union): 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 @@ -10883,9 +14580,6 @@ class EventDetails(bb.Union): 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 @@ -10896,8 +14590,6 @@ class EventDetails(bb.Union): 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 @@ -10906,11 +14598,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'account_capture_migrate_account_details' not set") return self._value + def get_account_capture_notification_emails_sent_details(self): + """ + Only call this if :meth:`is_account_capture_notification_emails_sent_details` is true. + + :rtype: AccountCaptureNotificationEmailsSentDetails + """ + if not self.is_account_capture_notification_emails_sent_details(): + raise AttributeError("tag 'account_capture_notification_emails_sent_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 @@ -10921,8 +14620,6 @@ class EventDetails(bb.Union): def get_disabled_domain_invites_details(self): """ - Disabled domain invites. - Only call this if :meth:`is_disabled_domain_invites_details` is true. :rtype: DisabledDomainInvitesDetails @@ -10933,8 +14630,6 @@ class EventDetails(bb.Union): 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 @@ -10945,8 +14640,6 @@ class EventDetails(bb.Union): 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 @@ -10957,8 +14650,6 @@ class EventDetails(bb.Union): 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 @@ -10969,8 +14660,6 @@ class EventDetails(bb.Union): 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 @@ -10981,8 +14670,6 @@ class EventDetails(bb.Union): 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 @@ -10993,8 +14680,6 @@ class EventDetails(bb.Union): 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 @@ -11005,8 +14690,6 @@ class EventDetails(bb.Union): 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 @@ -11017,8 +14700,6 @@ class EventDetails(bb.Union): 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 @@ -11029,9 +14710,6 @@ class EventDetails(bb.Union): 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 @@ -11042,8 +14720,6 @@ class EventDetails(bb.Union): def get_enabled_domain_invites_details(self): """ - Enabled domain invites. - Only call this if :meth:`is_enabled_domain_invites_details` is true. :rtype: EnabledDomainInvitesDetails @@ -11054,8 +14730,6 @@ class EventDetails(bb.Union): def get_create_folder_details(self): """ - Created folders. - Only call this if :meth:`is_create_folder_details` is true. :rtype: CreateFolderDetails @@ -11066,8 +14740,6 @@ class EventDetails(bb.Union): def get_file_add_details(self): """ - Added files and/or folders. - Only call this if :meth:`is_file_add_details` is true. :rtype: FileAddDetails @@ -11078,8 +14750,6 @@ class EventDetails(bb.Union): def get_file_copy_details(self): """ - Copied files and/or folders. - Only call this if :meth:`is_file_copy_details` is true. :rtype: FileCopyDetails @@ -11090,8 +14760,6 @@ class EventDetails(bb.Union): def get_file_delete_details(self): """ - Deleted files and/or folders. - Only call this if :meth:`is_file_delete_details` is true. :rtype: FileDeleteDetails @@ -11102,8 +14770,6 @@ class EventDetails(bb.Union): def get_file_download_details(self): """ - Downloaded files and/or folders. - Only call this if :meth:`is_file_download_details` is true. :rtype: FileDownloadDetails @@ -11114,8 +14780,6 @@ class EventDetails(bb.Union): def get_file_edit_details(self): """ - Edited files. - Only call this if :meth:`is_file_edit_details` is true. :rtype: FileEditDetails @@ -11126,8 +14790,6 @@ class EventDetails(bb.Union): 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 @@ -11138,8 +14800,6 @@ class EventDetails(bb.Union): def get_file_move_details(self): """ - Moved files and/or folders. - Only call this if :meth:`is_file_move_details` is true. :rtype: FileMoveDetails @@ -11150,8 +14810,6 @@ class EventDetails(bb.Union): 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 @@ -11162,8 +14820,6 @@ class EventDetails(bb.Union): def get_file_preview_details(self): """ - Previewed files and/or folders. - Only call this if :meth:`is_file_preview_details` is true. :rtype: FilePreviewDetails @@ -11174,8 +14830,6 @@ class EventDetails(bb.Union): def get_file_rename_details(self): """ - Renamed files and/or folders. - Only call this if :meth:`is_file_rename_details` is true. :rtype: FileRenameDetails @@ -11186,8 +14840,6 @@ class EventDetails(bb.Union): 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 @@ -11198,8 +14850,6 @@ class EventDetails(bb.Union): 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 @@ -11210,8 +14860,6 @@ class EventDetails(bb.Union): 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 @@ -11222,8 +14870,6 @@ class EventDetails(bb.Union): 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 @@ -11232,46 +14878,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'file_save_copy_reference_details' not set") return self._value - def get_file_request_add_deadline_details(self): + def get_file_request_change_details(self): """ - Added a deadline to a file request. + Only call this if :meth:`is_file_request_change_details` is true. - Only call this if :meth:`is_file_request_add_deadline_details` is true. - - :rtype: FileRequestAddDeadlineDetails + :rtype: FileRequestChangeDetails """ - 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") + if not self.is_file_request_change_details(): + raise AttributeError("tag 'file_request_change_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 @@ -11282,8 +14900,6 @@ class EventDetails(bb.Union): 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 @@ -11292,10 +14908,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'file_request_create_details' not set") return self._value + def get_file_request_delete_details(self): + """ + Only call this if :meth:`is_file_request_delete_details` is true. + + :rtype: FileRequestDeleteDetails + """ + if not self.is_file_request_delete_details(): + raise AttributeError("tag 'file_request_delete_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 @@ -11304,34 +14928,8 @@ class EventDetails(bb.Union): 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 @@ -11342,8 +14940,6 @@ class EventDetails(bb.Union): 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 @@ -11354,8 +14950,6 @@ class EventDetails(bb.Union): 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 @@ -11366,8 +14960,6 @@ class EventDetails(bb.Union): 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 @@ -11378,8 +14970,6 @@ class EventDetails(bb.Union): 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 @@ -11390,8 +14980,6 @@ class EventDetails(bb.Union): def get_group_create_details(self): """ - Created a group. - Only call this if :meth:`is_group_create_details` is true. :rtype: GroupCreateDetails @@ -11402,8 +14990,6 @@ class EventDetails(bb.Union): def get_group_delete_details(self): """ - Deleted a group. - Only call this if :meth:`is_group_delete_details` is true. :rtype: GroupDeleteDetails @@ -11412,10 +14998,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'group_delete_details' not set") return self._value + def get_group_description_updated_details(self): + """ + 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): + """ + 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 @@ -11426,8 +15030,6 @@ class EventDetails(bb.Union): 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 @@ -11438,8 +15040,6 @@ class EventDetails(bb.Union): 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 @@ -11450,8 +15050,6 @@ class EventDetails(bb.Union): def get_group_rename_details(self): """ - Renamed a group. - Only call this if :meth:`is_group_rename_details` is true. :rtype: GroupRenameDetails @@ -11460,22 +15058,58 @@ class EventDetails(bb.Union): raise AttributeError("tag 'group_rename_details' not set") return self._value - def get_emm_login_success_details(self): + def get_emm_error_details(self): """ - Signed in using the Dropbox EMM app. + Only call this if :meth:`is_emm_error_details` is true. - Only call this if :meth:`is_emm_login_success_details` is true. - - :rtype: EmmLoginSuccessDetails + :rtype: EmmErrorDetails """ - if not self.is_emm_login_success_details(): - raise AttributeError("tag 'emm_login_success_details' not set") + if not self.is_emm_error_details(): + raise AttributeError("tag 'emm_error_details' not set") + return self._value + + def get_guest_admin_signed_in_via_trusted_teams_details(self): + """ + Only call this if :meth:`is_guest_admin_signed_in_via_trusted_teams_details` is true. + + :rtype: GuestAdminSignedInViaTrustedTeamsDetails + """ + if not self.is_guest_admin_signed_in_via_trusted_teams_details(): + raise AttributeError("tag 'guest_admin_signed_in_via_trusted_teams_details' not set") + return self._value + + def get_guest_admin_signed_out_via_trusted_teams_details(self): + """ + Only call this if :meth:`is_guest_admin_signed_out_via_trusted_teams_details` is true. + + :rtype: GuestAdminSignedOutViaTrustedTeamsDetails + """ + if not self.is_guest_admin_signed_out_via_trusted_teams_details(): + raise AttributeError("tag 'guest_admin_signed_out_via_trusted_teams_details' not set") + return self._value + + def get_login_fail_details(self): + """ + Only call this if :meth:`is_login_fail_details` is true. + + :rtype: LoginFailDetails + """ + if not self.is_login_fail_details(): + raise AttributeError("tag 'login_fail_details' not set") + return self._value + + def get_login_success_details(self): + """ + Only call this if :meth:`is_login_success_details` is true. + + :rtype: LoginSuccessDetails + """ + if not self.is_login_success_details(): + raise AttributeError("tag '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 @@ -11484,34 +15118,8 @@ class EventDetails(bb.Union): 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 @@ -11522,8 +15130,6 @@ class EventDetails(bb.Union): 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 @@ -11534,8 +15140,6 @@ class EventDetails(bb.Union): 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 @@ -11546,8 +15150,6 @@ class EventDetails(bb.Union): 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 @@ -11556,22 +15158,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'sign_in_as_session_start_details' not set") return self._value - def get_sso_login_fail_details(self): + def get_sso_error_details(self): """ - Failed to sign in using SSO. + Only call this if :meth:`is_sso_error_details` is true. - Only call this if :meth:`is_sso_login_fail_details` is true. - - :rtype: SsoLoginFailDetails + :rtype: SsoErrorDetails """ - if not self.is_sso_login_fail_details(): - raise AttributeError("tag 'sso_login_fail_details' not set") + if not self.is_sso_error_details(): + raise AttributeError("tag 'sso_error_details' not set") + return self._value + + def get_member_add_external_id_details(self): + """ + Only call this if :meth:`is_member_add_external_id_details` is true. + + :rtype: MemberAddExternalIdDetails + """ + if not self.is_member_add_external_id_details(): + raise AttributeError("tag 'member_add_external_id_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 @@ -11582,8 +15190,6 @@ class EventDetails(bb.Union): def get_member_change_admin_role_details(self): """ - Change the admin role belonging to team member. - Only call this if :meth:`is_member_change_admin_role_details` is true. :rtype: MemberChangeAdminRoleDetails @@ -11594,8 +15200,6 @@ class EventDetails(bb.Union): 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 @@ -11604,10 +15208,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'member_change_email_details' not set") return self._value + def get_member_change_external_id_details(self): + """ + Only call this if :meth:`is_member_change_external_id_details` is true. + + :rtype: MemberChangeExternalIdDetails + """ + if not self.is_member_change_external_id_details(): + raise AttributeError("tag 'member_change_external_id_details' not set") + return self._value + + def get_member_change_membership_type_details(self): + """ + 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_change_name_details(self): """ - Changed team member name. - Only call this if :meth:`is_member_change_name_details` is true. :rtype: MemberChangeNameDetails @@ -11618,8 +15240,6 @@ class EventDetails(bb.Union): def get_member_change_status_details(self): """ - Changed the membership status of a team member. - Only call this if :meth:`is_member_change_status_details` is true. :rtype: MemberChangeStatusDetails @@ -11628,10 +15248,78 @@ class EventDetails(bb.Union): raise AttributeError("tag 'member_change_status_details' not set") return self._value + def get_member_delete_manual_contacts_details(self): + """ + Only call this if :meth:`is_member_delete_manual_contacts_details` is true. + + :rtype: MemberDeleteManualContactsDetails + """ + if not self.is_member_delete_manual_contacts_details(): + raise AttributeError("tag 'member_delete_manual_contacts_details' not set") + return self._value + + def get_member_permanently_delete_account_contents_details(self): + """ + 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_remove_external_id_details(self): + """ + Only call this if :meth:`is_member_remove_external_id_details` is true. + + :rtype: MemberRemoveExternalIdDetails + """ + if not self.is_member_remove_external_id_details(): + raise AttributeError("tag 'member_remove_external_id_details' not set") + return self._value + + def get_member_space_limits_add_custom_quota_details(self): + """ + Only call this if :meth:`is_member_space_limits_add_custom_quota_details` is true. + + :rtype: MemberSpaceLimitsAddCustomQuotaDetails + """ + if not self.is_member_space_limits_add_custom_quota_details(): + raise AttributeError("tag 'member_space_limits_add_custom_quota_details' not set") + return self._value + + def get_member_space_limits_change_custom_quota_details(self): + """ + Only call this if :meth:`is_member_space_limits_change_custom_quota_details` is true. + + :rtype: MemberSpaceLimitsChangeCustomQuotaDetails + """ + if not self.is_member_space_limits_change_custom_quota_details(): + raise AttributeError("tag 'member_space_limits_change_custom_quota_details' not set") + return self._value + + def get_member_space_limits_change_status_details(self): + """ + 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_space_limits_remove_custom_quota_details(self): + """ + Only call this if :meth:`is_member_space_limits_remove_custom_quota_details` is true. + + :rtype: MemberSpaceLimitsRemoveCustomQuotaDetails + """ + if not self.is_member_space_limits_remove_custom_quota_details(): + raise AttributeError("tag 'member_space_limits_remove_custom_quota_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 @@ -11640,10 +15328,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'member_suggest_details' not set") return self._value + def get_member_transfer_account_contents_details(self): + """ + 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_secondary_mails_policy_changed_details(self): + """ + Only call this if :meth:`is_secondary_mails_policy_changed_details` is true. + + :rtype: SecondaryMailsPolicyChangedDetails + """ + if not self.is_secondary_mails_policy_changed_details(): + raise AttributeError("tag 'secondary_mails_policy_changed_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 @@ -11654,8 +15360,6 @@ class EventDetails(bb.Union): 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 @@ -11666,8 +15370,6 @@ class EventDetails(bb.Union): 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 @@ -11678,8 +15380,6 @@ class EventDetails(bb.Union): 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 @@ -11690,8 +15390,6 @@ class EventDetails(bb.Union): 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 @@ -11702,8 +15400,6 @@ class EventDetails(bb.Union): 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 @@ -11714,8 +15410,6 @@ class EventDetails(bb.Union): 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 @@ -11726,8 +15420,6 @@ class EventDetails(bb.Union): 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 @@ -11738,8 +15430,6 @@ class EventDetails(bb.Union): 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 @@ -11750,8 +15440,6 @@ class EventDetails(bb.Union): 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 @@ -11762,8 +15450,6 @@ class EventDetails(bb.Union): 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 @@ -11774,8 +15460,6 @@ class EventDetails(bb.Union): 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 @@ -11786,8 +15470,6 @@ class EventDetails(bb.Union): def get_paper_doc_change_subscription_details(self): """ - Followed or unfollowed a Paper doc. - Only call this if :meth:`is_paper_doc_change_subscription_details` is true. :rtype: PaperDocChangeSubscriptionDetails @@ -11798,8 +15480,6 @@ class EventDetails(bb.Union): def get_paper_doc_deleted_details(self): """ - Paper doc archived. - Only call this if :meth:`is_paper_doc_deleted_details` is true. :rtype: PaperDocDeletedDetails @@ -11810,8 +15490,6 @@ class EventDetails(bb.Union): 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 @@ -11822,8 +15500,6 @@ class EventDetails(bb.Union): 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 @@ -11834,8 +15510,6 @@ class EventDetails(bb.Union): 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 @@ -11846,8 +15520,6 @@ class EventDetails(bb.Union): 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 @@ -11858,8 +15530,6 @@ class EventDetails(bb.Union): 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 @@ -11870,8 +15540,6 @@ class EventDetails(bb.Union): 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 @@ -11880,10 +15548,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'paper_doc_mention_details' not set") return self._value + def get_paper_doc_ownership_changed_details(self): + """ + Only call this if :meth:`is_paper_doc_ownership_changed_details` is true. + + :rtype: PaperDocOwnershipChangedDetails + """ + if not self.is_paper_doc_ownership_changed_details(): + raise AttributeError("tag 'paper_doc_ownership_changed_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 @@ -11894,8 +15570,6 @@ class EventDetails(bb.Union): 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 @@ -11906,8 +15580,6 @@ class EventDetails(bb.Union): 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 @@ -11918,8 +15590,6 @@ class EventDetails(bb.Union): 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 @@ -11930,8 +15600,6 @@ class EventDetails(bb.Union): 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 @@ -11942,8 +15610,6 @@ class EventDetails(bb.Union): def get_paper_doc_trashed_details(self): """ - Paper doc trashed. - Only call this if :meth:`is_paper_doc_trashed_details` is true. :rtype: PaperDocTrashedDetails @@ -11954,8 +15620,6 @@ class EventDetails(bb.Union): 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 @@ -11966,8 +15630,6 @@ class EventDetails(bb.Union): def get_paper_doc_untrashed_details(self): """ - Paper doc untrashed. - Only call this if :meth:`is_paper_doc_untrashed_details` is true. :rtype: PaperDocUntrashedDetails @@ -11978,8 +15640,6 @@ class EventDetails(bb.Union): def get_paper_doc_view_details(self): """ - Viewed Paper doc. - Only call this if :meth:`is_paper_doc_view_details` is true. :rtype: PaperDocViewDetails @@ -11988,10 +15648,38 @@ class EventDetails(bb.Union): raise AttributeError("tag 'paper_doc_view_details' not set") return self._value + def get_paper_external_view_allow_details(self): + """ + 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): + """ + 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): + """ + 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_paper_folder_change_subscription_details(self): """ - Followed or unfollowed a Paper folder. - Only call this if :meth:`is_paper_folder_change_subscription_details` is true. :rtype: PaperFolderChangeSubscriptionDetails @@ -12002,8 +15690,6 @@ class EventDetails(bb.Union): def get_paper_folder_deleted_details(self): """ - Paper folder archived. - Only call this if :meth:`is_paper_folder_deleted_details` is true. :rtype: PaperFolderDeletedDetails @@ -12014,8 +15700,6 @@ class EventDetails(bb.Union): 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 @@ -12026,8 +15710,6 @@ class EventDetails(bb.Union): 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 @@ -12036,10 +15718,38 @@ class EventDetails(bb.Union): raise AttributeError("tag 'paper_folder_team_invite_details' not set") return self._value + def get_paper_published_link_create_details(self): + """ + Only call this if :meth:`is_paper_published_link_create_details` is true. + + :rtype: PaperPublishedLinkCreateDetails + """ + if not self.is_paper_published_link_create_details(): + raise AttributeError("tag 'paper_published_link_create_details' not set") + return self._value + + def get_paper_published_link_disabled_details(self): + """ + Only call this if :meth:`is_paper_published_link_disabled_details` is true. + + :rtype: PaperPublishedLinkDisabledDetails + """ + if not self.is_paper_published_link_disabled_details(): + raise AttributeError("tag 'paper_published_link_disabled_details' not set") + return self._value + + def get_paper_published_link_view_details(self): + """ + Only call this if :meth:`is_paper_published_link_view_details` is true. + + :rtype: PaperPublishedLinkViewDetails + """ + if not self.is_paper_published_link_view_details(): + raise AttributeError("tag 'paper_published_link_view_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 @@ -12050,8 +15760,6 @@ class EventDetails(bb.Union): def get_password_reset_details(self): """ - Reset password. - Only call this if :meth:`is_password_reset_details` is true. :rtype: PasswordResetDetails @@ -12062,8 +15770,6 @@ class EventDetails(bb.Union): 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 @@ -12074,8 +15780,6 @@ class EventDetails(bb.Union): 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 @@ -12086,8 +15790,6 @@ class EventDetails(bb.Union): 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 @@ -12096,10 +15798,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'emm_create_usage_report_details' not set") return self._value + def get_export_members_report_details(self): + """ + Only call this if :meth:`is_export_members_report_details` is true. + + :rtype: ExportMembersReportDetails + """ + if not self.is_export_members_report_details(): + raise AttributeError("tag 'export_members_report_details' not set") + return self._value + + def get_paper_admin_export_start_details(self): + """ + Only call this if :meth:`is_paper_admin_export_start_details` is true. + + :rtype: PaperAdminExportStartDetails + """ + if not self.is_paper_admin_export_start_details(): + raise AttributeError("tag 'paper_admin_export_start_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 @@ -12110,8 +15830,6 @@ class EventDetails(bb.Union): 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 @@ -12120,10 +15838,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'team_activity_create_report_details' not set") return self._value + def get_team_activity_create_report_fail_details(self): + """ + Only call this if :meth:`is_team_activity_create_report_fail_details` is true. + + :rtype: TeamActivityCreateReportFailDetails + """ + if not self.is_team_activity_create_report_fail_details(): + raise AttributeError("tag 'team_activity_create_report_fail_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 @@ -12134,8 +15860,6 @@ class EventDetails(bb.Union): 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 @@ -12146,8 +15870,6 @@ class EventDetails(bb.Union): 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 @@ -12158,8 +15880,6 @@ class EventDetails(bb.Union): 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 @@ -12170,8 +15890,6 @@ class EventDetails(bb.Union): def get_note_shared_details(self): """ - Shared a Paper doc. - Only call this if :meth:`is_note_shared_details` is true. :rtype: NoteSharedDetails @@ -12182,8 +15900,6 @@ class EventDetails(bb.Union): 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 @@ -12194,8 +15910,6 @@ class EventDetails(bb.Union): 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 @@ -12206,8 +15920,6 @@ class EventDetails(bb.Union): 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 @@ -12218,8 +15930,6 @@ class EventDetails(bb.Union): 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 @@ -12228,10 +15938,48 @@ class EventDetails(bb.Union): raise AttributeError("tag 'sf_allow_non_members_to_view_shared_links_details' not set") return self._value + def get_sf_external_invite_warn_details(self): + """ + 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_sf_fb_invite_details(self): + """ + Only call this if :meth:`is_sf_fb_invite_details` is true. + + :rtype: SfFbInviteDetails + """ + if not self.is_sf_fb_invite_details(): + raise AttributeError("tag 'sf_fb_invite_details' not set") + return self._value + + def get_sf_fb_invite_change_role_details(self): + """ + Only call this if :meth:`is_sf_fb_invite_change_role_details` is true. + + :rtype: SfFbInviteChangeRoleDetails + """ + if not self.is_sf_fb_invite_change_role_details(): + raise AttributeError("tag 'sf_fb_invite_change_role_details' not set") + return self._value + + def get_sf_fb_uninvite_details(self): + """ + Only call this if :meth:`is_sf_fb_uninvite_details` is true. + + :rtype: SfFbUninviteDetails + """ + if not self.is_sf_fb_uninvite_details(): + raise AttributeError("tag 'sf_fb_uninvite_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 @@ -12240,34 +15988,8 @@ class EventDetails(bb.Union): 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 @@ -12278,8 +16000,6 @@ class EventDetails(bb.Union): 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 @@ -12290,8 +16010,6 @@ class EventDetails(bb.Union): 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 @@ -12302,8 +16020,6 @@ class EventDetails(bb.Union): 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 @@ -12314,8 +16030,6 @@ class EventDetails(bb.Union): 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 @@ -12326,8 +16040,6 @@ class EventDetails(bb.Union): 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 @@ -12338,8 +16050,6 @@ class EventDetails(bb.Union): 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 @@ -12350,8 +16060,6 @@ class EventDetails(bb.Union): 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 @@ -12362,8 +16070,6 @@ class EventDetails(bb.Union): 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 @@ -12374,8 +16080,6 @@ class EventDetails(bb.Union): 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 @@ -12386,8 +16090,6 @@ class EventDetails(bb.Union): 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 @@ -12398,9 +16100,6 @@ class EventDetails(bb.Union): 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 @@ -12411,8 +16110,6 @@ class EventDetails(bb.Union): 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 @@ -12423,8 +16120,6 @@ class EventDetails(bb.Union): 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 @@ -12435,8 +16130,6 @@ class EventDetails(bb.Union): 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 @@ -12447,8 +16140,6 @@ class EventDetails(bb.Union): 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 @@ -12459,8 +16150,6 @@ class EventDetails(bb.Union): 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 @@ -12471,8 +16160,6 @@ class EventDetails(bb.Union): 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 @@ -12483,8 +16170,6 @@ class EventDetails(bb.Union): 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 @@ -12495,8 +16180,6 @@ class EventDetails(bb.Union): 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 @@ -12507,8 +16190,6 @@ class EventDetails(bb.Union): 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 @@ -12517,23 +16198,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'shared_content_relinquish_membership_details' not set") return self._value - def get_shared_content_remove_invitee_details(self): + def get_shared_content_remove_invitees_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_invitees_details` is true. - Only call this if :meth:`is_shared_content_remove_invitee_details` is true. - - :rtype: SharedContentRemoveInviteeDetails + :rtype: SharedContentRemoveInviteesDetails """ - if not self.is_shared_content_remove_invitee_details(): - raise AttributeError("tag 'shared_content_remove_invitee_details' not set") + if not self.is_shared_content_remove_invitees_details(): + raise AttributeError("tag 'shared_content_remove_invitees_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 @@ -12544,8 +16220,6 @@ class EventDetails(bb.Union): 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 @@ -12556,9 +16230,6 @@ class EventDetails(bb.Union): 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 @@ -12569,8 +16240,6 @@ class EventDetails(bb.Union): 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 @@ -12581,9 +16250,6 @@ class EventDetails(bb.Union): 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 @@ -12594,8 +16260,6 @@ class EventDetails(bb.Union): 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 @@ -12604,22 +16268,8 @@ class EventDetails(bb.Union): 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 @@ -12628,34 +16278,38 @@ class EventDetails(bb.Union): raise AttributeError("tag 'shared_folder_change_link_policy_details' not set") return self._value - def get_shared_folder_change_member_management_policy_details(self): + def get_shared_folder_change_members_inheritance_policy_details(self): """ - Changed who can manage the membership of a shared folder. + Only call this if :meth:`is_shared_folder_change_members_inheritance_policy_details` is true. - Only call this if :meth:`is_shared_folder_change_member_management_policy_details` is true. - - :rtype: SharedFolderChangeMemberManagementPolicyDetails + :rtype: SharedFolderChangeMembersInheritancePolicyDetails """ - if not self.is_shared_folder_change_member_management_policy_details(): - raise AttributeError("tag 'shared_folder_change_member_management_policy_details' not set") + if not self.is_shared_folder_change_members_inheritance_policy_details(): + raise AttributeError("tag 'shared_folder_change_members_inheritance_policy_details' not set") return self._value - def get_shared_folder_change_member_policy_details(self): + def get_shared_folder_change_members_management_policy_details(self): """ - Changed who can become a member of the shared folder. + Only call this if :meth:`is_shared_folder_change_members_management_policy_details` is true. - Only call this if :meth:`is_shared_folder_change_member_policy_details` is true. - - :rtype: SharedFolderChangeMemberPolicyDetails + :rtype: SharedFolderChangeMembersManagementPolicyDetails """ - if not self.is_shared_folder_change_member_policy_details(): - raise AttributeError("tag 'shared_folder_change_member_policy_details' not set") + if not self.is_shared_folder_change_members_management_policy_details(): + raise AttributeError("tag 'shared_folder_change_members_management_policy_details' not set") + return self._value + + def get_shared_folder_change_members_policy_details(self): + """ + Only call this if :meth:`is_shared_folder_change_members_policy_details` is true. + + :rtype: SharedFolderChangeMembersPolicyDetails + """ + if not self.is_shared_folder_change_members_policy_details(): + raise AttributeError("tag 'shared_folder_change_members_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 @@ -12664,10 +16318,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'shared_folder_create_details' not set") return self._value + def get_shared_folder_decline_invitation_details(self): + """ + Only call this if :meth:`is_shared_folder_decline_invitation_details` is true. + + :rtype: SharedFolderDeclineInvitationDetails + """ + if not self.is_shared_folder_decline_invitation_details(): + raise AttributeError("tag 'shared_folder_decline_invitation_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 @@ -12676,10 +16338,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'shared_folder_mount_details' not set") return self._value + def get_shared_folder_nest_details(self): + """ + Only call this if :meth:`is_shared_folder_nest_details` is true. + + :rtype: SharedFolderNestDetails + """ + if not self.is_shared_folder_nest_details(): + raise AttributeError("tag 'shared_folder_nest_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 @@ -12690,8 +16360,6 @@ class EventDetails(bb.Union): 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 @@ -12700,10 +16368,108 @@ class EventDetails(bb.Union): raise AttributeError("tag 'shared_folder_unmount_details' not set") return self._value + def get_shared_link_add_expiry_details(self): + """ + Only call this if :meth:`is_shared_link_add_expiry_details` is true. + + :rtype: SharedLinkAddExpiryDetails + """ + if not self.is_shared_link_add_expiry_details(): + raise AttributeError("tag 'shared_link_add_expiry_details' not set") + return self._value + + def get_shared_link_change_expiry_details(self): + """ + Only call this if :meth:`is_shared_link_change_expiry_details` is true. + + :rtype: SharedLinkChangeExpiryDetails + """ + if not self.is_shared_link_change_expiry_details(): + raise AttributeError("tag 'shared_link_change_expiry_details' not set") + return self._value + + def get_shared_link_change_visibility_details(self): + """ + Only call this if :meth:`is_shared_link_change_visibility_details` is true. + + :rtype: SharedLinkChangeVisibilityDetails + """ + if not self.is_shared_link_change_visibility_details(): + raise AttributeError("tag 'shared_link_change_visibility_details' not set") + return self._value + + def get_shared_link_copy_details(self): + """ + Only call this if :meth:`is_shared_link_copy_details` is true. + + :rtype: SharedLinkCopyDetails + """ + if not self.is_shared_link_copy_details(): + raise AttributeError("tag 'shared_link_copy_details' not set") + return self._value + + def get_shared_link_create_details(self): + """ + Only call this if :meth:`is_shared_link_create_details` is true. + + :rtype: SharedLinkCreateDetails + """ + if not self.is_shared_link_create_details(): + raise AttributeError("tag 'shared_link_create_details' not set") + return self._value + + def get_shared_link_disable_details(self): + """ + Only call this if :meth:`is_shared_link_disable_details` is true. + + :rtype: SharedLinkDisableDetails + """ + if not self.is_shared_link_disable_details(): + raise AttributeError("tag 'shared_link_disable_details' not set") + return self._value + + def get_shared_link_download_details(self): + """ + Only call this if :meth:`is_shared_link_download_details` is true. + + :rtype: SharedLinkDownloadDetails + """ + if not self.is_shared_link_download_details(): + raise AttributeError("tag 'shared_link_download_details' not set") + return self._value + + def get_shared_link_remove_expiry_details(self): + """ + Only call this if :meth:`is_shared_link_remove_expiry_details` is true. + + :rtype: SharedLinkRemoveExpiryDetails + """ + if not self.is_shared_link_remove_expiry_details(): + raise AttributeError("tag 'shared_link_remove_expiry_details' not set") + return self._value + + def get_shared_link_share_details(self): + """ + Only call this if :meth:`is_shared_link_share_details` is true. + + :rtype: SharedLinkShareDetails + """ + if not self.is_shared_link_share_details(): + raise AttributeError("tag 'shared_link_share_details' not set") + return self._value + + def get_shared_link_view_details(self): + """ + Only call this if :meth:`is_shared_link_view_details` is true. + + :rtype: SharedLinkViewDetails + """ + if not self.is_shared_link_view_details(): + raise AttributeError("tag 'shared_link_view_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 @@ -12712,58 +16478,8 @@ class EventDetails(bb.Union): 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 @@ -12772,118 +16488,248 @@ class EventDetails(bb.Union): raise AttributeError("tag 'shmodel_group_share_details' not set") return self._value - def get_shmodel_remove_expiration_details(self): + def get_showcase_access_granted_details(self): """ - Removed the expiration date from a link. + Only call this if :meth:`is_showcase_access_granted_details` is true. - Only call this if :meth:`is_shmodel_remove_expiration_details` is true. - - :rtype: ShmodelRemoveExpirationDetails + :rtype: ShowcaseAccessGrantedDetails """ - if not self.is_shmodel_remove_expiration_details(): - raise AttributeError("tag 'shmodel_remove_expiration_details' not set") + if not self.is_showcase_access_granted_details(): + raise AttributeError("tag 'showcase_access_granted_details' not set") return self._value - def get_shmodel_set_expiration_details(self): + def get_showcase_add_member_details(self): """ - Added an expiration date to a link. + Only call this if :meth:`is_showcase_add_member_details` is true. - Only call this if :meth:`is_shmodel_set_expiration_details` is true. - - :rtype: ShmodelSetExpirationDetails + :rtype: ShowcaseAddMemberDetails """ - if not self.is_shmodel_set_expiration_details(): - raise AttributeError("tag 'shmodel_set_expiration_details' not set") + if not self.is_showcase_add_member_details(): + raise AttributeError("tag 'showcase_add_member_details' not set") return self._value - def get_shmodel_team_copy_details(self): + def get_showcase_archived_details(self): """ - Added a team member's file/folder to their Dropbox from a link. + Only call this if :meth:`is_showcase_archived_details` is true. - Only call this if :meth:`is_shmodel_team_copy_details` is true. - - :rtype: ShmodelTeamCopyDetails + :rtype: ShowcaseArchivedDetails """ - if not self.is_shmodel_team_copy_details(): - raise AttributeError("tag 'shmodel_team_copy_details' not set") + if not self.is_showcase_archived_details(): + raise AttributeError("tag 'showcase_archived_details' not set") return self._value - def get_shmodel_team_download_details(self): + def get_showcase_created_details(self): """ - Downloaded a team member's file/folder from a link. + Only call this if :meth:`is_showcase_created_details` is true. - Only call this if :meth:`is_shmodel_team_download_details` is true. - - :rtype: ShmodelTeamDownloadDetails + :rtype: ShowcaseCreatedDetails """ - if not self.is_shmodel_team_download_details(): - raise AttributeError("tag 'shmodel_team_download_details' not set") + if not self.is_showcase_created_details(): + raise AttributeError("tag 'showcase_created_details' not set") return self._value - def get_shmodel_team_share_details(self): + def get_showcase_delete_comment_details(self): """ - Shared a link with team members. + Only call this if :meth:`is_showcase_delete_comment_details` is true. - Only call this if :meth:`is_shmodel_team_share_details` is true. - - :rtype: ShmodelTeamShareDetails + :rtype: ShowcaseDeleteCommentDetails """ - if not self.is_shmodel_team_share_details(): - raise AttributeError("tag 'shmodel_team_share_details' not set") + if not self.is_showcase_delete_comment_details(): + raise AttributeError("tag 'showcase_delete_comment_details' not set") return self._value - def get_shmodel_team_view_details(self): + def get_showcase_edited_details(self): """ - Opened a team member's link. + Only call this if :meth:`is_showcase_edited_details` is true. - Only call this if :meth:`is_shmodel_team_view_details` is true. - - :rtype: ShmodelTeamViewDetails + :rtype: ShowcaseEditedDetails """ - if not self.is_shmodel_team_view_details(): - raise AttributeError("tag 'shmodel_team_view_details' not set") + if not self.is_showcase_edited_details(): + raise AttributeError("tag 'showcase_edited_details' not set") return self._value - def get_shmodel_visibility_password_details(self): + def get_showcase_edit_comment_details(self): """ - Password-protected a link. + Only call this if :meth:`is_showcase_edit_comment_details` is true. - Only call this if :meth:`is_shmodel_visibility_password_details` is true. - - :rtype: ShmodelVisibilityPasswordDetails + :rtype: ShowcaseEditCommentDetails """ - if not self.is_shmodel_visibility_password_details(): - raise AttributeError("tag 'shmodel_visibility_password_details' not set") + if not self.is_showcase_edit_comment_details(): + raise AttributeError("tag 'showcase_edit_comment_details' not set") return self._value - def get_shmodel_visibility_public_details(self): + def get_showcase_file_added_details(self): """ - Made a file/folder visible to anyone with the link. + Only call this if :meth:`is_showcase_file_added_details` is true. - Only call this if :meth:`is_shmodel_visibility_public_details` is true. - - :rtype: ShmodelVisibilityPublicDetails + :rtype: ShowcaseFileAddedDetails """ - if not self.is_shmodel_visibility_public_details(): - raise AttributeError("tag 'shmodel_visibility_public_details' not set") + if not self.is_showcase_file_added_details(): + raise AttributeError("tag 'showcase_file_added_details' not set") return self._value - def get_shmodel_visibility_team_only_details(self): + def get_showcase_file_download_details(self): """ - Made a file/folder visible only to team members with the link. + Only call this if :meth:`is_showcase_file_download_details` is true. - Only call this if :meth:`is_shmodel_visibility_team_only_details` is true. - - :rtype: ShmodelVisibilityTeamOnlyDetails + :rtype: ShowcaseFileDownloadDetails """ - if not self.is_shmodel_visibility_team_only_details(): - raise AttributeError("tag 'shmodel_visibility_team_only_details' not set") + if not self.is_showcase_file_download_details(): + raise AttributeError("tag 'showcase_file_download_details' not set") + return self._value + + def get_showcase_file_removed_details(self): + """ + Only call this if :meth:`is_showcase_file_removed_details` is true. + + :rtype: ShowcaseFileRemovedDetails + """ + if not self.is_showcase_file_removed_details(): + raise AttributeError("tag 'showcase_file_removed_details' not set") + return self._value + + def get_showcase_file_view_details(self): + """ + Only call this if :meth:`is_showcase_file_view_details` is true. + + :rtype: ShowcaseFileViewDetails + """ + if not self.is_showcase_file_view_details(): + raise AttributeError("tag 'showcase_file_view_details' not set") + return self._value + + def get_showcase_permanently_deleted_details(self): + """ + Only call this if :meth:`is_showcase_permanently_deleted_details` is true. + + :rtype: ShowcasePermanentlyDeletedDetails + """ + if not self.is_showcase_permanently_deleted_details(): + raise AttributeError("tag 'showcase_permanently_deleted_details' not set") + return self._value + + def get_showcase_post_comment_details(self): + """ + Only call this if :meth:`is_showcase_post_comment_details` is true. + + :rtype: ShowcasePostCommentDetails + """ + if not self.is_showcase_post_comment_details(): + raise AttributeError("tag 'showcase_post_comment_details' not set") + return self._value + + def get_showcase_remove_member_details(self): + """ + Only call this if :meth:`is_showcase_remove_member_details` is true. + + :rtype: ShowcaseRemoveMemberDetails + """ + if not self.is_showcase_remove_member_details(): + raise AttributeError("tag 'showcase_remove_member_details' not set") + return self._value + + def get_showcase_renamed_details(self): + """ + Only call this if :meth:`is_showcase_renamed_details` is true. + + :rtype: ShowcaseRenamedDetails + """ + if not self.is_showcase_renamed_details(): + raise AttributeError("tag 'showcase_renamed_details' not set") + return self._value + + def get_showcase_request_access_details(self): + """ + Only call this if :meth:`is_showcase_request_access_details` is true. + + :rtype: ShowcaseRequestAccessDetails + """ + if not self.is_showcase_request_access_details(): + raise AttributeError("tag 'showcase_request_access_details' not set") + return self._value + + def get_showcase_resolve_comment_details(self): + """ + Only call this if :meth:`is_showcase_resolve_comment_details` is true. + + :rtype: ShowcaseResolveCommentDetails + """ + if not self.is_showcase_resolve_comment_details(): + raise AttributeError("tag 'showcase_resolve_comment_details' not set") + return self._value + + def get_showcase_restored_details(self): + """ + Only call this if :meth:`is_showcase_restored_details` is true. + + :rtype: ShowcaseRestoredDetails + """ + if not self.is_showcase_restored_details(): + raise AttributeError("tag 'showcase_restored_details' not set") + return self._value + + def get_showcase_trashed_details(self): + """ + Only call this if :meth:`is_showcase_trashed_details` is true. + + :rtype: ShowcaseTrashedDetails + """ + if not self.is_showcase_trashed_details(): + raise AttributeError("tag 'showcase_trashed_details' not set") + return self._value + + def get_showcase_trashed_deprecated_details(self): + """ + Only call this if :meth:`is_showcase_trashed_deprecated_details` is true. + + :rtype: ShowcaseTrashedDeprecatedDetails + """ + if not self.is_showcase_trashed_deprecated_details(): + raise AttributeError("tag 'showcase_trashed_deprecated_details' not set") + return self._value + + def get_showcase_unresolve_comment_details(self): + """ + Only call this if :meth:`is_showcase_unresolve_comment_details` is true. + + :rtype: ShowcaseUnresolveCommentDetails + """ + if not self.is_showcase_unresolve_comment_details(): + raise AttributeError("tag 'showcase_unresolve_comment_details' not set") + return self._value + + def get_showcase_untrashed_details(self): + """ + Only call this if :meth:`is_showcase_untrashed_details` is true. + + :rtype: ShowcaseUntrashedDetails + """ + if not self.is_showcase_untrashed_details(): + raise AttributeError("tag 'showcase_untrashed_details' not set") + return self._value + + def get_showcase_untrashed_deprecated_details(self): + """ + Only call this if :meth:`is_showcase_untrashed_deprecated_details` is true. + + :rtype: ShowcaseUntrashedDeprecatedDetails + """ + if not self.is_showcase_untrashed_deprecated_details(): + raise AttributeError("tag 'showcase_untrashed_deprecated_details' not set") + return self._value + + def get_showcase_view_details(self): + """ + Only call this if :meth:`is_showcase_view_details` is true. + + :rtype: ShowcaseViewDetails + """ + if not self.is_showcase_view_details(): + raise AttributeError("tag 'showcase_view_details' not set") return self._value def get_sso_add_cert_details(self): """ - Added the X.509 certificate for SSO. - Only call this if :meth:`is_sso_add_cert_details` is true. :rtype: SsoAddCertDetails @@ -12894,8 +16740,6 @@ class EventDetails(bb.Union): def get_sso_add_login_url_details(self): """ - Added sign-in URL for SSO. - Only call this if :meth:`is_sso_add_login_url_details` is true. :rtype: SsoAddLoginUrlDetails @@ -12906,8 +16750,6 @@ class EventDetails(bb.Union): def get_sso_add_logout_url_details(self): """ - Added sign-out URL for SSO. - Only call this if :meth:`is_sso_add_logout_url_details` is true. :rtype: SsoAddLogoutUrlDetails @@ -12918,8 +16760,6 @@ class EventDetails(bb.Union): 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 @@ -12930,8 +16770,6 @@ class EventDetails(bb.Union): 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 @@ -12942,8 +16780,6 @@ class EventDetails(bb.Union): 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 @@ -12954,8 +16790,6 @@ class EventDetails(bb.Union): 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 @@ -12966,8 +16800,6 @@ class EventDetails(bb.Union): def get_sso_remove_cert_details(self): """ - Removed the X.509 certificate for SSO. - Only call this if :meth:`is_sso_remove_cert_details` is true. :rtype: SsoRemoveCertDetails @@ -12978,8 +16810,6 @@ class EventDetails(bb.Union): def get_sso_remove_login_url_details(self): """ - Removed the sign-in URL for SSO. - Only call this if :meth:`is_sso_remove_login_url_details` is true. :rtype: SsoRemoveLoginUrlDetails @@ -12990,8 +16820,6 @@ class EventDetails(bb.Union): def get_sso_remove_logout_url_details(self): """ - Removed single sign-on logout URL. - Only call this if :meth:`is_sso_remove_logout_url_details` is true. :rtype: SsoRemoveLogoutUrlDetails @@ -13002,8 +16830,6 @@ class EventDetails(bb.Union): 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 @@ -13014,8 +16840,6 @@ class EventDetails(bb.Union): 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 @@ -13026,8 +16850,6 @@ class EventDetails(bb.Union): 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 @@ -13038,8 +16860,6 @@ class EventDetails(bb.Union): 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 @@ -13050,8 +16870,6 @@ class EventDetails(bb.Union): 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 @@ -13060,10 +16878,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'team_folder_rename_details' not set") return self._value + def get_team_selective_sync_settings_changed_details(self): + """ + Only call this if :meth:`is_team_selective_sync_settings_changed_details` is true. + + :rtype: TeamSelectiveSyncSettingsChangedDetails + """ + if not self.is_team_selective_sync_settings_changed_details(): + raise AttributeError("tag 'team_selective_sync_settings_changed_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 @@ -13074,8 +16900,6 @@ class EventDetails(bb.Union): def get_allow_download_disabled_details(self): """ - Disabled allow downloads. - Only call this if :meth:`is_allow_download_disabled_details` is true. :rtype: AllowDownloadDisabledDetails @@ -13086,8 +16910,6 @@ class EventDetails(bb.Union): def get_allow_download_enabled_details(self): """ - Enabled allow downloads. - Only call this if :meth:`is_allow_download_enabled_details` is true. :rtype: AllowDownloadEnabledDetails @@ -13096,11 +16918,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'allow_download_enabled_details' not set") return self._value + def get_camera_uploads_policy_changed_details(self): + """ + Only call this if :meth:`is_camera_uploads_policy_changed_details` is true. + + :rtype: CameraUploadsPolicyChangedDetails + """ + if not self.is_camera_uploads_policy_changed_details(): + raise AttributeError("tag 'camera_uploads_policy_changed_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 @@ -13111,10 +16940,6 @@ class EventDetails(bb.Union): 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 @@ -13125,9 +16950,6 @@ class EventDetails(bb.Union): 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 @@ -13138,9 +16960,6 @@ class EventDetails(bb.Union): 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 @@ -13151,9 +16970,6 @@ class EventDetails(bb.Union): 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 @@ -13164,9 +16980,6 @@ class EventDetails(bb.Union): 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 @@ -13175,11 +16988,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'device_approvals_change_unlink_action_details' not set") return self._value + def get_directory_restrictions_add_members_details(self): + """ + Only call this if :meth:`is_directory_restrictions_add_members_details` is true. + + :rtype: DirectoryRestrictionsAddMembersDetails + """ + if not self.is_directory_restrictions_add_members_details(): + raise AttributeError("tag 'directory_restrictions_add_members_details' not set") + return self._value + + def get_directory_restrictions_remove_members_details(self): + """ + Only call this if :meth:`is_directory_restrictions_remove_members_details` is true. + + :rtype: DirectoryRestrictionsRemoveMembersDetails + """ + if not self.is_directory_restrictions_remove_members_details(): + raise AttributeError("tag 'directory_restrictions_remove_members_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 @@ -13190,8 +17020,6 @@ class EventDetails(bb.Union): 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 @@ -13202,9 +17030,6 @@ class EventDetails(bb.Union): 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 @@ -13215,8 +17040,6 @@ class EventDetails(bb.Union): 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 @@ -13227,8 +17050,6 @@ class EventDetails(bb.Union): 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 @@ -13239,8 +17060,6 @@ class EventDetails(bb.Union): 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 @@ -13251,8 +17070,6 @@ class EventDetails(bb.Union): 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 @@ -13263,8 +17080,6 @@ class EventDetails(bb.Union): 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 @@ -13275,8 +17090,6 @@ class EventDetails(bb.Union): 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 @@ -13287,8 +17100,6 @@ class EventDetails(bb.Union): 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 @@ -13297,10 +17108,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'group_user_management_change_policy_details' not set") return self._value + def get_integration_policy_changed_details(self): + """ + Only call this if :meth:`is_integration_policy_changed_details` is true. + + :rtype: IntegrationPolicyChangedDetails + """ + if not self.is_integration_policy_changed_details(): + raise AttributeError("tag 'integration_policy_changed_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 @@ -13311,9 +17130,6 @@ class EventDetails(bb.Union): 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 @@ -13322,10 +17138,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'member_space_limits_add_exception_details' not set") return self._value + def get_member_space_limits_change_caps_type_policy_details(self): + """ + Only call this if :meth:`is_member_space_limits_change_caps_type_policy_details` is true. + + :rtype: MemberSpaceLimitsChangeCapsTypePolicyDetails + """ + if not self.is_member_space_limits_change_caps_type_policy_details(): + raise AttributeError("tag 'member_space_limits_change_caps_type_policy_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 @@ -13336,9 +17160,6 @@ class EventDetails(bb.Union): 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 @@ -13349,9 +17170,6 @@ class EventDetails(bb.Union): 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 @@ -13362,9 +17180,6 @@ class EventDetails(bb.Union): 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 @@ -13375,8 +17190,6 @@ class EventDetails(bb.Union): 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 @@ -13387,9 +17200,6 @@ class EventDetails(bb.Union): 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 @@ -13400,8 +17210,6 @@ class EventDetails(bb.Union): def get_paper_change_member_link_policy_details(self): """ - Changed whether non team members can view Paper documents using a link. - Only call this if :meth:`is_paper_change_member_link_policy_details` is true. :rtype: PaperChangeMemberLinkPolicyDetails @@ -13412,10 +17220,6 @@ class EventDetails(bb.Union): 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 @@ -13426,8 +17230,6 @@ class EventDetails(bb.Union): 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 @@ -13436,11 +17238,48 @@ class EventDetails(bb.Union): raise AttributeError("tag 'paper_change_policy_details' not set") return self._value + def get_paper_default_folder_policy_changed_details(self): + """ + Only call this if :meth:`is_paper_default_folder_policy_changed_details` is true. + + :rtype: PaperDefaultFolderPolicyChangedDetails + """ + if not self.is_paper_default_folder_policy_changed_details(): + raise AttributeError("tag 'paper_default_folder_policy_changed_details' not set") + return self._value + + def get_paper_desktop_policy_changed_details(self): + """ + Only call this if :meth:`is_paper_desktop_policy_changed_details` is true. + + :rtype: PaperDesktopPolicyChangedDetails + """ + if not self.is_paper_desktop_policy_changed_details(): + raise AttributeError("tag 'paper_desktop_policy_changed_details' not set") + return self._value + + def get_paper_enabled_users_group_addition_details(self): + """ + 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): + """ + 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_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 @@ -13449,11 +17288,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'permanent_delete_change_policy_details' not set") return self._value + def get_reseller_support_change_policy_details(self): + """ + Only call this if :meth:`is_reseller_support_change_policy_details` is true. + + :rtype: ResellerSupportChangePolicyDetails + """ + if not self.is_reseller_support_change_policy_details(): + raise AttributeError("tag 'reseller_support_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 @@ -13464,10 +17310,6 @@ class EventDetails(bb.Union): 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 @@ -13478,9 +17320,6 @@ class EventDetails(bb.Union): 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 @@ -13489,10 +17328,38 @@ class EventDetails(bb.Union): raise AttributeError("tag 'sharing_change_member_policy_details' not set") return self._value + def get_showcase_change_download_policy_details(self): + """ + Only call this if :meth:`is_showcase_change_download_policy_details` is true. + + :rtype: ShowcaseChangeDownloadPolicyDetails + """ + if not self.is_showcase_change_download_policy_details(): + raise AttributeError("tag 'showcase_change_download_policy_details' not set") + return self._value + + def get_showcase_change_enabled_policy_details(self): + """ + Only call this if :meth:`is_showcase_change_enabled_policy_details` is true. + + :rtype: ShowcaseChangeEnabledPolicyDetails + """ + if not self.is_showcase_change_enabled_policy_details(): + raise AttributeError("tag 'showcase_change_enabled_policy_details' not set") + return self._value + + def get_showcase_change_external_sharing_policy_details(self): + """ + Only call this if :meth:`is_showcase_change_external_sharing_policy_details` is true. + + :rtype: ShowcaseChangeExternalSharingPolicyDetails + """ + if not self.is_showcase_change_external_sharing_policy_details(): + raise AttributeError("tag 'showcase_change_external_sharing_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 @@ -13503,8 +17370,6 @@ class EventDetails(bb.Union): def get_smart_sync_not_opt_out_details(self): """ - Opted team into Smart Sync. - Only call this if :meth:`is_smart_sync_not_opt_out_details` is true. :rtype: SmartSyncNotOptOutDetails @@ -13515,8 +17380,6 @@ class EventDetails(bb.Union): def get_smart_sync_opt_out_details(self): """ - Opted team out of Smart Sync. - Only call this if :meth:`is_smart_sync_opt_out_details` is true. :rtype: SmartSyncOptOutDetails @@ -13527,8 +17390,6 @@ class EventDetails(bb.Union): 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 @@ -13537,10 +17398,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'sso_change_policy_details' not set") return self._value + def get_team_extensions_policy_changed_details(self): + """ + Only call this if :meth:`is_team_extensions_policy_changed_details` is true. + + :rtype: TeamExtensionsPolicyChangedDetails + """ + if not self.is_team_extensions_policy_changed_details(): + raise AttributeError("tag 'team_extensions_policy_changed_details' not set") + return self._value + + def get_team_selective_sync_policy_changed_details(self): + """ + Only call this if :meth:`is_team_selective_sync_policy_changed_details` is true. + + :rtype: TeamSelectiveSyncPolicyChangedDetails + """ + if not self.is_team_selective_sync_policy_changed_details(): + raise AttributeError("tag 'team_selective_sync_policy_changed_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 @@ -13551,9 +17430,6 @@ class EventDetails(bb.Union): 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 @@ -13562,10 +17438,18 @@ class EventDetails(bb.Union): raise AttributeError("tag 'two_account_change_policy_details' not set") return self._value + def get_viewer_info_policy_changed_details(self): + """ + Only call this if :meth:`is_viewer_info_policy_changed_details` is true. + + :rtype: ViewerInfoPolicyChangedDetails + """ + if not self.is_viewer_info_policy_changed_details(): + raise AttributeError("tag 'viewer_info_policy_changed_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 @@ -13576,9 +17460,6 @@ class EventDetails(bb.Union): 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 @@ -13587,10 +17468,28 @@ class EventDetails(bb.Union): raise AttributeError("tag 'web_sessions_change_idle_length_policy_details' not set") return self._value + def get_team_merge_from_details(self): + """ + Only call this if :meth:`is_team_merge_from_details` is true. + + :rtype: TeamMergeFromDetails + """ + if not self.is_team_merge_from_details(): + raise AttributeError("tag 'team_merge_from_details' not set") + return self._value + + def get_team_merge_to_details(self): + """ + Only call this if :meth:`is_team_merge_to_details` is true. + + :rtype: TeamMergeToDetails + """ + if not self.is_team_merge_to_details(): + raise AttributeError("tag 'team_merge_to_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 @@ -13601,8 +17500,6 @@ class EventDetails(bb.Union): def get_team_profile_change_default_language_details(self): """ - Changed the default language for the team. - Only call this if :meth:`is_team_profile_change_default_language_details` is true. :rtype: TeamProfileChangeDefaultLanguageDetails @@ -13613,8 +17510,6 @@ class EventDetails(bb.Union): 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 @@ -13625,8 +17520,6 @@ class EventDetails(bb.Union): 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 @@ -13637,8 +17530,6 @@ class EventDetails(bb.Union): 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 @@ -13649,8 +17540,6 @@ class EventDetails(bb.Union): 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 @@ -13661,8 +17550,6 @@ class EventDetails(bb.Union): 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 @@ -13673,8 +17560,6 @@ class EventDetails(bb.Union): 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 @@ -13685,9 +17570,6 @@ class EventDetails(bb.Union): 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 @@ -13698,8 +17580,6 @@ class EventDetails(bb.Union): 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 @@ -13710,8 +17590,6 @@ class EventDetails(bb.Union): 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 @@ -13722,8 +17600,6 @@ class EventDetails(bb.Union): 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 @@ -13732,6 +17608,196 @@ class EventDetails(bb.Union): raise AttributeError("tag 'tfa_reset_details' not set") return self._value + def get_guest_admin_change_status_details(self): + """ + Only call this if :meth:`is_guest_admin_change_status_details` is true. + + :rtype: GuestAdminChangeStatusDetails + """ + if not self.is_guest_admin_change_status_details(): + raise AttributeError("tag 'guest_admin_change_status_details' not set") + return self._value + + def get_team_merge_request_accepted_details(self): + """ + Only call this if :meth:`is_team_merge_request_accepted_details` is true. + + :rtype: TeamMergeRequestAcceptedDetails + """ + if not self.is_team_merge_request_accepted_details(): + raise AttributeError("tag 'team_merge_request_accepted_details' not set") + return self._value + + def get_team_merge_request_accepted_shown_to_primary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_accepted_shown_to_primary_team_details` is true. + + :rtype: TeamMergeRequestAcceptedShownToPrimaryTeamDetails + """ + if not self.is_team_merge_request_accepted_shown_to_primary_team_details(): + raise AttributeError("tag 'team_merge_request_accepted_shown_to_primary_team_details' not set") + return self._value + + def get_team_merge_request_accepted_shown_to_secondary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_accepted_shown_to_secondary_team_details` is true. + + :rtype: TeamMergeRequestAcceptedShownToSecondaryTeamDetails + """ + if not self.is_team_merge_request_accepted_shown_to_secondary_team_details(): + raise AttributeError("tag 'team_merge_request_accepted_shown_to_secondary_team_details' not set") + return self._value + + def get_team_merge_request_auto_canceled_details(self): + """ + Only call this if :meth:`is_team_merge_request_auto_canceled_details` is true. + + :rtype: TeamMergeRequestAutoCanceledDetails + """ + if not self.is_team_merge_request_auto_canceled_details(): + raise AttributeError("tag 'team_merge_request_auto_canceled_details' not set") + return self._value + + def get_team_merge_request_canceled_details(self): + """ + Only call this if :meth:`is_team_merge_request_canceled_details` is true. + + :rtype: TeamMergeRequestCanceledDetails + """ + if not self.is_team_merge_request_canceled_details(): + raise AttributeError("tag 'team_merge_request_canceled_details' not set") + return self._value + + def get_team_merge_request_canceled_shown_to_primary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_canceled_shown_to_primary_team_details` is true. + + :rtype: TeamMergeRequestCanceledShownToPrimaryTeamDetails + """ + if not self.is_team_merge_request_canceled_shown_to_primary_team_details(): + raise AttributeError("tag 'team_merge_request_canceled_shown_to_primary_team_details' not set") + return self._value + + def get_team_merge_request_canceled_shown_to_secondary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_canceled_shown_to_secondary_team_details` is true. + + :rtype: TeamMergeRequestCanceledShownToSecondaryTeamDetails + """ + if not self.is_team_merge_request_canceled_shown_to_secondary_team_details(): + raise AttributeError("tag 'team_merge_request_canceled_shown_to_secondary_team_details' not set") + return self._value + + def get_team_merge_request_expired_details(self): + """ + Only call this if :meth:`is_team_merge_request_expired_details` is true. + + :rtype: TeamMergeRequestExpiredDetails + """ + if not self.is_team_merge_request_expired_details(): + raise AttributeError("tag 'team_merge_request_expired_details' not set") + return self._value + + def get_team_merge_request_expired_shown_to_primary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_expired_shown_to_primary_team_details` is true. + + :rtype: TeamMergeRequestExpiredShownToPrimaryTeamDetails + """ + if not self.is_team_merge_request_expired_shown_to_primary_team_details(): + raise AttributeError("tag 'team_merge_request_expired_shown_to_primary_team_details' not set") + return self._value + + def get_team_merge_request_expired_shown_to_secondary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_expired_shown_to_secondary_team_details` is true. + + :rtype: TeamMergeRequestExpiredShownToSecondaryTeamDetails + """ + if not self.is_team_merge_request_expired_shown_to_secondary_team_details(): + raise AttributeError("tag 'team_merge_request_expired_shown_to_secondary_team_details' not set") + return self._value + + def get_team_merge_request_rejected_shown_to_primary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_rejected_shown_to_primary_team_details` is true. + + :rtype: TeamMergeRequestRejectedShownToPrimaryTeamDetails + """ + if not self.is_team_merge_request_rejected_shown_to_primary_team_details(): + raise AttributeError("tag 'team_merge_request_rejected_shown_to_primary_team_details' not set") + return self._value + + def get_team_merge_request_rejected_shown_to_secondary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_rejected_shown_to_secondary_team_details` is true. + + :rtype: TeamMergeRequestRejectedShownToSecondaryTeamDetails + """ + if not self.is_team_merge_request_rejected_shown_to_secondary_team_details(): + raise AttributeError("tag 'team_merge_request_rejected_shown_to_secondary_team_details' not set") + return self._value + + def get_team_merge_request_reminder_details(self): + """ + Only call this if :meth:`is_team_merge_request_reminder_details` is true. + + :rtype: TeamMergeRequestReminderDetails + """ + if not self.is_team_merge_request_reminder_details(): + raise AttributeError("tag 'team_merge_request_reminder_details' not set") + return self._value + + def get_team_merge_request_reminder_shown_to_primary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_reminder_shown_to_primary_team_details` is true. + + :rtype: TeamMergeRequestReminderShownToPrimaryTeamDetails + """ + if not self.is_team_merge_request_reminder_shown_to_primary_team_details(): + raise AttributeError("tag 'team_merge_request_reminder_shown_to_primary_team_details' not set") + return self._value + + def get_team_merge_request_reminder_shown_to_secondary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_reminder_shown_to_secondary_team_details` is true. + + :rtype: TeamMergeRequestReminderShownToSecondaryTeamDetails + """ + if not self.is_team_merge_request_reminder_shown_to_secondary_team_details(): + raise AttributeError("tag 'team_merge_request_reminder_shown_to_secondary_team_details' not set") + return self._value + + def get_team_merge_request_revoked_details(self): + """ + Only call this if :meth:`is_team_merge_request_revoked_details` is true. + + :rtype: TeamMergeRequestRevokedDetails + """ + if not self.is_team_merge_request_revoked_details(): + raise AttributeError("tag 'team_merge_request_revoked_details' not set") + return self._value + + def get_team_merge_request_sent_shown_to_primary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_sent_shown_to_primary_team_details` is true. + + :rtype: TeamMergeRequestSentShownToPrimaryTeamDetails + """ + if not self.is_team_merge_request_sent_shown_to_primary_team_details(): + raise AttributeError("tag 'team_merge_request_sent_shown_to_primary_team_details' not set") + return self._value + + def get_team_merge_request_sent_shown_to_secondary_team_details(self): + """ + Only call this if :meth:`is_team_merge_request_sent_shown_to_secondary_team_details` is true. + + :rtype: TeamMergeRequestSentShownToSecondaryTeamDetails + """ + if not self.is_team_merge_request_sent_shown_to_secondary_team_details(): + raise AttributeError("tag 'team_merge_request_sent_shown_to_secondary_team_details' not set") + return self._value + def get_missing_details(self): """ Hints that this event was returned with missing details due to an @@ -13745,6 +17811,9 @@ class EventDetails(bb.Union): raise AttributeError("tag 'missing_details' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EventDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EventDetails(%r, %r)' % (self._tag, self._value) @@ -13758,1125 +17827,4667 @@ class EventType(bb.Union): 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_admin_export_start: Exported all Paper documents in the team. - :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_from: Merged another team into this team. - :ivar team_merge_to: Merged this 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 file_add_comment: Added a file comment. - :ivar file_change_comment_subscription: Subscribed to or unsubscribed from - comment notifications for file. - :ivar file_delete_comment: Deleted 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_resolve_comment: Resolved a file comment. - :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 file_unresolve_comment: Unresolved a file comment. - :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_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_admin_role: Change the admin role belonging to team - member. - :ivar member_change_email: Changed team member email address. - :ivar member_change_name: Changed team member name. - :ivar member_change_status: Changed the membership status of a team member. - :ivar member_suggest: Suggested a new team member to be added to the team. - :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_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_change_subscription: Followed or unfollowed a 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_doc_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_trashed: Paper doc trashed. - :ivar paper_doc_unresolve_comment: Unresolved a Paper doc comment. - :ivar paper_doc_untrashed: Paper doc untrashed. - :ivar paper_doc_view: Viewed Paper doc. - :ivar paper_folder_change_subscription: Followed or unfollowed a Paper - folder. - :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_folder_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 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 sso_add_cert: Added the X.509 certificate for SSO. - :ivar sso_add_login_url: Added sign-in URL for SSO. - :ivar sso_add_logout_url: Added sign-out URL for SSO. - :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 sso_remove_cert: Removed the X.509 certificate for SSO. - :ivar sso_remove_login_url: Removed the sign-in URL for SSO. - :ivar sso_remove_logout_url: Removed single sign-on logout URL. - :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_link_policy: Changed whether non team members can - view Paper documents using a link. This event is deprecated and will not - be logged going forward as the associated product functionality no - longer exists. - :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 smart_sync_not_opt_out: Opted team into Smart Sync. - :ivar smart_sync_opt_out: Opted team out of Smart Sync. - :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_default_language: Changed the default language for - the team. - :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. + :ivar AppLinkTeamType EventType.app_link_team: (apps) Linked app for team + :ivar AppLinkUserType EventType.app_link_user: (apps) Linked app for member + :ivar AppUnlinkTeamType EventType.app_unlink_team: (apps) Unlinked app for + team + :ivar AppUnlinkUserType EventType.app_unlink_user: (apps) Unlinked app for + member + :ivar IntegrationConnectedType EventType.integration_connected: (apps) + Connected integration for member + :ivar IntegrationDisconnectedType EventType.integration_disconnected: (apps) + Disconnected integration for member + :ivar FileAddCommentType EventType.file_add_comment: (comments) Added file + comment + :ivar FileChangeCommentSubscriptionType + EventType.file_change_comment_subscription: (comments) Subscribed to or + unsubscribed from comment notifications for file + :ivar FileDeleteCommentType EventType.file_delete_comment: (comments) + Deleted file comment + :ivar FileEditCommentType EventType.file_edit_comment: (comments) Edited + file comment + :ivar FileLikeCommentType EventType.file_like_comment: (comments) Liked file + comment (deprecated, no longer logged) + :ivar FileResolveCommentType EventType.file_resolve_comment: (comments) + Resolved file comment + :ivar FileUnlikeCommentType EventType.file_unlike_comment: (comments) + Unliked file comment (deprecated, no longer logged) + :ivar FileUnresolveCommentType EventType.file_unresolve_comment: (comments) + Unresolved file comment + :ivar DeviceChangeIpDesktopType EventType.device_change_ip_desktop: + (devices) Changed IP address associated with active desktop session + :ivar DeviceChangeIpMobileType EventType.device_change_ip_mobile: (devices) + Changed IP address associated with active mobile session + :ivar DeviceChangeIpWebType EventType.device_change_ip_web: (devices) + Changed IP address associated with active web session + :ivar DeviceDeleteOnUnlinkFailType EventType.device_delete_on_unlink_fail: + (devices) Failed to delete all files from unlinked device + :ivar DeviceDeleteOnUnlinkSuccessType + EventType.device_delete_on_unlink_success: (devices) Deleted all files + from unlinked device + :ivar DeviceLinkFailType EventType.device_link_fail: (devices) Failed to + link device + :ivar DeviceLinkSuccessType EventType.device_link_success: (devices) Linked + device + :ivar DeviceManagementDisabledType EventType.device_management_disabled: + (devices) Disabled device management (deprecated, no longer logged) + :ivar DeviceManagementEnabledType EventType.device_management_enabled: + (devices) Enabled device management (deprecated, no longer logged) + :ivar DeviceUnlinkType EventType.device_unlink: (devices) Disconnected + device + :ivar EmmRefreshAuthTokenType EventType.emm_refresh_auth_token: (devices) + Refreshed auth token used for setting up EMM + :ivar AccountCaptureChangeAvailabilityType + EventType.account_capture_change_availability: (domains) Granted/revoked + option to enable account capture on team domains + :ivar AccountCaptureMigrateAccountType + EventType.account_capture_migrate_account: (domains) Account-captured + user migrated account to team + :ivar AccountCaptureNotificationEmailsSentType + EventType.account_capture_notification_emails_sent: (domains) Sent + proactive account capture email to all unmanaged members + :ivar AccountCaptureRelinquishAccountType + EventType.account_capture_relinquish_account: (domains) Account-captured + user changed account email to personal email + :ivar DisabledDomainInvitesType EventType.disabled_domain_invites: (domains) + Disabled domain invites (deprecated, no longer logged) + :ivar DomainInvitesApproveRequestToJoinTeamType + EventType.domain_invites_approve_request_to_join_team: (domains) + Approved user's request to join team + :ivar DomainInvitesDeclineRequestToJoinTeamType + EventType.domain_invites_decline_request_to_join_team: (domains) + Declined user's request to join team + :ivar DomainInvitesEmailExistingUsersType + EventType.domain_invites_email_existing_users: (domains) Sent domain + invites to existing domain accounts (deprecated, no longer logged) + :ivar DomainInvitesRequestToJoinTeamType + EventType.domain_invites_request_to_join_team: (domains) Requested to + join team + :ivar DomainInvitesSetInviteNewUserPrefToNoType + EventType.domain_invites_set_invite_new_user_pref_to_no: (domains) + Disabled "Automatically invite new users" (deprecated, no longer logged) + :ivar DomainInvitesSetInviteNewUserPrefToYesType + EventType.domain_invites_set_invite_new_user_pref_to_yes: (domains) + Enabled "Automatically invite new users" (deprecated, no longer logged) + :ivar DomainVerificationAddDomainFailType + EventType.domain_verification_add_domain_fail: (domains) Failed to + verify team domain + :ivar DomainVerificationAddDomainSuccessType + EventType.domain_verification_add_domain_success: (domains) Verified + team domain + :ivar DomainVerificationRemoveDomainType + EventType.domain_verification_remove_domain: (domains) Removed domain + from list of verified team domains + :ivar EnabledDomainInvitesType EventType.enabled_domain_invites: (domains) + Enabled domain invites (deprecated, no longer logged) + :ivar CreateFolderType EventType.create_folder: (file_operations) Created + folders (deprecated, no longer logged) + :ivar FileAddType EventType.file_add: (file_operations) Added files and/or + folders + :ivar FileCopyType EventType.file_copy: (file_operations) Copied files + and/or folders + :ivar FileDeleteType EventType.file_delete: (file_operations) Deleted files + and/or folders + :ivar FileDownloadType EventType.file_download: (file_operations) Downloaded + files and/or folders + :ivar FileEditType EventType.file_edit: (file_operations) Edited files + :ivar FileGetCopyReferenceType EventType.file_get_copy_reference: + (file_operations) Created copy reference to file/folder + :ivar FileMoveType EventType.file_move: (file_operations) Moved files and/or + folders + :ivar FilePermanentlyDeleteType EventType.file_permanently_delete: + (file_operations) Permanently deleted files and/or folders + :ivar FilePreviewType EventType.file_preview: (file_operations) Previewed + files and/or folders + :ivar FileRenameType EventType.file_rename: (file_operations) Renamed files + and/or folders + :ivar FileRestoreType EventType.file_restore: (file_operations) Restored + deleted files and/or folders + :ivar FileRevertType EventType.file_revert: (file_operations) Reverted files + to previous version + :ivar FileRollbackChangesType EventType.file_rollback_changes: + (file_operations) Rolled back file actions + :ivar FileSaveCopyReferenceType EventType.file_save_copy_reference: + (file_operations) Saved file/folder using copy reference + :ivar FileRequestChangeType EventType.file_request_change: (file_requests) + Changed file request + :ivar FileRequestCloseType EventType.file_request_close: (file_requests) + Closed file request + :ivar FileRequestCreateType EventType.file_request_create: (file_requests) + Created file request + :ivar FileRequestDeleteType EventType.file_request_delete: (file_requests) + Delete file request + :ivar FileRequestReceiveFileType EventType.file_request_receive_file: + (file_requests) Received files for file request + :ivar GroupAddExternalIdType EventType.group_add_external_id: (groups) Added + external ID for group + :ivar GroupAddMemberType EventType.group_add_member: (groups) Added team + members to group + :ivar GroupChangeExternalIdType EventType.group_change_external_id: (groups) + Changed external ID for group + :ivar GroupChangeManagementTypeType EventType.group_change_management_type: + (groups) Changed group management type + :ivar GroupChangeMemberRoleType EventType.group_change_member_role: (groups) + Changed manager permissions of group member + :ivar GroupCreateType EventType.group_create: (groups) Created group + :ivar GroupDeleteType EventType.group_delete: (groups) Deleted group + :ivar GroupDescriptionUpdatedType EventType.group_description_updated: + (groups) Updated group (deprecated, no longer logged) + :ivar GroupJoinPolicyUpdatedType EventType.group_join_policy_updated: + (groups) Updated group join policy (deprecated, no longer logged) + :ivar GroupMovedType EventType.group_moved: (groups) Moved group + (deprecated, no longer logged) + :ivar GroupRemoveExternalIdType EventType.group_remove_external_id: (groups) + Removed external ID for group + :ivar GroupRemoveMemberType EventType.group_remove_member: (groups) Removed + team members from group + :ivar GroupRenameType EventType.group_rename: (groups) Renamed group + :ivar EmmErrorType EventType.emm_error: (logins) Failed to sign in via EMM + (deprecated, replaced by 'Failed to sign in') + :ivar GuestAdminSignedInViaTrustedTeamsType + EventType.guest_admin_signed_in_via_trusted_teams: (logins) Started + trusted team admin session + :ivar GuestAdminSignedOutViaTrustedTeamsType + EventType.guest_admin_signed_out_via_trusted_teams: (logins) Ended + trusted team admin session + :ivar LoginFailType EventType.login_fail: (logins) Failed to sign in + :ivar LoginSuccessType EventType.login_success: (logins) Signed in + :ivar LogoutType EventType.logout: (logins) Signed out + :ivar ResellerSupportSessionEndType EventType.reseller_support_session_end: + (logins) Ended reseller support session + :ivar ResellerSupportSessionStartType + EventType.reseller_support_session_start: (logins) Started reseller + support session + :ivar SignInAsSessionEndType EventType.sign_in_as_session_end: (logins) + Ended admin sign-in-as session + :ivar SignInAsSessionStartType EventType.sign_in_as_session_start: (logins) + Started admin sign-in-as session + :ivar SsoErrorType EventType.sso_error: (logins) Failed to sign in via SSO + (deprecated, replaced by 'Failed to sign in') + :ivar MemberAddExternalIdType EventType.member_add_external_id: (members) + Added an external ID for team member + :ivar MemberAddNameType EventType.member_add_name: (members) Added team + member name + :ivar MemberChangeAdminRoleType EventType.member_change_admin_role: + (members) Changed team member admin role + :ivar MemberChangeEmailType EventType.member_change_email: (members) Changed + team member email + :ivar MemberChangeExternalIdType EventType.member_change_external_id: + (members) Changed the external ID for team member + :ivar MemberChangeMembershipTypeType + EventType.member_change_membership_type: (members) Changed membership + type (limited/full) of member (deprecated, no longer logged) + :ivar MemberChangeNameType EventType.member_change_name: (members) Changed + team member name + :ivar MemberChangeStatusType EventType.member_change_status: (members) + Changed member status (invited, joined, suspended, etc.) + :ivar MemberDeleteManualContactsType + EventType.member_delete_manual_contacts: (members) Cleared manually + added contacts + :ivar MemberPermanentlyDeleteAccountContentsType + EventType.member_permanently_delete_account_contents: (members) + Permanently deleted contents of deleted team member account + :ivar MemberRemoveExternalIdType EventType.member_remove_external_id: + (members) Removed the external ID for team member + :ivar MemberSpaceLimitsAddCustomQuotaType + EventType.member_space_limits_add_custom_quota: (members) Set custom + member space limit + :ivar MemberSpaceLimitsChangeCustomQuotaType + EventType.member_space_limits_change_custom_quota: (members) Changed + custom member space limit + :ivar MemberSpaceLimitsChangeStatusType + EventType.member_space_limits_change_status: (members) Changed space + limit status + :ivar MemberSpaceLimitsRemoveCustomQuotaType + EventType.member_space_limits_remove_custom_quota: (members) Removed + custom member space limit + :ivar MemberSuggestType EventType.member_suggest: (members) Suggested person + to add to team + :ivar MemberTransferAccountContentsType + EventType.member_transfer_account_contents: (members) Transferred + contents of deleted member account to another member + :ivar SecondaryMailsPolicyChangedType + EventType.secondary_mails_policy_changed: (members) Secondary mails + policy changed + :ivar PaperContentAddMemberType EventType.paper_content_add_member: (paper) + Added team member to Paper doc/folder + :ivar PaperContentAddToFolderType EventType.paper_content_add_to_folder: + (paper) Added Paper doc/folder to folder + :ivar PaperContentArchiveType EventType.paper_content_archive: (paper) + Archived Paper doc/folder + :ivar PaperContentCreateType EventType.paper_content_create: (paper) Created + Paper doc/folder + :ivar PaperContentPermanentlyDeleteType + EventType.paper_content_permanently_delete: (paper) Permanently deleted + Paper doc/folder + :ivar PaperContentRemoveFromFolderType + EventType.paper_content_remove_from_folder: (paper) Removed Paper + doc/folder from folder + :ivar PaperContentRemoveMemberType EventType.paper_content_remove_member: + (paper) Removed team member from Paper doc/folder + :ivar PaperContentRenameType EventType.paper_content_rename: (paper) Renamed + Paper doc/folder + :ivar PaperContentRestoreType EventType.paper_content_restore: (paper) + Restored archived Paper doc/folder + :ivar PaperDocAddCommentType EventType.paper_doc_add_comment: (paper) Added + Paper doc comment + :ivar PaperDocChangeMemberRoleType EventType.paper_doc_change_member_role: + (paper) Changed team member permissions for Paper doc + :ivar PaperDocChangeSharingPolicyType + EventType.paper_doc_change_sharing_policy: (paper) Changed sharing + setting for Paper doc + :ivar PaperDocChangeSubscriptionType + EventType.paper_doc_change_subscription: (paper) Followed/unfollowed + Paper doc + :ivar PaperDocDeletedType EventType.paper_doc_deleted: (paper) Archived + Paper doc (deprecated, no longer logged) + :ivar PaperDocDeleteCommentType EventType.paper_doc_delete_comment: (paper) + Deleted Paper doc comment + :ivar PaperDocDownloadType EventType.paper_doc_download: (paper) Downloaded + Paper doc in specific format + :ivar PaperDocEditType EventType.paper_doc_edit: (paper) Edited Paper doc + :ivar PaperDocEditCommentType EventType.paper_doc_edit_comment: (paper) + Edited Paper doc comment + :ivar PaperDocFollowedType EventType.paper_doc_followed: (paper) Followed + Paper doc (deprecated, replaced by 'Followed/unfollowed Paper doc') + :ivar PaperDocMentionType EventType.paper_doc_mention: (paper) Mentioned + team member in Paper doc + :ivar PaperDocOwnershipChangedType EventType.paper_doc_ownership_changed: + (paper) Transferred ownership of Paper doc + :ivar PaperDocRequestAccessType EventType.paper_doc_request_access: (paper) + Requested access to Paper doc + :ivar PaperDocResolveCommentType EventType.paper_doc_resolve_comment: + (paper) Resolved Paper doc comment + :ivar PaperDocRevertType EventType.paper_doc_revert: (paper) Restored Paper + doc to previous version + :ivar PaperDocSlackShareType EventType.paper_doc_slack_share: (paper) Shared + Paper doc via Slack + :ivar PaperDocTeamInviteType EventType.paper_doc_team_invite: (paper) Shared + Paper doc with team member (deprecated, no longer logged) + :ivar PaperDocTrashedType EventType.paper_doc_trashed: (paper) Deleted Paper + doc + :ivar PaperDocUnresolveCommentType EventType.paper_doc_unresolve_comment: + (paper) Unresolved Paper doc comment + :ivar PaperDocUntrashedType EventType.paper_doc_untrashed: (paper) Restored + Paper doc + :ivar PaperDocViewType EventType.paper_doc_view: (paper) Viewed Paper doc + :ivar PaperExternalViewAllowType EventType.paper_external_view_allow: + (paper) Changed Paper external sharing setting to anyone (deprecated, no + longer logged) + :ivar PaperExternalViewDefaultTeamType + EventType.paper_external_view_default_team: (paper) Changed Paper + external sharing setting to default team (deprecated, no longer logged) + :ivar PaperExternalViewForbidType EventType.paper_external_view_forbid: + (paper) Changed Paper external sharing setting to team-only (deprecated, + no longer logged) + :ivar PaperFolderChangeSubscriptionType + EventType.paper_folder_change_subscription: (paper) Followed/unfollowed + Paper folder + :ivar PaperFolderDeletedType EventType.paper_folder_deleted: (paper) + Archived Paper folder (deprecated, no longer logged) + :ivar PaperFolderFollowedType EventType.paper_folder_followed: (paper) + Followed Paper folder (deprecated, replaced by 'Followed/unfollowed + Paper folder') + :ivar PaperFolderTeamInviteType EventType.paper_folder_team_invite: (paper) + Shared Paper folder with member (deprecated, no longer logged) + :ivar PaperPublishedLinkCreateType EventType.paper_published_link_create: + (paper) Published doc + :ivar PaperPublishedLinkDisabledType + EventType.paper_published_link_disabled: (paper) Unpublished doc + :ivar PaperPublishedLinkViewType EventType.paper_published_link_view: + (paper) Viewed published doc + :ivar PasswordChangeType EventType.password_change: (passwords) Changed + password + :ivar PasswordResetType EventType.password_reset: (passwords) Reset password + :ivar PasswordResetAllType EventType.password_reset_all: (passwords) Reset + all team member passwords + :ivar EmmCreateExceptionsReportType EventType.emm_create_exceptions_report: + (reports) Created EMM-excluded users report + :ivar EmmCreateUsageReportType EventType.emm_create_usage_report: (reports) + Created EMM mobile app usage report + :ivar ExportMembersReportType EventType.export_members_report: (reports) + Created member data report + :ivar PaperAdminExportStartType EventType.paper_admin_export_start: + (reports) Exported all team Paper docs + :ivar SmartSyncCreateAdminPrivilegeReportType + EventType.smart_sync_create_admin_privilege_report: (reports) Created + Smart Sync non-admin devices report + :ivar TeamActivityCreateReportType EventType.team_activity_create_report: + (reports) Created team activity report + :ivar TeamActivityCreateReportFailType + EventType.team_activity_create_report_fail: (reports) Couldn't generate + team activity report + :ivar CollectionShareType EventType.collection_share: (sharing) Shared album + :ivar NoteAclInviteOnlyType EventType.note_acl_invite_only: (sharing) + Changed Paper doc to invite-only (deprecated, no longer logged) + :ivar NoteAclLinkType EventType.note_acl_link: (sharing) Changed Paper doc + to link-accessible (deprecated, no longer logged) + :ivar NoteAclTeamLinkType EventType.note_acl_team_link: (sharing) Changed + Paper doc to link-accessible for team (deprecated, no longer logged) + :ivar NoteSharedType EventType.note_shared: (sharing) Shared Paper doc + (deprecated, no longer logged) + :ivar NoteShareReceiveType EventType.note_share_receive: (sharing) Shared + received Paper doc (deprecated, no longer logged) + :ivar OpenNoteSharedType EventType.open_note_shared: (sharing) Opened shared + Paper doc (deprecated, no longer logged) + :ivar SfAddGroupType EventType.sf_add_group: (sharing) Added team to shared + folder (deprecated, no longer logged) + :ivar SfAllowNonMembersToViewSharedLinksType + EventType.sf_allow_non_members_to_view_shared_links: (sharing) Allowed + non-collaborators to view links to files in shared folder (deprecated, + no longer logged) + :ivar SfExternalInviteWarnType EventType.sf_external_invite_warn: (sharing) + Set team members to see warning before sharing folders outside team + (deprecated, no longer logged) + :ivar SfFbInviteType EventType.sf_fb_invite: (sharing) Invited Facebook + users to shared folder (deprecated, no longer logged) + :ivar SfFbInviteChangeRoleType EventType.sf_fb_invite_change_role: (sharing) + Changed Facebook user's role in shared folder (deprecated, no longer + logged) + :ivar SfFbUninviteType EventType.sf_fb_uninvite: (sharing) Uninvited + Facebook user from shared folder (deprecated, no longer logged) + :ivar SfInviteGroupType EventType.sf_invite_group: (sharing) Invited group + to shared folder (deprecated, no longer logged) + :ivar SfTeamGrantAccessType EventType.sf_team_grant_access: (sharing) + Granted access to shared folder (deprecated, no longer logged) + :ivar SfTeamInviteType EventType.sf_team_invite: (sharing) Invited team + members to shared folder (deprecated, replaced by 'Invited user to + Dropbox and added them to shared file/folder') + :ivar SfTeamInviteChangeRoleType EventType.sf_team_invite_change_role: + (sharing) Changed team member's role in shared folder (deprecated, no + longer logged) + :ivar SfTeamJoinType EventType.sf_team_join: (sharing) Joined team member's + shared folder (deprecated, no longer logged) + :ivar SfTeamJoinFromOobLinkType EventType.sf_team_join_from_oob_link: + (sharing) Joined team member's shared folder from link (deprecated, no + longer logged) + :ivar SfTeamUninviteType EventType.sf_team_uninvite: (sharing) Unshared + folder with team member (deprecated, replaced by 'Removed invitee from + shared file/folder before invite was accepted') + :ivar SharedContentAddInviteesType EventType.shared_content_add_invitees: + (sharing) Invited user to Dropbox and added them to shared file/folder + :ivar SharedContentAddLinkExpiryType + EventType.shared_content_add_link_expiry: (sharing) Added expiration + date to link for shared file/folder + :ivar SharedContentAddLinkPasswordType + EventType.shared_content_add_link_password: (sharing) Added password to + link for shared file/folder + :ivar SharedContentAddMemberType EventType.shared_content_add_member: + (sharing) Added users and/or groups to shared file/folder + :ivar SharedContentChangeDownloadsPolicyType + EventType.shared_content_change_downloads_policy: (sharing) Changed + whether members can download shared file/folder + :ivar SharedContentChangeInviteeRoleType + EventType.shared_content_change_invitee_role: (sharing) Changed access + type of invitee to shared file/folder before invite was accepted + :ivar SharedContentChangeLinkAudienceType + EventType.shared_content_change_link_audience: (sharing) Changed link + audience of shared file/folder + :ivar SharedContentChangeLinkExpiryType + EventType.shared_content_change_link_expiry: (sharing) Changed link + expiration of shared file/folder + :ivar SharedContentChangeLinkPasswordType + EventType.shared_content_change_link_password: (sharing) Changed link + password of shared file/folder + :ivar SharedContentChangeMemberRoleType + EventType.shared_content_change_member_role: (sharing) Changed access + type of shared file/folder member + :ivar SharedContentChangeViewerInfoPolicyType + EventType.shared_content_change_viewer_info_policy: (sharing) Changed + whether members can see who viewed shared file/folder + :ivar SharedContentClaimInvitationType + EventType.shared_content_claim_invitation: (sharing) Acquired membership + of shared file/folder by accepting invite + :ivar SharedContentCopyType EventType.shared_content_copy: (sharing) Copied + shared file/folder to own Dropbox + :ivar SharedContentDownloadType EventType.shared_content_download: (sharing) + Downloaded shared file/folder + :ivar SharedContentRelinquishMembershipType + EventType.shared_content_relinquish_membership: (sharing) Left shared + file/folder + :ivar SharedContentRemoveInviteesType + EventType.shared_content_remove_invitees: (sharing) Removed invitee from + shared file/folder before invite was accepted + :ivar SharedContentRemoveLinkExpiryType + EventType.shared_content_remove_link_expiry: (sharing) Removed link + expiration date of shared file/folder + :ivar SharedContentRemoveLinkPasswordType + EventType.shared_content_remove_link_password: (sharing) Removed link + password of shared file/folder + :ivar SharedContentRemoveMemberType EventType.shared_content_remove_member: + (sharing) Removed user/group from shared file/folder + :ivar SharedContentRequestAccessType + EventType.shared_content_request_access: (sharing) Requested access to + shared file/folder + :ivar SharedContentUnshareType EventType.shared_content_unshare: (sharing) + Unshared file/folder by clearing membership and turning off link + :ivar SharedContentViewType EventType.shared_content_view: (sharing) + Previewed shared file/folder + :ivar SharedFolderChangeLinkPolicyType + EventType.shared_folder_change_link_policy: (sharing) Changed who can + access shared folder via link + :ivar SharedFolderChangeMembersInheritancePolicyType + EventType.shared_folder_change_members_inheritance_policy: (sharing) + Changed whether shared folder inherits members from parent folder + :ivar SharedFolderChangeMembersManagementPolicyType + EventType.shared_folder_change_members_management_policy: (sharing) + Changed who can add/remove members of shared folder + :ivar SharedFolderChangeMembersPolicyType + EventType.shared_folder_change_members_policy: (sharing) Changed who can + become member of shared folder + :ivar SharedFolderCreateType EventType.shared_folder_create: (sharing) + Created shared folder + :ivar SharedFolderDeclineInvitationType + EventType.shared_folder_decline_invitation: (sharing) Declined team + member's invite to shared folder + :ivar SharedFolderMountType EventType.shared_folder_mount: (sharing) Added + shared folder to own Dropbox + :ivar SharedFolderNestType EventType.shared_folder_nest: (sharing) Changed + parent of shared folder + :ivar SharedFolderTransferOwnershipType + EventType.shared_folder_transfer_ownership: (sharing) Transferred + ownership of shared folder to another member + :ivar SharedFolderUnmountType EventType.shared_folder_unmount: (sharing) + Deleted shared folder from Dropbox + :ivar SharedLinkAddExpiryType EventType.shared_link_add_expiry: (sharing) + Added shared link expiration date + :ivar SharedLinkChangeExpiryType EventType.shared_link_change_expiry: + (sharing) Changed shared link expiration date + :ivar SharedLinkChangeVisibilityType + EventType.shared_link_change_visibility: (sharing) Changed visibility of + shared link + :ivar SharedLinkCopyType EventType.shared_link_copy: (sharing) Added + file/folder to Dropbox from shared link + :ivar SharedLinkCreateType EventType.shared_link_create: (sharing) Created + shared link + :ivar SharedLinkDisableType EventType.shared_link_disable: (sharing) Removed + shared link + :ivar SharedLinkDownloadType EventType.shared_link_download: (sharing) + Downloaded file/folder from shared link + :ivar SharedLinkRemoveExpiryType EventType.shared_link_remove_expiry: + (sharing) Removed shared link expiration date + :ivar SharedLinkShareType EventType.shared_link_share: (sharing) Added + members as audience of shared link + :ivar SharedLinkViewType EventType.shared_link_view: (sharing) Opened shared + link + :ivar SharedNoteOpenedType EventType.shared_note_opened: (sharing) Opened + shared Paper doc (deprecated, no longer logged) + :ivar ShmodelGroupShareType EventType.shmodel_group_share: (sharing) Shared + link with group (deprecated, no longer logged) + :ivar ShowcaseAccessGrantedType EventType.showcase_access_granted: + (showcase) Granted access to showcase + :ivar ShowcaseAddMemberType EventType.showcase_add_member: (showcase) Added + member to showcase + :ivar ShowcaseArchivedType EventType.showcase_archived: (showcase) Archived + showcase + :ivar ShowcaseCreatedType EventType.showcase_created: (showcase) Created + showcase + :ivar ShowcaseDeleteCommentType EventType.showcase_delete_comment: + (showcase) Deleted showcase comment + :ivar ShowcaseEditedType EventType.showcase_edited: (showcase) Edited + showcase + :ivar ShowcaseEditCommentType EventType.showcase_edit_comment: (showcase) + Edited showcase comment + :ivar ShowcaseFileAddedType EventType.showcase_file_added: (showcase) Added + file to showcase + :ivar ShowcaseFileDownloadType EventType.showcase_file_download: (showcase) + Downloaded file from showcase + :ivar ShowcaseFileRemovedType EventType.showcase_file_removed: (showcase) + Removed file from showcase + :ivar ShowcaseFileViewType EventType.showcase_file_view: (showcase) Viewed + file in showcase + :ivar ShowcasePermanentlyDeletedType EventType.showcase_permanently_deleted: + (showcase) Permanently deleted showcase + :ivar ShowcasePostCommentType EventType.showcase_post_comment: (showcase) + Added showcase comment + :ivar ShowcaseRemoveMemberType EventType.showcase_remove_member: (showcase) + Removed member from showcase + :ivar ShowcaseRenamedType EventType.showcase_renamed: (showcase) Renamed + showcase + :ivar ShowcaseRequestAccessType EventType.showcase_request_access: + (showcase) Requested access to showcase + :ivar ShowcaseResolveCommentType EventType.showcase_resolve_comment: + (showcase) Resolved showcase comment + :ivar ShowcaseRestoredType EventType.showcase_restored: (showcase) + Unarchived showcase + :ivar ShowcaseTrashedType EventType.showcase_trashed: (showcase) Deleted + showcase + :ivar ShowcaseTrashedDeprecatedType EventType.showcase_trashed_deprecated: + (showcase) Deleted showcase (old version) (deprecated, replaced by + 'Deleted showcase') + :ivar ShowcaseUnresolveCommentType EventType.showcase_unresolve_comment: + (showcase) Unresolved showcase comment + :ivar ShowcaseUntrashedType EventType.showcase_untrashed: (showcase) + Restored showcase + :ivar ShowcaseUntrashedDeprecatedType + EventType.showcase_untrashed_deprecated: (showcase) Restored showcase + (old version) (deprecated, replaced by 'Restored showcase') + :ivar ShowcaseViewType EventType.showcase_view: (showcase) Viewed showcase + :ivar SsoAddCertType EventType.sso_add_cert: (sso) Added X.509 certificate + for SSO + :ivar SsoAddLoginUrlType EventType.sso_add_login_url: (sso) Added sign-in + URL for SSO + :ivar SsoAddLogoutUrlType EventType.sso_add_logout_url: (sso) Added sign-out + URL for SSO + :ivar SsoChangeCertType EventType.sso_change_cert: (sso) Changed X.509 + certificate for SSO + :ivar SsoChangeLoginUrlType EventType.sso_change_login_url: (sso) Changed + sign-in URL for SSO + :ivar SsoChangeLogoutUrlType EventType.sso_change_logout_url: (sso) Changed + sign-out URL for SSO + :ivar SsoChangeSamlIdentityModeType EventType.sso_change_saml_identity_mode: + (sso) Changed SAML identity mode for SSO + :ivar SsoRemoveCertType EventType.sso_remove_cert: (sso) Removed X.509 + certificate for SSO + :ivar SsoRemoveLoginUrlType EventType.sso_remove_login_url: (sso) Removed + sign-in URL for SSO + :ivar SsoRemoveLogoutUrlType EventType.sso_remove_logout_url: (sso) Removed + sign-out URL for SSO + :ivar TeamFolderChangeStatusType EventType.team_folder_change_status: + (team_folders) Changed archival status of team folder + :ivar TeamFolderCreateType EventType.team_folder_create: (team_folders) + Created team folder in active status + :ivar TeamFolderDowngradeType EventType.team_folder_downgrade: + (team_folders) Downgraded team folder to regular shared folder + :ivar TeamFolderPermanentlyDeleteType + EventType.team_folder_permanently_delete: (team_folders) Permanently + deleted archived team folder + :ivar TeamFolderRenameType EventType.team_folder_rename: (team_folders) + Renamed active/archived team folder + :ivar TeamSelectiveSyncSettingsChangedType + EventType.team_selective_sync_settings_changed: (team_folders) Changed + sync default + :ivar AccountCaptureChangePolicyType + EventType.account_capture_change_policy: (team_policies) Changed account + capture setting on team domain + :ivar AllowDownloadDisabledType EventType.allow_download_disabled: + (team_policies) Disabled downloads (deprecated, no longer logged) + :ivar AllowDownloadEnabledType EventType.allow_download_enabled: + (team_policies) Enabled downloads (deprecated, no longer logged) + :ivar CameraUploadsPolicyChangedType + EventType.camera_uploads_policy_changed: (team_policies) Changed camera + uploads setting for team + :ivar DataPlacementRestrictionChangePolicyType + EventType.data_placement_restriction_change_policy: (team_policies) Set + restrictions on data center locations where team data resides + :ivar DataPlacementRestrictionSatisfyPolicyType + EventType.data_placement_restriction_satisfy_policy: (team_policies) + Completed restrictions on data center locations where team data resides + :ivar DeviceApprovalsChangeDesktopPolicyType + EventType.device_approvals_change_desktop_policy: (team_policies) + Set/removed limit on number of computers member can link to team Dropbox + account + :ivar DeviceApprovalsChangeMobilePolicyType + EventType.device_approvals_change_mobile_policy: (team_policies) + Set/removed limit on number of mobile devices member can link to team + Dropbox account + :ivar DeviceApprovalsChangeOverageActionType + EventType.device_approvals_change_overage_action: (team_policies) + Changed device approvals setting when member is over limit + :ivar DeviceApprovalsChangeUnlinkActionType + EventType.device_approvals_change_unlink_action: (team_policies) Changed + device approvals setting when member unlinks approved device + :ivar DirectoryRestrictionsAddMembersType + EventType.directory_restrictions_add_members: (team_policies) Added + members to directory restrictions list + :ivar DirectoryRestrictionsRemoveMembersType + EventType.directory_restrictions_remove_members: (team_policies) Removed + members from directory restrictions list + :ivar EmmAddExceptionType EventType.emm_add_exception: (team_policies) Added + members to EMM exception list + :ivar EmmChangePolicyType EventType.emm_change_policy: (team_policies) + Enabled/disabled enterprise mobility management for members + :ivar EmmRemoveExceptionType EventType.emm_remove_exception: (team_policies) + Removed members from EMM exception list + :ivar ExtendedVersionHistoryChangePolicyType + EventType.extended_version_history_change_policy: (team_policies) + Accepted/opted out of extended version history + :ivar FileCommentsChangePolicyType EventType.file_comments_change_policy: + (team_policies) Enabled/disabled commenting on team files + :ivar FileRequestsChangePolicyType EventType.file_requests_change_policy: + (team_policies) Enabled/disabled file requests + :ivar FileRequestsEmailsEnabledType EventType.file_requests_emails_enabled: + (team_policies) Enabled file request emails for everyone (deprecated, no + longer logged) + :ivar FileRequestsEmailsRestrictedToTeamOnlyType + EventType.file_requests_emails_restricted_to_team_only: (team_policies) + Enabled file request emails for team (deprecated, no longer logged) + :ivar GoogleSsoChangePolicyType EventType.google_sso_change_policy: + (team_policies) Enabled/disabled Google single sign-on for team + :ivar GroupUserManagementChangePolicyType + EventType.group_user_management_change_policy: (team_policies) Changed + who can create groups + :ivar IntegrationPolicyChangedType EventType.integration_policy_changed: + (team_policies) Changed integration policy for team + :ivar MemberRequestsChangePolicyType + EventType.member_requests_change_policy: (team_policies) Changed whether + users can find team when not invited + :ivar MemberSpaceLimitsAddExceptionType + EventType.member_space_limits_add_exception: (team_policies) Added + members to member space limit exception list + :ivar MemberSpaceLimitsChangeCapsTypePolicyType + EventType.member_space_limits_change_caps_type_policy: (team_policies) + Changed member space limit type for team + :ivar MemberSpaceLimitsChangePolicyType + EventType.member_space_limits_change_policy: (team_policies) Changed + team default member space limit + :ivar MemberSpaceLimitsRemoveExceptionType + EventType.member_space_limits_remove_exception: (team_policies) Removed + members from member space limit exception list + :ivar MemberSuggestionsChangePolicyType + EventType.member_suggestions_change_policy: (team_policies) + Enabled/disabled option for team members to suggest people to add to + team + :ivar MicrosoftOfficeAddinChangePolicyType + EventType.microsoft_office_addin_change_policy: (team_policies) + Enabled/disabled Microsoft Office add-in + :ivar NetworkControlChangePolicyType + EventType.network_control_change_policy: (team_policies) + Enabled/disabled network control + :ivar PaperChangeDeploymentPolicyType + EventType.paper_change_deployment_policy: (team_policies) Changed + whether Dropbox Paper, when enabled, is deployed to all members or to + specific members + :ivar PaperChangeMemberLinkPolicyType + EventType.paper_change_member_link_policy: (team_policies) Changed + whether non-members can view Paper docs with link (deprecated, no longer + logged) + :ivar PaperChangeMemberPolicyType EventType.paper_change_member_policy: + (team_policies) Changed whether members can share Paper docs outside + team, and if docs are accessible only by team members or anyone by + default + :ivar PaperChangePolicyType EventType.paper_change_policy: (team_policies) + Enabled/disabled Dropbox Paper for team + :ivar PaperDefaultFolderPolicyChangedType + EventType.paper_default_folder_policy_changed: (team_policies) Changed + Paper Default Folder Policy setting for team + :ivar PaperDesktopPolicyChangedType EventType.paper_desktop_policy_changed: + (team_policies) Enabled/disabled Paper Desktop for team + :ivar PaperEnabledUsersGroupAdditionType + EventType.paper_enabled_users_group_addition: (team_policies) Added + users to Paper-enabled users list + :ivar PaperEnabledUsersGroupRemovalType + EventType.paper_enabled_users_group_removal: (team_policies) Removed + users from Paper-enabled users list + :ivar PermanentDeleteChangePolicyType + EventType.permanent_delete_change_policy: (team_policies) + Enabled/disabled ability of team members to permanently delete content + :ivar ResellerSupportChangePolicyType + EventType.reseller_support_change_policy: (team_policies) + Enabled/disabled reseller support + :ivar SharingChangeFolderJoinPolicyType + EventType.sharing_change_folder_join_policy: (team_policies) Changed + whether team members can join shared folders owned outside team + :ivar SharingChangeLinkPolicyType EventType.sharing_change_link_policy: + (team_policies) Changed whether members can share links outside team, + and if links are accessible only by team members or anyone by default + :ivar SharingChangeMemberPolicyType EventType.sharing_change_member_policy: + (team_policies) Changed whether members can share files/folders outside + team + :ivar ShowcaseChangeDownloadPolicyType + EventType.showcase_change_download_policy: (team_policies) + Enabled/disabled downloading files from Dropbox Showcase for team + :ivar ShowcaseChangeEnabledPolicyType + EventType.showcase_change_enabled_policy: (team_policies) + Enabled/disabled Dropbox Showcase for team + :ivar ShowcaseChangeExternalSharingPolicyType + EventType.showcase_change_external_sharing_policy: (team_policies) + Enabled/disabled sharing Dropbox Showcase externally for team + :ivar SmartSyncChangePolicyType EventType.smart_sync_change_policy: + (team_policies) Changed default Smart Sync setting for team members + :ivar SmartSyncNotOptOutType EventType.smart_sync_not_opt_out: + (team_policies) Opted team into Smart Sync + :ivar SmartSyncOptOutType EventType.smart_sync_opt_out: (team_policies) + Opted team out of Smart Sync + :ivar SsoChangePolicyType EventType.sso_change_policy: (team_policies) + Changed single sign-on setting for team + :ivar TeamExtensionsPolicyChangedType + EventType.team_extensions_policy_changed: (team_policies) Changed App + Integrations setting for team + :ivar TeamSelectiveSyncPolicyChangedType + EventType.team_selective_sync_policy_changed: (team_policies) + Enabled/disabled Team Selective Sync for team + :ivar TfaChangePolicyType EventType.tfa_change_policy: (team_policies) + Changed two-step verification setting for team + :ivar TwoAccountChangePolicyType EventType.two_account_change_policy: + (team_policies) Enabled/disabled option for members to link personal + Dropbox account and team account to same computer + :ivar ViewerInfoPolicyChangedType EventType.viewer_info_policy_changed: + (team_policies) Changed team policy for viewer info + :ivar WebSessionsChangeFixedLengthPolicyType + EventType.web_sessions_change_fixed_length_policy: (team_policies) + Changed how long members can stay signed in to Dropbox.com + :ivar WebSessionsChangeIdleLengthPolicyType + EventType.web_sessions_change_idle_length_policy: (team_policies) + Changed how long team members can be idle while signed in to Dropbox.com + :ivar TeamMergeFromType EventType.team_merge_from: (team_profile) Merged + another team into this team + :ivar TeamMergeToType EventType.team_merge_to: (team_profile) Merged this + team into another team + :ivar TeamProfileAddLogoType EventType.team_profile_add_logo: (team_profile) + Added team logo to display on shared link headers + :ivar TeamProfileChangeDefaultLanguageType + EventType.team_profile_change_default_language: (team_profile) Changed + default language for team + :ivar TeamProfileChangeLogoType EventType.team_profile_change_logo: + (team_profile) Changed team logo displayed on shared link headers + :ivar TeamProfileChangeNameType EventType.team_profile_change_name: + (team_profile) Changed team name + :ivar TeamProfileRemoveLogoType EventType.team_profile_remove_logo: + (team_profile) Removed team logo displayed on shared link headers + :ivar TfaAddBackupPhoneType EventType.tfa_add_backup_phone: (tfa) Added + backup phone for two-step verification + :ivar TfaAddSecurityKeyType EventType.tfa_add_security_key: (tfa) Added + security key for two-step verification + :ivar TfaChangeBackupPhoneType EventType.tfa_change_backup_phone: (tfa) + Changed backup phone for two-step verification + :ivar TfaChangeStatusType EventType.tfa_change_status: (tfa) + Enabled/disabled/changed two-step verification setting + :ivar TfaRemoveBackupPhoneType EventType.tfa_remove_backup_phone: (tfa) + Removed backup phone for two-step verification + :ivar TfaRemoveSecurityKeyType EventType.tfa_remove_security_key: (tfa) + Removed security key for two-step verification + :ivar TfaResetType EventType.tfa_reset: (tfa) Reset two-step verification + for team member + :ivar GuestAdminChangeStatusType EventType.guest_admin_change_status: + (trusted_teams) Changed guest team admin status + :ivar TeamMergeRequestAcceptedType EventType.team_merge_request_accepted: + (trusted_teams) Accepted a team merge request + :ivar TeamMergeRequestAcceptedShownToPrimaryTeamType + EventType.team_merge_request_accepted_shown_to_primary_team: + (trusted_teams) Accepted a team merge request (deprecated, replaced by + 'Accepted a team merge request') + :ivar TeamMergeRequestAcceptedShownToSecondaryTeamType + EventType.team_merge_request_accepted_shown_to_secondary_team: + (trusted_teams) Accepted a team merge request (deprecated, replaced by + 'Accepted a team merge request') + :ivar TeamMergeRequestAutoCanceledType + EventType.team_merge_request_auto_canceled: (trusted_teams) + Automatically canceled team merge request + :ivar TeamMergeRequestCanceledType EventType.team_merge_request_canceled: + (trusted_teams) Canceled a team merge request + :ivar TeamMergeRequestCanceledShownToPrimaryTeamType + EventType.team_merge_request_canceled_shown_to_primary_team: + (trusted_teams) Canceled a team merge request (deprecated, replaced by + 'Canceled a team merge request') + :ivar TeamMergeRequestCanceledShownToSecondaryTeamType + EventType.team_merge_request_canceled_shown_to_secondary_team: + (trusted_teams) Canceled a team merge request (deprecated, replaced by + 'Canceled a team merge request') + :ivar TeamMergeRequestExpiredType EventType.team_merge_request_expired: + (trusted_teams) Team merge request expired + :ivar TeamMergeRequestExpiredShownToPrimaryTeamType + EventType.team_merge_request_expired_shown_to_primary_team: + (trusted_teams) Team merge request expired (deprecated, replaced by + 'Team merge request expired') + :ivar TeamMergeRequestExpiredShownToSecondaryTeamType + EventType.team_merge_request_expired_shown_to_secondary_team: + (trusted_teams) Team merge request expired (deprecated, replaced by + 'Team merge request expired') + :ivar TeamMergeRequestRejectedShownToPrimaryTeamType + EventType.team_merge_request_rejected_shown_to_primary_team: + (trusted_teams) Rejected a team merge request (deprecated, no longer + logged) + :ivar TeamMergeRequestRejectedShownToSecondaryTeamType + EventType.team_merge_request_rejected_shown_to_secondary_team: + (trusted_teams) Rejected a team merge request (deprecated, no longer + logged) + :ivar TeamMergeRequestReminderType EventType.team_merge_request_reminder: + (trusted_teams) Sent a team merge request reminder + :ivar TeamMergeRequestReminderShownToPrimaryTeamType + EventType.team_merge_request_reminder_shown_to_primary_team: + (trusted_teams) Sent a team merge request reminder (deprecated, replaced + by 'Sent a team merge request reminder') + :ivar TeamMergeRequestReminderShownToSecondaryTeamType + EventType.team_merge_request_reminder_shown_to_secondary_team: + (trusted_teams) Sent a team merge request reminder (deprecated, replaced + by 'Sent a team merge request reminder') + :ivar TeamMergeRequestRevokedType EventType.team_merge_request_revoked: + (trusted_teams) Canceled the team merge + :ivar TeamMergeRequestSentShownToPrimaryTeamType + EventType.team_merge_request_sent_shown_to_primary_team: (trusted_teams) + Requested to merge their Dropbox team into yours + :ivar TeamMergeRequestSentShownToSecondaryTeamType + EventType.team_merge_request_sent_shown_to_secondary_team: + (trusted_teams) Requested to merge your team into another Dropbox team """ _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_admin_export_start = 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_from = None - # Attribute is overwritten below the class definition - team_merge_to = 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 - file_add_comment = None - # Attribute is overwritten below the class definition - file_change_comment_subscription = None - # Attribute is overwritten below the class definition - file_delete_comment = None - # Attribute is overwritten below the class definition - file_like_comment = None - # Attribute is overwritten below the class definition - file_resolve_comment = None - # Attribute is overwritten below the class definition - file_unlike_comment = None - # Attribute is overwritten below the class definition - file_unresolve_comment = 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_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_admin_role = 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_status = None - # Attribute is overwritten below the class definition - member_suggest = 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_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_change_subscription = 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_trashed = None - # Attribute is overwritten below the class definition - paper_doc_unresolve_comment = None - # Attribute is overwritten below the class definition - paper_doc_untrashed = None - # Attribute is overwritten below the class definition - paper_doc_view = None - # Attribute is overwritten below the class definition - paper_folder_change_subscription = 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 - 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 - sso_add_cert = None - # Attribute is overwritten below the class definition - sso_add_login_url = None - # Attribute is overwritten below the class definition - sso_add_logout_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 - sso_remove_cert = None - # Attribute is overwritten below the class definition - sso_remove_login_url = None - # Attribute is overwritten below the class definition - sso_remove_logout_url = 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_link_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 - smart_sync_not_opt_out = None - # Attribute is overwritten below the class definition - smart_sync_opt_out = 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_default_language = 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): + @classmethod + def app_link_team(cls, val): """ - Check if the union tag is ``member_change_membership_type``. + Create an instance of this class set to the ``app_link_team`` tag with + value ``val``. - :rtype: bool + :param AppLinkTeamType val: + :rtype: EventType """ - return self._tag == 'member_change_membership_type' + return cls('app_link_team', val) - def is_member_permanently_delete_account_contents(self): + @classmethod + def app_link_user(cls, val): """ - Check if the union tag is ``member_permanently_delete_account_contents``. + Create an instance of this class set to the ``app_link_user`` tag with + value ``val``. - :rtype: bool + :param AppLinkUserType val: + :rtype: EventType """ - return self._tag == 'member_permanently_delete_account_contents' + return cls('app_link_user', val) - def is_member_space_limits_change_status(self): + @classmethod + def app_unlink_team(cls, val): """ - Check if the union tag is ``member_space_limits_change_status``. + Create an instance of this class set to the ``app_unlink_team`` tag with + value ``val``. - :rtype: bool + :param AppUnlinkTeamType val: + :rtype: EventType """ - return self._tag == 'member_space_limits_change_status' + return cls('app_unlink_team', val) - def is_member_transfer_account_contents(self): + @classmethod + def app_unlink_user(cls, val): """ - Check if the union tag is ``member_transfer_account_contents``. + Create an instance of this class set to the ``app_unlink_user`` tag with + value ``val``. - :rtype: bool + :param AppUnlinkUserType val: + :rtype: EventType """ - return self._tag == 'member_transfer_account_contents' + return cls('app_unlink_user', val) - def is_paper_admin_export_start(self): + @classmethod + def integration_connected(cls, val): """ - Check if the union tag is ``paper_admin_export_start``. + Create an instance of this class set to the ``integration_connected`` + tag with value ``val``. - :rtype: bool + :param IntegrationConnectedType val: + :rtype: EventType """ - return self._tag == 'paper_admin_export_start' + return cls('integration_connected', val) - def is_paper_enabled_users_group_addition(self): + @classmethod + def integration_disconnected(cls, val): """ - Check if the union tag is ``paper_enabled_users_group_addition``. + Create an instance of this class set to the ``integration_disconnected`` + tag with value ``val``. - :rtype: bool + :param IntegrationDisconnectedType val: + :rtype: EventType """ - return self._tag == 'paper_enabled_users_group_addition' + return cls('integration_disconnected', val) - def is_paper_enabled_users_group_removal(self): + @classmethod + def file_add_comment(cls, val): """ - Check if the union tag is ``paper_enabled_users_group_removal``. + Create an instance of this class set to the ``file_add_comment`` tag + with value ``val``. - :rtype: bool + :param FileAddCommentType val: + :rtype: EventType """ - return self._tag == 'paper_enabled_users_group_removal' + return cls('file_add_comment', val) - def is_paper_external_view_allow(self): + @classmethod + def file_change_comment_subscription(cls, val): """ - Check if the union tag is ``paper_external_view_allow``. + Create an instance of this class set to the + ``file_change_comment_subscription`` tag with value ``val``. - :rtype: bool + :param FileChangeCommentSubscriptionType val: + :rtype: EventType """ - return self._tag == 'paper_external_view_allow' + return cls('file_change_comment_subscription', val) - def is_paper_external_view_default_team(self): + @classmethod + def file_delete_comment(cls, val): """ - Check if the union tag is ``paper_external_view_default_team``. + Create an instance of this class set to the ``file_delete_comment`` tag + with value ``val``. - :rtype: bool + :param FileDeleteCommentType val: + :rtype: EventType """ - return self._tag == 'paper_external_view_default_team' + return cls('file_delete_comment', val) - def is_paper_external_view_forbid(self): + @classmethod + def file_edit_comment(cls, val): """ - Check if the union tag is ``paper_external_view_forbid``. + Create an instance of this class set to the ``file_edit_comment`` tag + with value ``val``. - :rtype: bool + :param FileEditCommentType val: + :rtype: EventType """ - return self._tag == 'paper_external_view_forbid' + return cls('file_edit_comment', val) - def is_sf_external_invite_warn(self): + @classmethod + def file_like_comment(cls, val): """ - Check if the union tag is ``sf_external_invite_warn``. + Create an instance of this class set to the ``file_like_comment`` tag + with value ``val``. - :rtype: bool + :param FileLikeCommentType val: + :rtype: EventType """ - return self._tag == 'sf_external_invite_warn' + return cls('file_like_comment', val) - def is_team_merge_from(self): + @classmethod + def file_resolve_comment(cls, val): """ - Check if the union tag is ``team_merge_from``. + Create an instance of this class set to the ``file_resolve_comment`` tag + with value ``val``. - :rtype: bool + :param FileResolveCommentType val: + :rtype: EventType """ - return self._tag == 'team_merge_from' + return cls('file_resolve_comment', val) - def is_team_merge_to(self): + @classmethod + def file_unlike_comment(cls, val): """ - Check if the union tag is ``team_merge_to``. + Create an instance of this class set to the ``file_unlike_comment`` tag + with value ``val``. - :rtype: bool + :param FileUnlikeCommentType val: + :rtype: EventType """ - return self._tag == 'team_merge_to' + return cls('file_unlike_comment', val) + + @classmethod + def file_unresolve_comment(cls, val): + """ + Create an instance of this class set to the ``file_unresolve_comment`` + tag with value ``val``. + + :param FileUnresolveCommentType val: + :rtype: EventType + """ + return cls('file_unresolve_comment', val) + + @classmethod + def device_change_ip_desktop(cls, val): + """ + Create an instance of this class set to the ``device_change_ip_desktop`` + tag with value ``val``. + + :param DeviceChangeIpDesktopType val: + :rtype: EventType + """ + return cls('device_change_ip_desktop', val) + + @classmethod + def device_change_ip_mobile(cls, val): + """ + Create an instance of this class set to the ``device_change_ip_mobile`` + tag with value ``val``. + + :param DeviceChangeIpMobileType val: + :rtype: EventType + """ + return cls('device_change_ip_mobile', val) + + @classmethod + def device_change_ip_web(cls, val): + """ + Create an instance of this class set to the ``device_change_ip_web`` tag + with value ``val``. + + :param DeviceChangeIpWebType val: + :rtype: EventType + """ + return cls('device_change_ip_web', val) + + @classmethod + def device_delete_on_unlink_fail(cls, val): + """ + Create an instance of this class set to the + ``device_delete_on_unlink_fail`` tag with value ``val``. + + :param DeviceDeleteOnUnlinkFailType val: + :rtype: EventType + """ + return cls('device_delete_on_unlink_fail', val) + + @classmethod + def device_delete_on_unlink_success(cls, val): + """ + Create an instance of this class set to the + ``device_delete_on_unlink_success`` tag with value ``val``. + + :param DeviceDeleteOnUnlinkSuccessType val: + :rtype: EventType + """ + return cls('device_delete_on_unlink_success', val) + + @classmethod + def device_link_fail(cls, val): + """ + Create an instance of this class set to the ``device_link_fail`` tag + with value ``val``. + + :param DeviceLinkFailType val: + :rtype: EventType + """ + return cls('device_link_fail', val) + + @classmethod + def device_link_success(cls, val): + """ + Create an instance of this class set to the ``device_link_success`` tag + with value ``val``. + + :param DeviceLinkSuccessType val: + :rtype: EventType + """ + return cls('device_link_success', val) + + @classmethod + def device_management_disabled(cls, val): + """ + Create an instance of this class set to the + ``device_management_disabled`` tag with value ``val``. + + :param DeviceManagementDisabledType val: + :rtype: EventType + """ + return cls('device_management_disabled', val) + + @classmethod + def device_management_enabled(cls, val): + """ + Create an instance of this class set to the + ``device_management_enabled`` tag with value ``val``. + + :param DeviceManagementEnabledType val: + :rtype: EventType + """ + return cls('device_management_enabled', val) + + @classmethod + def device_unlink(cls, val): + """ + Create an instance of this class set to the ``device_unlink`` tag with + value ``val``. + + :param DeviceUnlinkType val: + :rtype: EventType + """ + return cls('device_unlink', val) + + @classmethod + def emm_refresh_auth_token(cls, val): + """ + Create an instance of this class set to the ``emm_refresh_auth_token`` + tag with value ``val``. + + :param EmmRefreshAuthTokenType val: + :rtype: EventType + """ + return cls('emm_refresh_auth_token', val) + + @classmethod + def account_capture_change_availability(cls, val): + """ + Create an instance of this class set to the + ``account_capture_change_availability`` tag with value ``val``. + + :param AccountCaptureChangeAvailabilityType val: + :rtype: EventType + """ + return cls('account_capture_change_availability', val) + + @classmethod + def account_capture_migrate_account(cls, val): + """ + Create an instance of this class set to the + ``account_capture_migrate_account`` tag with value ``val``. + + :param AccountCaptureMigrateAccountType val: + :rtype: EventType + """ + return cls('account_capture_migrate_account', val) + + @classmethod + def account_capture_notification_emails_sent(cls, val): + """ + Create an instance of this class set to the + ``account_capture_notification_emails_sent`` tag with value ``val``. + + :param AccountCaptureNotificationEmailsSentType val: + :rtype: EventType + """ + return cls('account_capture_notification_emails_sent', val) + + @classmethod + def account_capture_relinquish_account(cls, val): + """ + Create an instance of this class set to the + ``account_capture_relinquish_account`` tag with value ``val``. + + :param AccountCaptureRelinquishAccountType val: + :rtype: EventType + """ + return cls('account_capture_relinquish_account', val) + + @classmethod + def disabled_domain_invites(cls, val): + """ + Create an instance of this class set to the ``disabled_domain_invites`` + tag with value ``val``. + + :param DisabledDomainInvitesType val: + :rtype: EventType + """ + return cls('disabled_domain_invites', val) + + @classmethod + def domain_invites_approve_request_to_join_team(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_approve_request_to_join_team`` tag with value ``val``. + + :param DomainInvitesApproveRequestToJoinTeamType val: + :rtype: EventType + """ + return cls('domain_invites_approve_request_to_join_team', val) + + @classmethod + def domain_invites_decline_request_to_join_team(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_decline_request_to_join_team`` tag with value ``val``. + + :param DomainInvitesDeclineRequestToJoinTeamType val: + :rtype: EventType + """ + return cls('domain_invites_decline_request_to_join_team', val) + + @classmethod + def domain_invites_email_existing_users(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_email_existing_users`` tag with value ``val``. + + :param DomainInvitesEmailExistingUsersType val: + :rtype: EventType + """ + return cls('domain_invites_email_existing_users', val) + + @classmethod + def domain_invites_request_to_join_team(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_request_to_join_team`` tag with value ``val``. + + :param DomainInvitesRequestToJoinTeamType val: + :rtype: EventType + """ + return cls('domain_invites_request_to_join_team', val) + + @classmethod + def domain_invites_set_invite_new_user_pref_to_no(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_set_invite_new_user_pref_to_no`` tag with value + ``val``. + + :param DomainInvitesSetInviteNewUserPrefToNoType val: + :rtype: EventType + """ + return cls('domain_invites_set_invite_new_user_pref_to_no', val) + + @classmethod + def domain_invites_set_invite_new_user_pref_to_yes(cls, val): + """ + Create an instance of this class set to the + ``domain_invites_set_invite_new_user_pref_to_yes`` tag with value + ``val``. + + :param DomainInvitesSetInviteNewUserPrefToYesType val: + :rtype: EventType + """ + return cls('domain_invites_set_invite_new_user_pref_to_yes', val) + + @classmethod + def domain_verification_add_domain_fail(cls, val): + """ + Create an instance of this class set to the + ``domain_verification_add_domain_fail`` tag with value ``val``. + + :param DomainVerificationAddDomainFailType val: + :rtype: EventType + """ + return cls('domain_verification_add_domain_fail', val) + + @classmethod + def domain_verification_add_domain_success(cls, val): + """ + Create an instance of this class set to the + ``domain_verification_add_domain_success`` tag with value ``val``. + + :param DomainVerificationAddDomainSuccessType val: + :rtype: EventType + """ + return cls('domain_verification_add_domain_success', val) + + @classmethod + def domain_verification_remove_domain(cls, val): + """ + Create an instance of this class set to the + ``domain_verification_remove_domain`` tag with value ``val``. + + :param DomainVerificationRemoveDomainType val: + :rtype: EventType + """ + return cls('domain_verification_remove_domain', val) + + @classmethod + def enabled_domain_invites(cls, val): + """ + Create an instance of this class set to the ``enabled_domain_invites`` + tag with value ``val``. + + :param EnabledDomainInvitesType val: + :rtype: EventType + """ + return cls('enabled_domain_invites', val) + + @classmethod + def create_folder(cls, val): + """ + Create an instance of this class set to the ``create_folder`` tag with + value ``val``. + + :param CreateFolderType val: + :rtype: EventType + """ + return cls('create_folder', val) + + @classmethod + def file_add(cls, val): + """ + Create an instance of this class set to the ``file_add`` tag with value + ``val``. + + :param FileAddType val: + :rtype: EventType + """ + return cls('file_add', val) + + @classmethod + def file_copy(cls, val): + """ + Create an instance of this class set to the ``file_copy`` tag with value + ``val``. + + :param FileCopyType val: + :rtype: EventType + """ + return cls('file_copy', val) + + @classmethod + def file_delete(cls, val): + """ + Create an instance of this class set to the ``file_delete`` tag with + value ``val``. + + :param FileDeleteType val: + :rtype: EventType + """ + return cls('file_delete', val) + + @classmethod + def file_download(cls, val): + """ + Create an instance of this class set to the ``file_download`` tag with + value ``val``. + + :param FileDownloadType val: + :rtype: EventType + """ + return cls('file_download', val) + + @classmethod + def file_edit(cls, val): + """ + Create an instance of this class set to the ``file_edit`` tag with value + ``val``. + + :param FileEditType val: + :rtype: EventType + """ + return cls('file_edit', val) + + @classmethod + def file_get_copy_reference(cls, val): + """ + Create an instance of this class set to the ``file_get_copy_reference`` + tag with value ``val``. + + :param FileGetCopyReferenceType val: + :rtype: EventType + """ + return cls('file_get_copy_reference', val) + + @classmethod + def file_move(cls, val): + """ + Create an instance of this class set to the ``file_move`` tag with value + ``val``. + + :param FileMoveType val: + :rtype: EventType + """ + return cls('file_move', val) + + @classmethod + def file_permanently_delete(cls, val): + """ + Create an instance of this class set to the ``file_permanently_delete`` + tag with value ``val``. + + :param FilePermanentlyDeleteType val: + :rtype: EventType + """ + return cls('file_permanently_delete', val) + + @classmethod + def file_preview(cls, val): + """ + Create an instance of this class set to the ``file_preview`` tag with + value ``val``. + + :param FilePreviewType val: + :rtype: EventType + """ + return cls('file_preview', val) + + @classmethod + def file_rename(cls, val): + """ + Create an instance of this class set to the ``file_rename`` tag with + value ``val``. + + :param FileRenameType val: + :rtype: EventType + """ + return cls('file_rename', val) + + @classmethod + def file_restore(cls, val): + """ + Create an instance of this class set to the ``file_restore`` tag with + value ``val``. + + :param FileRestoreType val: + :rtype: EventType + """ + return cls('file_restore', val) + + @classmethod + def file_revert(cls, val): + """ + Create an instance of this class set to the ``file_revert`` tag with + value ``val``. + + :param FileRevertType val: + :rtype: EventType + """ + return cls('file_revert', val) + + @classmethod + def file_rollback_changes(cls, val): + """ + Create an instance of this class set to the ``file_rollback_changes`` + tag with value ``val``. + + :param FileRollbackChangesType val: + :rtype: EventType + """ + return cls('file_rollback_changes', val) + + @classmethod + def file_save_copy_reference(cls, val): + """ + Create an instance of this class set to the ``file_save_copy_reference`` + tag with value ``val``. + + :param FileSaveCopyReferenceType val: + :rtype: EventType + """ + return cls('file_save_copy_reference', val) + + @classmethod + def file_request_change(cls, val): + """ + Create an instance of this class set to the ``file_request_change`` tag + with value ``val``. + + :param FileRequestChangeType val: + :rtype: EventType + """ + return cls('file_request_change', val) + + @classmethod + def file_request_close(cls, val): + """ + Create an instance of this class set to the ``file_request_close`` tag + with value ``val``. + + :param FileRequestCloseType val: + :rtype: EventType + """ + return cls('file_request_close', val) + + @classmethod + def file_request_create(cls, val): + """ + Create an instance of this class set to the ``file_request_create`` tag + with value ``val``. + + :param FileRequestCreateType val: + :rtype: EventType + """ + return cls('file_request_create', val) + + @classmethod + def file_request_delete(cls, val): + """ + Create an instance of this class set to the ``file_request_delete`` tag + with value ``val``. + + :param FileRequestDeleteType val: + :rtype: EventType + """ + return cls('file_request_delete', val) + + @classmethod + def file_request_receive_file(cls, val): + """ + Create an instance of this class set to the + ``file_request_receive_file`` tag with value ``val``. + + :param FileRequestReceiveFileType val: + :rtype: EventType + """ + return cls('file_request_receive_file', val) + + @classmethod + def group_add_external_id(cls, val): + """ + Create an instance of this class set to the ``group_add_external_id`` + tag with value ``val``. + + :param GroupAddExternalIdType val: + :rtype: EventType + """ + return cls('group_add_external_id', val) + + @classmethod + def group_add_member(cls, val): + """ + Create an instance of this class set to the ``group_add_member`` tag + with value ``val``. + + :param GroupAddMemberType val: + :rtype: EventType + """ + return cls('group_add_member', val) + + @classmethod + def group_change_external_id(cls, val): + """ + Create an instance of this class set to the ``group_change_external_id`` + tag with value ``val``. + + :param GroupChangeExternalIdType val: + :rtype: EventType + """ + return cls('group_change_external_id', val) + + @classmethod + def group_change_management_type(cls, val): + """ + Create an instance of this class set to the + ``group_change_management_type`` tag with value ``val``. + + :param GroupChangeManagementTypeType val: + :rtype: EventType + """ + return cls('group_change_management_type', val) + + @classmethod + def group_change_member_role(cls, val): + """ + Create an instance of this class set to the ``group_change_member_role`` + tag with value ``val``. + + :param GroupChangeMemberRoleType val: + :rtype: EventType + """ + return cls('group_change_member_role', val) + + @classmethod + def group_create(cls, val): + """ + Create an instance of this class set to the ``group_create`` tag with + value ``val``. + + :param GroupCreateType val: + :rtype: EventType + """ + return cls('group_create', val) + + @classmethod + def group_delete(cls, val): + """ + Create an instance of this class set to the ``group_delete`` tag with + value ``val``. + + :param GroupDeleteType val: + :rtype: EventType + """ + return cls('group_delete', val) + + @classmethod + def group_description_updated(cls, val): + """ + Create an instance of this class set to the + ``group_description_updated`` tag with value ``val``. + + :param GroupDescriptionUpdatedType val: + :rtype: EventType + """ + return cls('group_description_updated', val) + + @classmethod + def group_join_policy_updated(cls, val): + """ + Create an instance of this class set to the + ``group_join_policy_updated`` tag with value ``val``. + + :param GroupJoinPolicyUpdatedType val: + :rtype: EventType + """ + return cls('group_join_policy_updated', val) + + @classmethod + def group_moved(cls, val): + """ + Create an instance of this class set to the ``group_moved`` tag with + value ``val``. + + :param GroupMovedType val: + :rtype: EventType + """ + return cls('group_moved', val) + + @classmethod + def group_remove_external_id(cls, val): + """ + Create an instance of this class set to the ``group_remove_external_id`` + tag with value ``val``. + + :param GroupRemoveExternalIdType val: + :rtype: EventType + """ + return cls('group_remove_external_id', val) + + @classmethod + def group_remove_member(cls, val): + """ + Create an instance of this class set to the ``group_remove_member`` tag + with value ``val``. + + :param GroupRemoveMemberType val: + :rtype: EventType + """ + return cls('group_remove_member', val) + + @classmethod + def group_rename(cls, val): + """ + Create an instance of this class set to the ``group_rename`` tag with + value ``val``. + + :param GroupRenameType val: + :rtype: EventType + """ + return cls('group_rename', val) + + @classmethod + def emm_error(cls, val): + """ + Create an instance of this class set to the ``emm_error`` tag with value + ``val``. + + :param EmmErrorType val: + :rtype: EventType + """ + return cls('emm_error', val) + + @classmethod + def guest_admin_signed_in_via_trusted_teams(cls, val): + """ + Create an instance of this class set to the + ``guest_admin_signed_in_via_trusted_teams`` tag with value ``val``. + + :param GuestAdminSignedInViaTrustedTeamsType val: + :rtype: EventType + """ + return cls('guest_admin_signed_in_via_trusted_teams', val) + + @classmethod + def guest_admin_signed_out_via_trusted_teams(cls, val): + """ + Create an instance of this class set to the + ``guest_admin_signed_out_via_trusted_teams`` tag with value ``val``. + + :param GuestAdminSignedOutViaTrustedTeamsType val: + :rtype: EventType + """ + return cls('guest_admin_signed_out_via_trusted_teams', val) + + @classmethod + def login_fail(cls, val): + """ + Create an instance of this class set to the ``login_fail`` tag with + value ``val``. + + :param LoginFailType val: + :rtype: EventType + """ + return cls('login_fail', val) + + @classmethod + def login_success(cls, val): + """ + Create an instance of this class set to the ``login_success`` tag with + value ``val``. + + :param LoginSuccessType val: + :rtype: EventType + """ + return cls('login_success', val) + + @classmethod + def logout(cls, val): + """ + Create an instance of this class set to the ``logout`` tag with value + ``val``. + + :param LogoutType val: + :rtype: EventType + """ + return cls('logout', val) + + @classmethod + def reseller_support_session_end(cls, val): + """ + Create an instance of this class set to the + ``reseller_support_session_end`` tag with value ``val``. + + :param ResellerSupportSessionEndType val: + :rtype: EventType + """ + return cls('reseller_support_session_end', val) + + @classmethod + def reseller_support_session_start(cls, val): + """ + Create an instance of this class set to the + ``reseller_support_session_start`` tag with value ``val``. + + :param ResellerSupportSessionStartType val: + :rtype: EventType + """ + return cls('reseller_support_session_start', val) + + @classmethod + def sign_in_as_session_end(cls, val): + """ + Create an instance of this class set to the ``sign_in_as_session_end`` + tag with value ``val``. + + :param SignInAsSessionEndType val: + :rtype: EventType + """ + return cls('sign_in_as_session_end', val) + + @classmethod + def sign_in_as_session_start(cls, val): + """ + Create an instance of this class set to the ``sign_in_as_session_start`` + tag with value ``val``. + + :param SignInAsSessionStartType val: + :rtype: EventType + """ + return cls('sign_in_as_session_start', val) + + @classmethod + def sso_error(cls, val): + """ + Create an instance of this class set to the ``sso_error`` tag with value + ``val``. + + :param SsoErrorType val: + :rtype: EventType + """ + return cls('sso_error', val) + + @classmethod + def member_add_external_id(cls, val): + """ + Create an instance of this class set to the ``member_add_external_id`` + tag with value ``val``. + + :param MemberAddExternalIdType val: + :rtype: EventType + """ + return cls('member_add_external_id', val) + + @classmethod + def member_add_name(cls, val): + """ + Create an instance of this class set to the ``member_add_name`` tag with + value ``val``. + + :param MemberAddNameType val: + :rtype: EventType + """ + return cls('member_add_name', val) + + @classmethod + def member_change_admin_role(cls, val): + """ + Create an instance of this class set to the ``member_change_admin_role`` + tag with value ``val``. + + :param MemberChangeAdminRoleType val: + :rtype: EventType + """ + return cls('member_change_admin_role', val) + + @classmethod + def member_change_email(cls, val): + """ + Create an instance of this class set to the ``member_change_email`` tag + with value ``val``. + + :param MemberChangeEmailType val: + :rtype: EventType + """ + return cls('member_change_email', val) + + @classmethod + def member_change_external_id(cls, val): + """ + Create an instance of this class set to the + ``member_change_external_id`` tag with value ``val``. + + :param MemberChangeExternalIdType val: + :rtype: EventType + """ + return cls('member_change_external_id', val) + + @classmethod + def member_change_membership_type(cls, val): + """ + Create an instance of this class set to the + ``member_change_membership_type`` tag with value ``val``. + + :param MemberChangeMembershipTypeType val: + :rtype: EventType + """ + return cls('member_change_membership_type', val) + + @classmethod + def member_change_name(cls, val): + """ + Create an instance of this class set to the ``member_change_name`` tag + with value ``val``. + + :param MemberChangeNameType val: + :rtype: EventType + """ + return cls('member_change_name', val) + + @classmethod + def member_change_status(cls, val): + """ + Create an instance of this class set to the ``member_change_status`` tag + with value ``val``. + + :param MemberChangeStatusType val: + :rtype: EventType + """ + return cls('member_change_status', val) + + @classmethod + def member_delete_manual_contacts(cls, val): + """ + Create an instance of this class set to the + ``member_delete_manual_contacts`` tag with value ``val``. + + :param MemberDeleteManualContactsType val: + :rtype: EventType + """ + return cls('member_delete_manual_contacts', val) + + @classmethod + def member_permanently_delete_account_contents(cls, val): + """ + Create an instance of this class set to the + ``member_permanently_delete_account_contents`` tag with value ``val``. + + :param MemberPermanentlyDeleteAccountContentsType val: + :rtype: EventType + """ + return cls('member_permanently_delete_account_contents', val) + + @classmethod + def member_remove_external_id(cls, val): + """ + Create an instance of this class set to the + ``member_remove_external_id`` tag with value ``val``. + + :param MemberRemoveExternalIdType val: + :rtype: EventType + """ + return cls('member_remove_external_id', val) + + @classmethod + def member_space_limits_add_custom_quota(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_add_custom_quota`` tag with value ``val``. + + :param MemberSpaceLimitsAddCustomQuotaType val: + :rtype: EventType + """ + return cls('member_space_limits_add_custom_quota', val) + + @classmethod + def member_space_limits_change_custom_quota(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_custom_quota`` tag with value ``val``. + + :param MemberSpaceLimitsChangeCustomQuotaType val: + :rtype: EventType + """ + return cls('member_space_limits_change_custom_quota', val) + + @classmethod + def member_space_limits_change_status(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_status`` tag with value ``val``. + + :param MemberSpaceLimitsChangeStatusType val: + :rtype: EventType + """ + return cls('member_space_limits_change_status', val) + + @classmethod + def member_space_limits_remove_custom_quota(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_remove_custom_quota`` tag with value ``val``. + + :param MemberSpaceLimitsRemoveCustomQuotaType val: + :rtype: EventType + """ + return cls('member_space_limits_remove_custom_quota', val) + + @classmethod + def member_suggest(cls, val): + """ + Create an instance of this class set to the ``member_suggest`` tag with + value ``val``. + + :param MemberSuggestType val: + :rtype: EventType + """ + return cls('member_suggest', val) + + @classmethod + def member_transfer_account_contents(cls, val): + """ + Create an instance of this class set to the + ``member_transfer_account_contents`` tag with value ``val``. + + :param MemberTransferAccountContentsType val: + :rtype: EventType + """ + return cls('member_transfer_account_contents', val) + + @classmethod + def secondary_mails_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``secondary_mails_policy_changed`` tag with value ``val``. + + :param SecondaryMailsPolicyChangedType val: + :rtype: EventType + """ + return cls('secondary_mails_policy_changed', val) + + @classmethod + def paper_content_add_member(cls, val): + """ + Create an instance of this class set to the ``paper_content_add_member`` + tag with value ``val``. + + :param PaperContentAddMemberType val: + :rtype: EventType + """ + return cls('paper_content_add_member', val) + + @classmethod + def paper_content_add_to_folder(cls, val): + """ + Create an instance of this class set to the + ``paper_content_add_to_folder`` tag with value ``val``. + + :param PaperContentAddToFolderType val: + :rtype: EventType + """ + return cls('paper_content_add_to_folder', val) + + @classmethod + def paper_content_archive(cls, val): + """ + Create an instance of this class set to the ``paper_content_archive`` + tag with value ``val``. + + :param PaperContentArchiveType val: + :rtype: EventType + """ + return cls('paper_content_archive', val) + + @classmethod + def paper_content_create(cls, val): + """ + Create an instance of this class set to the ``paper_content_create`` tag + with value ``val``. + + :param PaperContentCreateType val: + :rtype: EventType + """ + return cls('paper_content_create', val) + + @classmethod + def paper_content_permanently_delete(cls, val): + """ + Create an instance of this class set to the + ``paper_content_permanently_delete`` tag with value ``val``. + + :param PaperContentPermanentlyDeleteType val: + :rtype: EventType + """ + return cls('paper_content_permanently_delete', val) + + @classmethod + def paper_content_remove_from_folder(cls, val): + """ + Create an instance of this class set to the + ``paper_content_remove_from_folder`` tag with value ``val``. + + :param PaperContentRemoveFromFolderType val: + :rtype: EventType + """ + return cls('paper_content_remove_from_folder', val) + + @classmethod + def paper_content_remove_member(cls, val): + """ + Create an instance of this class set to the + ``paper_content_remove_member`` tag with value ``val``. + + :param PaperContentRemoveMemberType val: + :rtype: EventType + """ + return cls('paper_content_remove_member', val) + + @classmethod + def paper_content_rename(cls, val): + """ + Create an instance of this class set to the ``paper_content_rename`` tag + with value ``val``. + + :param PaperContentRenameType val: + :rtype: EventType + """ + return cls('paper_content_rename', val) + + @classmethod + def paper_content_restore(cls, val): + """ + Create an instance of this class set to the ``paper_content_restore`` + tag with value ``val``. + + :param PaperContentRestoreType val: + :rtype: EventType + """ + return cls('paper_content_restore', val) + + @classmethod + def paper_doc_add_comment(cls, val): + """ + Create an instance of this class set to the ``paper_doc_add_comment`` + tag with value ``val``. + + :param PaperDocAddCommentType val: + :rtype: EventType + """ + return cls('paper_doc_add_comment', val) + + @classmethod + def paper_doc_change_member_role(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_change_member_role`` tag with value ``val``. + + :param PaperDocChangeMemberRoleType val: + :rtype: EventType + """ + return cls('paper_doc_change_member_role', val) + + @classmethod + def paper_doc_change_sharing_policy(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_change_sharing_policy`` tag with value ``val``. + + :param PaperDocChangeSharingPolicyType val: + :rtype: EventType + """ + return cls('paper_doc_change_sharing_policy', val) + + @classmethod + def paper_doc_change_subscription(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_change_subscription`` tag with value ``val``. + + :param PaperDocChangeSubscriptionType val: + :rtype: EventType + """ + return cls('paper_doc_change_subscription', val) + + @classmethod + def paper_doc_deleted(cls, val): + """ + Create an instance of this class set to the ``paper_doc_deleted`` tag + with value ``val``. + + :param PaperDocDeletedType val: + :rtype: EventType + """ + return cls('paper_doc_deleted', val) + + @classmethod + def paper_doc_delete_comment(cls, val): + """ + Create an instance of this class set to the ``paper_doc_delete_comment`` + tag with value ``val``. + + :param PaperDocDeleteCommentType val: + :rtype: EventType + """ + return cls('paper_doc_delete_comment', val) + + @classmethod + def paper_doc_download(cls, val): + """ + Create an instance of this class set to the ``paper_doc_download`` tag + with value ``val``. + + :param PaperDocDownloadType val: + :rtype: EventType + """ + return cls('paper_doc_download', val) + + @classmethod + def paper_doc_edit(cls, val): + """ + Create an instance of this class set to the ``paper_doc_edit`` tag with + value ``val``. + + :param PaperDocEditType val: + :rtype: EventType + """ + return cls('paper_doc_edit', val) + + @classmethod + def paper_doc_edit_comment(cls, val): + """ + Create an instance of this class set to the ``paper_doc_edit_comment`` + tag with value ``val``. + + :param PaperDocEditCommentType val: + :rtype: EventType + """ + return cls('paper_doc_edit_comment', val) + + @classmethod + def paper_doc_followed(cls, val): + """ + Create an instance of this class set to the ``paper_doc_followed`` tag + with value ``val``. + + :param PaperDocFollowedType val: + :rtype: EventType + """ + return cls('paper_doc_followed', val) + + @classmethod + def paper_doc_mention(cls, val): + """ + Create an instance of this class set to the ``paper_doc_mention`` tag + with value ``val``. + + :param PaperDocMentionType val: + :rtype: EventType + """ + return cls('paper_doc_mention', val) + + @classmethod + def paper_doc_ownership_changed(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_ownership_changed`` tag with value ``val``. + + :param PaperDocOwnershipChangedType val: + :rtype: EventType + """ + return cls('paper_doc_ownership_changed', val) + + @classmethod + def paper_doc_request_access(cls, val): + """ + Create an instance of this class set to the ``paper_doc_request_access`` + tag with value ``val``. + + :param PaperDocRequestAccessType val: + :rtype: EventType + """ + return cls('paper_doc_request_access', val) + + @classmethod + def paper_doc_resolve_comment(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_resolve_comment`` tag with value ``val``. + + :param PaperDocResolveCommentType val: + :rtype: EventType + """ + return cls('paper_doc_resolve_comment', val) + + @classmethod + def paper_doc_revert(cls, val): + """ + Create an instance of this class set to the ``paper_doc_revert`` tag + with value ``val``. + + :param PaperDocRevertType val: + :rtype: EventType + """ + return cls('paper_doc_revert', val) + + @classmethod + def paper_doc_slack_share(cls, val): + """ + Create an instance of this class set to the ``paper_doc_slack_share`` + tag with value ``val``. + + :param PaperDocSlackShareType val: + :rtype: EventType + """ + return cls('paper_doc_slack_share', val) + + @classmethod + def paper_doc_team_invite(cls, val): + """ + Create an instance of this class set to the ``paper_doc_team_invite`` + tag with value ``val``. + + :param PaperDocTeamInviteType val: + :rtype: EventType + """ + return cls('paper_doc_team_invite', val) + + @classmethod + def paper_doc_trashed(cls, val): + """ + Create an instance of this class set to the ``paper_doc_trashed`` tag + with value ``val``. + + :param PaperDocTrashedType val: + :rtype: EventType + """ + return cls('paper_doc_trashed', val) + + @classmethod + def paper_doc_unresolve_comment(cls, val): + """ + Create an instance of this class set to the + ``paper_doc_unresolve_comment`` tag with value ``val``. + + :param PaperDocUnresolveCommentType val: + :rtype: EventType + """ + return cls('paper_doc_unresolve_comment', val) + + @classmethod + def paper_doc_untrashed(cls, val): + """ + Create an instance of this class set to the ``paper_doc_untrashed`` tag + with value ``val``. + + :param PaperDocUntrashedType val: + :rtype: EventType + """ + return cls('paper_doc_untrashed', val) + + @classmethod + def paper_doc_view(cls, val): + """ + Create an instance of this class set to the ``paper_doc_view`` tag with + value ``val``. + + :param PaperDocViewType val: + :rtype: EventType + """ + return cls('paper_doc_view', val) + + @classmethod + def paper_external_view_allow(cls, val): + """ + Create an instance of this class set to the + ``paper_external_view_allow`` tag with value ``val``. + + :param PaperExternalViewAllowType val: + :rtype: EventType + """ + return cls('paper_external_view_allow', val) + + @classmethod + def paper_external_view_default_team(cls, val): + """ + Create an instance of this class set to the + ``paper_external_view_default_team`` tag with value ``val``. + + :param PaperExternalViewDefaultTeamType val: + :rtype: EventType + """ + return cls('paper_external_view_default_team', val) + + @classmethod + def paper_external_view_forbid(cls, val): + """ + Create an instance of this class set to the + ``paper_external_view_forbid`` tag with value ``val``. + + :param PaperExternalViewForbidType val: + :rtype: EventType + """ + return cls('paper_external_view_forbid', val) + + @classmethod + def paper_folder_change_subscription(cls, val): + """ + Create an instance of this class set to the + ``paper_folder_change_subscription`` tag with value ``val``. + + :param PaperFolderChangeSubscriptionType val: + :rtype: EventType + """ + return cls('paper_folder_change_subscription', val) + + @classmethod + def paper_folder_deleted(cls, val): + """ + Create an instance of this class set to the ``paper_folder_deleted`` tag + with value ``val``. + + :param PaperFolderDeletedType val: + :rtype: EventType + """ + return cls('paper_folder_deleted', val) + + @classmethod + def paper_folder_followed(cls, val): + """ + Create an instance of this class set to the ``paper_folder_followed`` + tag with value ``val``. + + :param PaperFolderFollowedType val: + :rtype: EventType + """ + return cls('paper_folder_followed', val) + + @classmethod + def paper_folder_team_invite(cls, val): + """ + Create an instance of this class set to the ``paper_folder_team_invite`` + tag with value ``val``. + + :param PaperFolderTeamInviteType val: + :rtype: EventType + """ + return cls('paper_folder_team_invite', val) + + @classmethod + def paper_published_link_create(cls, val): + """ + Create an instance of this class set to the + ``paper_published_link_create`` tag with value ``val``. + + :param PaperPublishedLinkCreateType val: + :rtype: EventType + """ + return cls('paper_published_link_create', val) + + @classmethod + def paper_published_link_disabled(cls, val): + """ + Create an instance of this class set to the + ``paper_published_link_disabled`` tag with value ``val``. + + :param PaperPublishedLinkDisabledType val: + :rtype: EventType + """ + return cls('paper_published_link_disabled', val) + + @classmethod + def paper_published_link_view(cls, val): + """ + Create an instance of this class set to the + ``paper_published_link_view`` tag with value ``val``. + + :param PaperPublishedLinkViewType val: + :rtype: EventType + """ + return cls('paper_published_link_view', val) + + @classmethod + def password_change(cls, val): + """ + Create an instance of this class set to the ``password_change`` tag with + value ``val``. + + :param PasswordChangeType val: + :rtype: EventType + """ + return cls('password_change', val) + + @classmethod + def password_reset(cls, val): + """ + Create an instance of this class set to the ``password_reset`` tag with + value ``val``. + + :param PasswordResetType val: + :rtype: EventType + """ + return cls('password_reset', val) + + @classmethod + def password_reset_all(cls, val): + """ + Create an instance of this class set to the ``password_reset_all`` tag + with value ``val``. + + :param PasswordResetAllType val: + :rtype: EventType + """ + return cls('password_reset_all', val) + + @classmethod + def emm_create_exceptions_report(cls, val): + """ + Create an instance of this class set to the + ``emm_create_exceptions_report`` tag with value ``val``. + + :param EmmCreateExceptionsReportType val: + :rtype: EventType + """ + return cls('emm_create_exceptions_report', val) + + @classmethod + def emm_create_usage_report(cls, val): + """ + Create an instance of this class set to the ``emm_create_usage_report`` + tag with value ``val``. + + :param EmmCreateUsageReportType val: + :rtype: EventType + """ + return cls('emm_create_usage_report', val) + + @classmethod + def export_members_report(cls, val): + """ + Create an instance of this class set to the ``export_members_report`` + tag with value ``val``. + + :param ExportMembersReportType val: + :rtype: EventType + """ + return cls('export_members_report', val) + + @classmethod + def paper_admin_export_start(cls, val): + """ + Create an instance of this class set to the ``paper_admin_export_start`` + tag with value ``val``. + + :param PaperAdminExportStartType val: + :rtype: EventType + """ + return cls('paper_admin_export_start', val) + + @classmethod + def smart_sync_create_admin_privilege_report(cls, val): + """ + Create an instance of this class set to the + ``smart_sync_create_admin_privilege_report`` tag with value ``val``. + + :param SmartSyncCreateAdminPrivilegeReportType val: + :rtype: EventType + """ + return cls('smart_sync_create_admin_privilege_report', val) + + @classmethod + def team_activity_create_report(cls, val): + """ + Create an instance of this class set to the + ``team_activity_create_report`` tag with value ``val``. + + :param TeamActivityCreateReportType val: + :rtype: EventType + """ + return cls('team_activity_create_report', val) + + @classmethod + def team_activity_create_report_fail(cls, val): + """ + Create an instance of this class set to the + ``team_activity_create_report_fail`` tag with value ``val``. + + :param TeamActivityCreateReportFailType val: + :rtype: EventType + """ + return cls('team_activity_create_report_fail', val) + + @classmethod + def collection_share(cls, val): + """ + Create an instance of this class set to the ``collection_share`` tag + with value ``val``. + + :param CollectionShareType val: + :rtype: EventType + """ + return cls('collection_share', val) + + @classmethod + def note_acl_invite_only(cls, val): + """ + Create an instance of this class set to the ``note_acl_invite_only`` tag + with value ``val``. + + :param NoteAclInviteOnlyType val: + :rtype: EventType + """ + return cls('note_acl_invite_only', val) + + @classmethod + def note_acl_link(cls, val): + """ + Create an instance of this class set to the ``note_acl_link`` tag with + value ``val``. + + :param NoteAclLinkType val: + :rtype: EventType + """ + return cls('note_acl_link', val) + + @classmethod + def note_acl_team_link(cls, val): + """ + Create an instance of this class set to the ``note_acl_team_link`` tag + with value ``val``. + + :param NoteAclTeamLinkType val: + :rtype: EventType + """ + return cls('note_acl_team_link', val) + + @classmethod + def note_shared(cls, val): + """ + Create an instance of this class set to the ``note_shared`` tag with + value ``val``. + + :param NoteSharedType val: + :rtype: EventType + """ + return cls('note_shared', val) + + @classmethod + def note_share_receive(cls, val): + """ + Create an instance of this class set to the ``note_share_receive`` tag + with value ``val``. + + :param NoteShareReceiveType val: + :rtype: EventType + """ + return cls('note_share_receive', val) + + @classmethod + def open_note_shared(cls, val): + """ + Create an instance of this class set to the ``open_note_shared`` tag + with value ``val``. + + :param OpenNoteSharedType val: + :rtype: EventType + """ + return cls('open_note_shared', val) + + @classmethod + def sf_add_group(cls, val): + """ + Create an instance of this class set to the ``sf_add_group`` tag with + value ``val``. + + :param SfAddGroupType val: + :rtype: EventType + """ + return cls('sf_add_group', val) + + @classmethod + def sf_allow_non_members_to_view_shared_links(cls, val): + """ + Create an instance of this class set to the + ``sf_allow_non_members_to_view_shared_links`` tag with value ``val``. + + :param SfAllowNonMembersToViewSharedLinksType val: + :rtype: EventType + """ + return cls('sf_allow_non_members_to_view_shared_links', val) + + @classmethod + def sf_external_invite_warn(cls, val): + """ + Create an instance of this class set to the ``sf_external_invite_warn`` + tag with value ``val``. + + :param SfExternalInviteWarnType val: + :rtype: EventType + """ + return cls('sf_external_invite_warn', val) + + @classmethod + def sf_fb_invite(cls, val): + """ + Create an instance of this class set to the ``sf_fb_invite`` tag with + value ``val``. + + :param SfFbInviteType val: + :rtype: EventType + """ + return cls('sf_fb_invite', val) + + @classmethod + def sf_fb_invite_change_role(cls, val): + """ + Create an instance of this class set to the ``sf_fb_invite_change_role`` + tag with value ``val``. + + :param SfFbInviteChangeRoleType val: + :rtype: EventType + """ + return cls('sf_fb_invite_change_role', val) + + @classmethod + def sf_fb_uninvite(cls, val): + """ + Create an instance of this class set to the ``sf_fb_uninvite`` tag with + value ``val``. + + :param SfFbUninviteType val: + :rtype: EventType + """ + return cls('sf_fb_uninvite', val) + + @classmethod + def sf_invite_group(cls, val): + """ + Create an instance of this class set to the ``sf_invite_group`` tag with + value ``val``. + + :param SfInviteGroupType val: + :rtype: EventType + """ + return cls('sf_invite_group', val) + + @classmethod + def sf_team_grant_access(cls, val): + """ + Create an instance of this class set to the ``sf_team_grant_access`` tag + with value ``val``. + + :param SfTeamGrantAccessType val: + :rtype: EventType + """ + return cls('sf_team_grant_access', val) + + @classmethod + def sf_team_invite(cls, val): + """ + Create an instance of this class set to the ``sf_team_invite`` tag with + value ``val``. + + :param SfTeamInviteType val: + :rtype: EventType + """ + return cls('sf_team_invite', val) + + @classmethod + def sf_team_invite_change_role(cls, val): + """ + Create an instance of this class set to the + ``sf_team_invite_change_role`` tag with value ``val``. + + :param SfTeamInviteChangeRoleType val: + :rtype: EventType + """ + return cls('sf_team_invite_change_role', val) + + @classmethod + def sf_team_join(cls, val): + """ + Create an instance of this class set to the ``sf_team_join`` tag with + value ``val``. + + :param SfTeamJoinType val: + :rtype: EventType + """ + return cls('sf_team_join', val) + + @classmethod + def sf_team_join_from_oob_link(cls, val): + """ + Create an instance of this class set to the + ``sf_team_join_from_oob_link`` tag with value ``val``. + + :param SfTeamJoinFromOobLinkType val: + :rtype: EventType + """ + return cls('sf_team_join_from_oob_link', val) + + @classmethod + def sf_team_uninvite(cls, val): + """ + Create an instance of this class set to the ``sf_team_uninvite`` tag + with value ``val``. + + :param SfTeamUninviteType val: + :rtype: EventType + """ + return cls('sf_team_uninvite', val) + + @classmethod + def shared_content_add_invitees(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_invitees`` tag with value ``val``. + + :param SharedContentAddInviteesType val: + :rtype: EventType + """ + return cls('shared_content_add_invitees', val) + + @classmethod + def shared_content_add_link_expiry(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_link_expiry`` tag with value ``val``. + + :param SharedContentAddLinkExpiryType val: + :rtype: EventType + """ + return cls('shared_content_add_link_expiry', val) + + @classmethod + def shared_content_add_link_password(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_link_password`` tag with value ``val``. + + :param SharedContentAddLinkPasswordType val: + :rtype: EventType + """ + return cls('shared_content_add_link_password', val) + + @classmethod + def shared_content_add_member(cls, val): + """ + Create an instance of this class set to the + ``shared_content_add_member`` tag with value ``val``. + + :param SharedContentAddMemberType val: + :rtype: EventType + """ + return cls('shared_content_add_member', val) + + @classmethod + def shared_content_change_downloads_policy(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_downloads_policy`` tag with value ``val``. + + :param SharedContentChangeDownloadsPolicyType val: + :rtype: EventType + """ + return cls('shared_content_change_downloads_policy', val) + + @classmethod + def shared_content_change_invitee_role(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_invitee_role`` tag with value ``val``. + + :param SharedContentChangeInviteeRoleType val: + :rtype: EventType + """ + return cls('shared_content_change_invitee_role', val) + + @classmethod + def shared_content_change_link_audience(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_link_audience`` tag with value ``val``. + + :param SharedContentChangeLinkAudienceType val: + :rtype: EventType + """ + return cls('shared_content_change_link_audience', val) + + @classmethod + def shared_content_change_link_expiry(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_link_expiry`` tag with value ``val``. + + :param SharedContentChangeLinkExpiryType val: + :rtype: EventType + """ + return cls('shared_content_change_link_expiry', val) + + @classmethod + def shared_content_change_link_password(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_link_password`` tag with value ``val``. + + :param SharedContentChangeLinkPasswordType val: + :rtype: EventType + """ + return cls('shared_content_change_link_password', val) + + @classmethod + def shared_content_change_member_role(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_member_role`` tag with value ``val``. + + :param SharedContentChangeMemberRoleType val: + :rtype: EventType + """ + return cls('shared_content_change_member_role', val) + + @classmethod + def shared_content_change_viewer_info_policy(cls, val): + """ + Create an instance of this class set to the + ``shared_content_change_viewer_info_policy`` tag with value ``val``. + + :param SharedContentChangeViewerInfoPolicyType val: + :rtype: EventType + """ + return cls('shared_content_change_viewer_info_policy', val) + + @classmethod + def shared_content_claim_invitation(cls, val): + """ + Create an instance of this class set to the + ``shared_content_claim_invitation`` tag with value ``val``. + + :param SharedContentClaimInvitationType val: + :rtype: EventType + """ + return cls('shared_content_claim_invitation', val) + + @classmethod + def shared_content_copy(cls, val): + """ + Create an instance of this class set to the ``shared_content_copy`` tag + with value ``val``. + + :param SharedContentCopyType val: + :rtype: EventType + """ + return cls('shared_content_copy', val) + + @classmethod + def shared_content_download(cls, val): + """ + Create an instance of this class set to the ``shared_content_download`` + tag with value ``val``. + + :param SharedContentDownloadType val: + :rtype: EventType + """ + return cls('shared_content_download', val) + + @classmethod + def shared_content_relinquish_membership(cls, val): + """ + Create an instance of this class set to the + ``shared_content_relinquish_membership`` tag with value ``val``. + + :param SharedContentRelinquishMembershipType val: + :rtype: EventType + """ + return cls('shared_content_relinquish_membership', val) + + @classmethod + def shared_content_remove_invitees(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_invitees`` tag with value ``val``. + + :param SharedContentRemoveInviteesType val: + :rtype: EventType + """ + return cls('shared_content_remove_invitees', val) + + @classmethod + def shared_content_remove_link_expiry(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_link_expiry`` tag with value ``val``. + + :param SharedContentRemoveLinkExpiryType val: + :rtype: EventType + """ + return cls('shared_content_remove_link_expiry', val) + + @classmethod + def shared_content_remove_link_password(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_link_password`` tag with value ``val``. + + :param SharedContentRemoveLinkPasswordType val: + :rtype: EventType + """ + return cls('shared_content_remove_link_password', val) + + @classmethod + def shared_content_remove_member(cls, val): + """ + Create an instance of this class set to the + ``shared_content_remove_member`` tag with value ``val``. + + :param SharedContentRemoveMemberType val: + :rtype: EventType + """ + return cls('shared_content_remove_member', val) + + @classmethod + def shared_content_request_access(cls, val): + """ + Create an instance of this class set to the + ``shared_content_request_access`` tag with value ``val``. + + :param SharedContentRequestAccessType val: + :rtype: EventType + """ + return cls('shared_content_request_access', val) + + @classmethod + def shared_content_unshare(cls, val): + """ + Create an instance of this class set to the ``shared_content_unshare`` + tag with value ``val``. + + :param SharedContentUnshareType val: + :rtype: EventType + """ + return cls('shared_content_unshare', val) + + @classmethod + def shared_content_view(cls, val): + """ + Create an instance of this class set to the ``shared_content_view`` tag + with value ``val``. + + :param SharedContentViewType val: + :rtype: EventType + """ + return cls('shared_content_view', val) + + @classmethod + def shared_folder_change_link_policy(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_link_policy`` tag with value ``val``. + + :param SharedFolderChangeLinkPolicyType val: + :rtype: EventType + """ + return cls('shared_folder_change_link_policy', val) + + @classmethod + def shared_folder_change_members_inheritance_policy(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_members_inheritance_policy`` tag with value + ``val``. + + :param SharedFolderChangeMembersInheritancePolicyType val: + :rtype: EventType + """ + return cls('shared_folder_change_members_inheritance_policy', val) + + @classmethod + def shared_folder_change_members_management_policy(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_members_management_policy`` tag with value + ``val``. + + :param SharedFolderChangeMembersManagementPolicyType val: + :rtype: EventType + """ + return cls('shared_folder_change_members_management_policy', val) + + @classmethod + def shared_folder_change_members_policy(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_change_members_policy`` tag with value ``val``. + + :param SharedFolderChangeMembersPolicyType val: + :rtype: EventType + """ + return cls('shared_folder_change_members_policy', val) + + @classmethod + def shared_folder_create(cls, val): + """ + Create an instance of this class set to the ``shared_folder_create`` tag + with value ``val``. + + :param SharedFolderCreateType val: + :rtype: EventType + """ + return cls('shared_folder_create', val) + + @classmethod + def shared_folder_decline_invitation(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_decline_invitation`` tag with value ``val``. + + :param SharedFolderDeclineInvitationType val: + :rtype: EventType + """ + return cls('shared_folder_decline_invitation', val) + + @classmethod + def shared_folder_mount(cls, val): + """ + Create an instance of this class set to the ``shared_folder_mount`` tag + with value ``val``. + + :param SharedFolderMountType val: + :rtype: EventType + """ + return cls('shared_folder_mount', val) + + @classmethod + def shared_folder_nest(cls, val): + """ + Create an instance of this class set to the ``shared_folder_nest`` tag + with value ``val``. + + :param SharedFolderNestType val: + :rtype: EventType + """ + return cls('shared_folder_nest', val) + + @classmethod + def shared_folder_transfer_ownership(cls, val): + """ + Create an instance of this class set to the + ``shared_folder_transfer_ownership`` tag with value ``val``. + + :param SharedFolderTransferOwnershipType val: + :rtype: EventType + """ + return cls('shared_folder_transfer_ownership', val) + + @classmethod + def shared_folder_unmount(cls, val): + """ + Create an instance of this class set to the ``shared_folder_unmount`` + tag with value ``val``. + + :param SharedFolderUnmountType val: + :rtype: EventType + """ + return cls('shared_folder_unmount', val) + + @classmethod + def shared_link_add_expiry(cls, val): + """ + Create an instance of this class set to the ``shared_link_add_expiry`` + tag with value ``val``. + + :param SharedLinkAddExpiryType val: + :rtype: EventType + """ + return cls('shared_link_add_expiry', val) + + @classmethod + def shared_link_change_expiry(cls, val): + """ + Create an instance of this class set to the + ``shared_link_change_expiry`` tag with value ``val``. + + :param SharedLinkChangeExpiryType val: + :rtype: EventType + """ + return cls('shared_link_change_expiry', val) + + @classmethod + def shared_link_change_visibility(cls, val): + """ + Create an instance of this class set to the + ``shared_link_change_visibility`` tag with value ``val``. + + :param SharedLinkChangeVisibilityType val: + :rtype: EventType + """ + return cls('shared_link_change_visibility', val) + + @classmethod + def shared_link_copy(cls, val): + """ + Create an instance of this class set to the ``shared_link_copy`` tag + with value ``val``. + + :param SharedLinkCopyType val: + :rtype: EventType + """ + return cls('shared_link_copy', val) + + @classmethod + def shared_link_create(cls, val): + """ + Create an instance of this class set to the ``shared_link_create`` tag + with value ``val``. + + :param SharedLinkCreateType val: + :rtype: EventType + """ + return cls('shared_link_create', val) + + @classmethod + def shared_link_disable(cls, val): + """ + Create an instance of this class set to the ``shared_link_disable`` tag + with value ``val``. + + :param SharedLinkDisableType val: + :rtype: EventType + """ + return cls('shared_link_disable', val) + + @classmethod + def shared_link_download(cls, val): + """ + Create an instance of this class set to the ``shared_link_download`` tag + with value ``val``. + + :param SharedLinkDownloadType val: + :rtype: EventType + """ + return cls('shared_link_download', val) + + @classmethod + def shared_link_remove_expiry(cls, val): + """ + Create an instance of this class set to the + ``shared_link_remove_expiry`` tag with value ``val``. + + :param SharedLinkRemoveExpiryType val: + :rtype: EventType + """ + return cls('shared_link_remove_expiry', val) + + @classmethod + def shared_link_share(cls, val): + """ + Create an instance of this class set to the ``shared_link_share`` tag + with value ``val``. + + :param SharedLinkShareType val: + :rtype: EventType + """ + return cls('shared_link_share', val) + + @classmethod + def shared_link_view(cls, val): + """ + Create an instance of this class set to the ``shared_link_view`` tag + with value ``val``. + + :param SharedLinkViewType val: + :rtype: EventType + """ + return cls('shared_link_view', val) + + @classmethod + def shared_note_opened(cls, val): + """ + Create an instance of this class set to the ``shared_note_opened`` tag + with value ``val``. + + :param SharedNoteOpenedType val: + :rtype: EventType + """ + return cls('shared_note_opened', val) + + @classmethod + def shmodel_group_share(cls, val): + """ + Create an instance of this class set to the ``shmodel_group_share`` tag + with value ``val``. + + :param ShmodelGroupShareType val: + :rtype: EventType + """ + return cls('shmodel_group_share', val) + + @classmethod + def showcase_access_granted(cls, val): + """ + Create an instance of this class set to the ``showcase_access_granted`` + tag with value ``val``. + + :param ShowcaseAccessGrantedType val: + :rtype: EventType + """ + return cls('showcase_access_granted', val) + + @classmethod + def showcase_add_member(cls, val): + """ + Create an instance of this class set to the ``showcase_add_member`` tag + with value ``val``. + + :param ShowcaseAddMemberType val: + :rtype: EventType + """ + return cls('showcase_add_member', val) + + @classmethod + def showcase_archived(cls, val): + """ + Create an instance of this class set to the ``showcase_archived`` tag + with value ``val``. + + :param ShowcaseArchivedType val: + :rtype: EventType + """ + return cls('showcase_archived', val) + + @classmethod + def showcase_created(cls, val): + """ + Create an instance of this class set to the ``showcase_created`` tag + with value ``val``. + + :param ShowcaseCreatedType val: + :rtype: EventType + """ + return cls('showcase_created', val) + + @classmethod + def showcase_delete_comment(cls, val): + """ + Create an instance of this class set to the ``showcase_delete_comment`` + tag with value ``val``. + + :param ShowcaseDeleteCommentType val: + :rtype: EventType + """ + return cls('showcase_delete_comment', val) + + @classmethod + def showcase_edited(cls, val): + """ + Create an instance of this class set to the ``showcase_edited`` tag with + value ``val``. + + :param ShowcaseEditedType val: + :rtype: EventType + """ + return cls('showcase_edited', val) + + @classmethod + def showcase_edit_comment(cls, val): + """ + Create an instance of this class set to the ``showcase_edit_comment`` + tag with value ``val``. + + :param ShowcaseEditCommentType val: + :rtype: EventType + """ + return cls('showcase_edit_comment', val) + + @classmethod + def showcase_file_added(cls, val): + """ + Create an instance of this class set to the ``showcase_file_added`` tag + with value ``val``. + + :param ShowcaseFileAddedType val: + :rtype: EventType + """ + return cls('showcase_file_added', val) + + @classmethod + def showcase_file_download(cls, val): + """ + Create an instance of this class set to the ``showcase_file_download`` + tag with value ``val``. + + :param ShowcaseFileDownloadType val: + :rtype: EventType + """ + return cls('showcase_file_download', val) + + @classmethod + def showcase_file_removed(cls, val): + """ + Create an instance of this class set to the ``showcase_file_removed`` + tag with value ``val``. + + :param ShowcaseFileRemovedType val: + :rtype: EventType + """ + return cls('showcase_file_removed', val) + + @classmethod + def showcase_file_view(cls, val): + """ + Create an instance of this class set to the ``showcase_file_view`` tag + with value ``val``. + + :param ShowcaseFileViewType val: + :rtype: EventType + """ + return cls('showcase_file_view', val) + + @classmethod + def showcase_permanently_deleted(cls, val): + """ + Create an instance of this class set to the + ``showcase_permanently_deleted`` tag with value ``val``. + + :param ShowcasePermanentlyDeletedType val: + :rtype: EventType + """ + return cls('showcase_permanently_deleted', val) + + @classmethod + def showcase_post_comment(cls, val): + """ + Create an instance of this class set to the ``showcase_post_comment`` + tag with value ``val``. + + :param ShowcasePostCommentType val: + :rtype: EventType + """ + return cls('showcase_post_comment', val) + + @classmethod + def showcase_remove_member(cls, val): + """ + Create an instance of this class set to the ``showcase_remove_member`` + tag with value ``val``. + + :param ShowcaseRemoveMemberType val: + :rtype: EventType + """ + return cls('showcase_remove_member', val) + + @classmethod + def showcase_renamed(cls, val): + """ + Create an instance of this class set to the ``showcase_renamed`` tag + with value ``val``. + + :param ShowcaseRenamedType val: + :rtype: EventType + """ + return cls('showcase_renamed', val) + + @classmethod + def showcase_request_access(cls, val): + """ + Create an instance of this class set to the ``showcase_request_access`` + tag with value ``val``. + + :param ShowcaseRequestAccessType val: + :rtype: EventType + """ + return cls('showcase_request_access', val) + + @classmethod + def showcase_resolve_comment(cls, val): + """ + Create an instance of this class set to the ``showcase_resolve_comment`` + tag with value ``val``. + + :param ShowcaseResolveCommentType val: + :rtype: EventType + """ + return cls('showcase_resolve_comment', val) + + @classmethod + def showcase_restored(cls, val): + """ + Create an instance of this class set to the ``showcase_restored`` tag + with value ``val``. + + :param ShowcaseRestoredType val: + :rtype: EventType + """ + return cls('showcase_restored', val) + + @classmethod + def showcase_trashed(cls, val): + """ + Create an instance of this class set to the ``showcase_trashed`` tag + with value ``val``. + + :param ShowcaseTrashedType val: + :rtype: EventType + """ + return cls('showcase_trashed', val) + + @classmethod + def showcase_trashed_deprecated(cls, val): + """ + Create an instance of this class set to the + ``showcase_trashed_deprecated`` tag with value ``val``. + + :param ShowcaseTrashedDeprecatedType val: + :rtype: EventType + """ + return cls('showcase_trashed_deprecated', val) + + @classmethod + def showcase_unresolve_comment(cls, val): + """ + Create an instance of this class set to the + ``showcase_unresolve_comment`` tag with value ``val``. + + :param ShowcaseUnresolveCommentType val: + :rtype: EventType + """ + return cls('showcase_unresolve_comment', val) + + @classmethod + def showcase_untrashed(cls, val): + """ + Create an instance of this class set to the ``showcase_untrashed`` tag + with value ``val``. + + :param ShowcaseUntrashedType val: + :rtype: EventType + """ + return cls('showcase_untrashed', val) + + @classmethod + def showcase_untrashed_deprecated(cls, val): + """ + Create an instance of this class set to the + ``showcase_untrashed_deprecated`` tag with value ``val``. + + :param ShowcaseUntrashedDeprecatedType val: + :rtype: EventType + """ + return cls('showcase_untrashed_deprecated', val) + + @classmethod + def showcase_view(cls, val): + """ + Create an instance of this class set to the ``showcase_view`` tag with + value ``val``. + + :param ShowcaseViewType val: + :rtype: EventType + """ + return cls('showcase_view', val) + + @classmethod + def sso_add_cert(cls, val): + """ + Create an instance of this class set to the ``sso_add_cert`` tag with + value ``val``. + + :param SsoAddCertType val: + :rtype: EventType + """ + return cls('sso_add_cert', val) + + @classmethod + def sso_add_login_url(cls, val): + """ + Create an instance of this class set to the ``sso_add_login_url`` tag + with value ``val``. + + :param SsoAddLoginUrlType val: + :rtype: EventType + """ + return cls('sso_add_login_url', val) + + @classmethod + def sso_add_logout_url(cls, val): + """ + Create an instance of this class set to the ``sso_add_logout_url`` tag + with value ``val``. + + :param SsoAddLogoutUrlType val: + :rtype: EventType + """ + return cls('sso_add_logout_url', val) + + @classmethod + def sso_change_cert(cls, val): + """ + Create an instance of this class set to the ``sso_change_cert`` tag with + value ``val``. + + :param SsoChangeCertType val: + :rtype: EventType + """ + return cls('sso_change_cert', val) + + @classmethod + def sso_change_login_url(cls, val): + """ + Create an instance of this class set to the ``sso_change_login_url`` tag + with value ``val``. + + :param SsoChangeLoginUrlType val: + :rtype: EventType + """ + return cls('sso_change_login_url', val) + + @classmethod + def sso_change_logout_url(cls, val): + """ + Create an instance of this class set to the ``sso_change_logout_url`` + tag with value ``val``. + + :param SsoChangeLogoutUrlType val: + :rtype: EventType + """ + return cls('sso_change_logout_url', val) + + @classmethod + def sso_change_saml_identity_mode(cls, val): + """ + Create an instance of this class set to the + ``sso_change_saml_identity_mode`` tag with value ``val``. + + :param SsoChangeSamlIdentityModeType val: + :rtype: EventType + """ + return cls('sso_change_saml_identity_mode', val) + + @classmethod + def sso_remove_cert(cls, val): + """ + Create an instance of this class set to the ``sso_remove_cert`` tag with + value ``val``. + + :param SsoRemoveCertType val: + :rtype: EventType + """ + return cls('sso_remove_cert', val) + + @classmethod + def sso_remove_login_url(cls, val): + """ + Create an instance of this class set to the ``sso_remove_login_url`` tag + with value ``val``. + + :param SsoRemoveLoginUrlType val: + :rtype: EventType + """ + return cls('sso_remove_login_url', val) + + @classmethod + def sso_remove_logout_url(cls, val): + """ + Create an instance of this class set to the ``sso_remove_logout_url`` + tag with value ``val``. + + :param SsoRemoveLogoutUrlType val: + :rtype: EventType + """ + return cls('sso_remove_logout_url', val) + + @classmethod + def team_folder_change_status(cls, val): + """ + Create an instance of this class set to the + ``team_folder_change_status`` tag with value ``val``. + + :param TeamFolderChangeStatusType val: + :rtype: EventType + """ + return cls('team_folder_change_status', val) + + @classmethod + def team_folder_create(cls, val): + """ + Create an instance of this class set to the ``team_folder_create`` tag + with value ``val``. + + :param TeamFolderCreateType val: + :rtype: EventType + """ + return cls('team_folder_create', val) + + @classmethod + def team_folder_downgrade(cls, val): + """ + Create an instance of this class set to the ``team_folder_downgrade`` + tag with value ``val``. + + :param TeamFolderDowngradeType val: + :rtype: EventType + """ + return cls('team_folder_downgrade', val) + + @classmethod + def team_folder_permanently_delete(cls, val): + """ + Create an instance of this class set to the + ``team_folder_permanently_delete`` tag with value ``val``. + + :param TeamFolderPermanentlyDeleteType val: + :rtype: EventType + """ + return cls('team_folder_permanently_delete', val) + + @classmethod + def team_folder_rename(cls, val): + """ + Create an instance of this class set to the ``team_folder_rename`` tag + with value ``val``. + + :param TeamFolderRenameType val: + :rtype: EventType + """ + return cls('team_folder_rename', val) + + @classmethod + def team_selective_sync_settings_changed(cls, val): + """ + Create an instance of this class set to the + ``team_selective_sync_settings_changed`` tag with value ``val``. + + :param TeamSelectiveSyncSettingsChangedType val: + :rtype: EventType + """ + return cls('team_selective_sync_settings_changed', val) + + @classmethod + def account_capture_change_policy(cls, val): + """ + Create an instance of this class set to the + ``account_capture_change_policy`` tag with value ``val``. + + :param AccountCaptureChangePolicyType val: + :rtype: EventType + """ + return cls('account_capture_change_policy', val) + + @classmethod + def allow_download_disabled(cls, val): + """ + Create an instance of this class set to the ``allow_download_disabled`` + tag with value ``val``. + + :param AllowDownloadDisabledType val: + :rtype: EventType + """ + return cls('allow_download_disabled', val) + + @classmethod + def allow_download_enabled(cls, val): + """ + Create an instance of this class set to the ``allow_download_enabled`` + tag with value ``val``. + + :param AllowDownloadEnabledType val: + :rtype: EventType + """ + return cls('allow_download_enabled', val) + + @classmethod + def camera_uploads_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``camera_uploads_policy_changed`` tag with value ``val``. + + :param CameraUploadsPolicyChangedType val: + :rtype: EventType + """ + return cls('camera_uploads_policy_changed', val) + + @classmethod + def data_placement_restriction_change_policy(cls, val): + """ + Create an instance of this class set to the + ``data_placement_restriction_change_policy`` tag with value ``val``. + + :param DataPlacementRestrictionChangePolicyType val: + :rtype: EventType + """ + return cls('data_placement_restriction_change_policy', val) + + @classmethod + def data_placement_restriction_satisfy_policy(cls, val): + """ + Create an instance of this class set to the + ``data_placement_restriction_satisfy_policy`` tag with value ``val``. + + :param DataPlacementRestrictionSatisfyPolicyType val: + :rtype: EventType + """ + return cls('data_placement_restriction_satisfy_policy', val) + + @classmethod + def device_approvals_change_desktop_policy(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_desktop_policy`` tag with value ``val``. + + :param DeviceApprovalsChangeDesktopPolicyType val: + :rtype: EventType + """ + return cls('device_approvals_change_desktop_policy', val) + + @classmethod + def device_approvals_change_mobile_policy(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_mobile_policy`` tag with value ``val``. + + :param DeviceApprovalsChangeMobilePolicyType val: + :rtype: EventType + """ + return cls('device_approvals_change_mobile_policy', val) + + @classmethod + def device_approvals_change_overage_action(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_overage_action`` tag with value ``val``. + + :param DeviceApprovalsChangeOverageActionType val: + :rtype: EventType + """ + return cls('device_approvals_change_overage_action', val) + + @classmethod + def device_approvals_change_unlink_action(cls, val): + """ + Create an instance of this class set to the + ``device_approvals_change_unlink_action`` tag with value ``val``. + + :param DeviceApprovalsChangeUnlinkActionType val: + :rtype: EventType + """ + return cls('device_approvals_change_unlink_action', val) + + @classmethod + def directory_restrictions_add_members(cls, val): + """ + Create an instance of this class set to the + ``directory_restrictions_add_members`` tag with value ``val``. + + :param DirectoryRestrictionsAddMembersType val: + :rtype: EventType + """ + return cls('directory_restrictions_add_members', val) + + @classmethod + def directory_restrictions_remove_members(cls, val): + """ + Create an instance of this class set to the + ``directory_restrictions_remove_members`` tag with value ``val``. + + :param DirectoryRestrictionsRemoveMembersType val: + :rtype: EventType + """ + return cls('directory_restrictions_remove_members', val) + + @classmethod + def emm_add_exception(cls, val): + """ + Create an instance of this class set to the ``emm_add_exception`` tag + with value ``val``. + + :param EmmAddExceptionType val: + :rtype: EventType + """ + return cls('emm_add_exception', val) + + @classmethod + def emm_change_policy(cls, val): + """ + Create an instance of this class set to the ``emm_change_policy`` tag + with value ``val``. + + :param EmmChangePolicyType val: + :rtype: EventType + """ + return cls('emm_change_policy', val) + + @classmethod + def emm_remove_exception(cls, val): + """ + Create an instance of this class set to the ``emm_remove_exception`` tag + with value ``val``. + + :param EmmRemoveExceptionType val: + :rtype: EventType + """ + return cls('emm_remove_exception', val) + + @classmethod + def extended_version_history_change_policy(cls, val): + """ + Create an instance of this class set to the + ``extended_version_history_change_policy`` tag with value ``val``. + + :param ExtendedVersionHistoryChangePolicyType val: + :rtype: EventType + """ + return cls('extended_version_history_change_policy', val) + + @classmethod + def file_comments_change_policy(cls, val): + """ + Create an instance of this class set to the + ``file_comments_change_policy`` tag with value ``val``. + + :param FileCommentsChangePolicyType val: + :rtype: EventType + """ + return cls('file_comments_change_policy', val) + + @classmethod + def file_requests_change_policy(cls, val): + """ + Create an instance of this class set to the + ``file_requests_change_policy`` tag with value ``val``. + + :param FileRequestsChangePolicyType val: + :rtype: EventType + """ + return cls('file_requests_change_policy', val) + + @classmethod + def file_requests_emails_enabled(cls, val): + """ + Create an instance of this class set to the + ``file_requests_emails_enabled`` tag with value ``val``. + + :param FileRequestsEmailsEnabledType val: + :rtype: EventType + """ + return cls('file_requests_emails_enabled', val) + + @classmethod + def file_requests_emails_restricted_to_team_only(cls, val): + """ + Create an instance of this class set to the + ``file_requests_emails_restricted_to_team_only`` tag with value ``val``. + + :param FileRequestsEmailsRestrictedToTeamOnlyType val: + :rtype: EventType + """ + return cls('file_requests_emails_restricted_to_team_only', val) + + @classmethod + def google_sso_change_policy(cls, val): + """ + Create an instance of this class set to the ``google_sso_change_policy`` + tag with value ``val``. + + :param GoogleSsoChangePolicyType val: + :rtype: EventType + """ + return cls('google_sso_change_policy', val) + + @classmethod + def group_user_management_change_policy(cls, val): + """ + Create an instance of this class set to the + ``group_user_management_change_policy`` tag with value ``val``. + + :param GroupUserManagementChangePolicyType val: + :rtype: EventType + """ + return cls('group_user_management_change_policy', val) + + @classmethod + def integration_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``integration_policy_changed`` tag with value ``val``. + + :param IntegrationPolicyChangedType val: + :rtype: EventType + """ + return cls('integration_policy_changed', val) + + @classmethod + def member_requests_change_policy(cls, val): + """ + Create an instance of this class set to the + ``member_requests_change_policy`` tag with value ``val``. + + :param MemberRequestsChangePolicyType val: + :rtype: EventType + """ + return cls('member_requests_change_policy', val) + + @classmethod + def member_space_limits_add_exception(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_add_exception`` tag with value ``val``. + + :param MemberSpaceLimitsAddExceptionType val: + :rtype: EventType + """ + return cls('member_space_limits_add_exception', val) + + @classmethod + def member_space_limits_change_caps_type_policy(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_caps_type_policy`` tag with value ``val``. + + :param MemberSpaceLimitsChangeCapsTypePolicyType val: + :rtype: EventType + """ + return cls('member_space_limits_change_caps_type_policy', val) + + @classmethod + def member_space_limits_change_policy(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_change_policy`` tag with value ``val``. + + :param MemberSpaceLimitsChangePolicyType val: + :rtype: EventType + """ + return cls('member_space_limits_change_policy', val) + + @classmethod + def member_space_limits_remove_exception(cls, val): + """ + Create an instance of this class set to the + ``member_space_limits_remove_exception`` tag with value ``val``. + + :param MemberSpaceLimitsRemoveExceptionType val: + :rtype: EventType + """ + return cls('member_space_limits_remove_exception', val) + + @classmethod + def member_suggestions_change_policy(cls, val): + """ + Create an instance of this class set to the + ``member_suggestions_change_policy`` tag with value ``val``. + + :param MemberSuggestionsChangePolicyType val: + :rtype: EventType + """ + return cls('member_suggestions_change_policy', val) + + @classmethod + def microsoft_office_addin_change_policy(cls, val): + """ + Create an instance of this class set to the + ``microsoft_office_addin_change_policy`` tag with value ``val``. + + :param MicrosoftOfficeAddinChangePolicyType val: + :rtype: EventType + """ + return cls('microsoft_office_addin_change_policy', val) + + @classmethod + def network_control_change_policy(cls, val): + """ + Create an instance of this class set to the + ``network_control_change_policy`` tag with value ``val``. + + :param NetworkControlChangePolicyType val: + :rtype: EventType + """ + return cls('network_control_change_policy', val) + + @classmethod + def paper_change_deployment_policy(cls, val): + """ + Create an instance of this class set to the + ``paper_change_deployment_policy`` tag with value ``val``. + + :param PaperChangeDeploymentPolicyType val: + :rtype: EventType + """ + return cls('paper_change_deployment_policy', val) + + @classmethod + def paper_change_member_link_policy(cls, val): + """ + Create an instance of this class set to the + ``paper_change_member_link_policy`` tag with value ``val``. + + :param PaperChangeMemberLinkPolicyType val: + :rtype: EventType + """ + return cls('paper_change_member_link_policy', val) + + @classmethod + def paper_change_member_policy(cls, val): + """ + Create an instance of this class set to the + ``paper_change_member_policy`` tag with value ``val``. + + :param PaperChangeMemberPolicyType val: + :rtype: EventType + """ + return cls('paper_change_member_policy', val) + + @classmethod + def paper_change_policy(cls, val): + """ + Create an instance of this class set to the ``paper_change_policy`` tag + with value ``val``. + + :param PaperChangePolicyType val: + :rtype: EventType + """ + return cls('paper_change_policy', val) + + @classmethod + def paper_default_folder_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``paper_default_folder_policy_changed`` tag with value ``val``. + + :param PaperDefaultFolderPolicyChangedType val: + :rtype: EventType + """ + return cls('paper_default_folder_policy_changed', val) + + @classmethod + def paper_desktop_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``paper_desktop_policy_changed`` tag with value ``val``. + + :param PaperDesktopPolicyChangedType val: + :rtype: EventType + """ + return cls('paper_desktop_policy_changed', val) + + @classmethod + def paper_enabled_users_group_addition(cls, val): + """ + Create an instance of this class set to the + ``paper_enabled_users_group_addition`` tag with value ``val``. + + :param PaperEnabledUsersGroupAdditionType val: + :rtype: EventType + """ + return cls('paper_enabled_users_group_addition', val) + + @classmethod + def paper_enabled_users_group_removal(cls, val): + """ + Create an instance of this class set to the + ``paper_enabled_users_group_removal`` tag with value ``val``. + + :param PaperEnabledUsersGroupRemovalType val: + :rtype: EventType + """ + return cls('paper_enabled_users_group_removal', val) + + @classmethod + def permanent_delete_change_policy(cls, val): + """ + Create an instance of this class set to the + ``permanent_delete_change_policy`` tag with value ``val``. + + :param PermanentDeleteChangePolicyType val: + :rtype: EventType + """ + return cls('permanent_delete_change_policy', val) + + @classmethod + def reseller_support_change_policy(cls, val): + """ + Create an instance of this class set to the + ``reseller_support_change_policy`` tag with value ``val``. + + :param ResellerSupportChangePolicyType val: + :rtype: EventType + """ + return cls('reseller_support_change_policy', val) + + @classmethod + def sharing_change_folder_join_policy(cls, val): + """ + Create an instance of this class set to the + ``sharing_change_folder_join_policy`` tag with value ``val``. + + :param SharingChangeFolderJoinPolicyType val: + :rtype: EventType + """ + return cls('sharing_change_folder_join_policy', val) + + @classmethod + def sharing_change_link_policy(cls, val): + """ + Create an instance of this class set to the + ``sharing_change_link_policy`` tag with value ``val``. + + :param SharingChangeLinkPolicyType val: + :rtype: EventType + """ + return cls('sharing_change_link_policy', val) + + @classmethod + def sharing_change_member_policy(cls, val): + """ + Create an instance of this class set to the + ``sharing_change_member_policy`` tag with value ``val``. + + :param SharingChangeMemberPolicyType val: + :rtype: EventType + """ + return cls('sharing_change_member_policy', val) + + @classmethod + def showcase_change_download_policy(cls, val): + """ + Create an instance of this class set to the + ``showcase_change_download_policy`` tag with value ``val``. + + :param ShowcaseChangeDownloadPolicyType val: + :rtype: EventType + """ + return cls('showcase_change_download_policy', val) + + @classmethod + def showcase_change_enabled_policy(cls, val): + """ + Create an instance of this class set to the + ``showcase_change_enabled_policy`` tag with value ``val``. + + :param ShowcaseChangeEnabledPolicyType val: + :rtype: EventType + """ + return cls('showcase_change_enabled_policy', val) + + @classmethod + def showcase_change_external_sharing_policy(cls, val): + """ + Create an instance of this class set to the + ``showcase_change_external_sharing_policy`` tag with value ``val``. + + :param ShowcaseChangeExternalSharingPolicyType val: + :rtype: EventType + """ + return cls('showcase_change_external_sharing_policy', val) + + @classmethod + def smart_sync_change_policy(cls, val): + """ + Create an instance of this class set to the ``smart_sync_change_policy`` + tag with value ``val``. + + :param SmartSyncChangePolicyType val: + :rtype: EventType + """ + return cls('smart_sync_change_policy', val) + + @classmethod + def smart_sync_not_opt_out(cls, val): + """ + Create an instance of this class set to the ``smart_sync_not_opt_out`` + tag with value ``val``. + + :param SmartSyncNotOptOutType val: + :rtype: EventType + """ + return cls('smart_sync_not_opt_out', val) + + @classmethod + def smart_sync_opt_out(cls, val): + """ + Create an instance of this class set to the ``smart_sync_opt_out`` tag + with value ``val``. + + :param SmartSyncOptOutType val: + :rtype: EventType + """ + return cls('smart_sync_opt_out', val) + + @classmethod + def sso_change_policy(cls, val): + """ + Create an instance of this class set to the ``sso_change_policy`` tag + with value ``val``. + + :param SsoChangePolicyType val: + :rtype: EventType + """ + return cls('sso_change_policy', val) + + @classmethod + def team_extensions_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``team_extensions_policy_changed`` tag with value ``val``. + + :param TeamExtensionsPolicyChangedType val: + :rtype: EventType + """ + return cls('team_extensions_policy_changed', val) + + @classmethod + def team_selective_sync_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``team_selective_sync_policy_changed`` tag with value ``val``. + + :param TeamSelectiveSyncPolicyChangedType val: + :rtype: EventType + """ + return cls('team_selective_sync_policy_changed', val) + + @classmethod + def tfa_change_policy(cls, val): + """ + Create an instance of this class set to the ``tfa_change_policy`` tag + with value ``val``. + + :param TfaChangePolicyType val: + :rtype: EventType + """ + return cls('tfa_change_policy', val) + + @classmethod + def two_account_change_policy(cls, val): + """ + Create an instance of this class set to the + ``two_account_change_policy`` tag with value ``val``. + + :param TwoAccountChangePolicyType val: + :rtype: EventType + """ + return cls('two_account_change_policy', val) + + @classmethod + def viewer_info_policy_changed(cls, val): + """ + Create an instance of this class set to the + ``viewer_info_policy_changed`` tag with value ``val``. + + :param ViewerInfoPolicyChangedType val: + :rtype: EventType + """ + return cls('viewer_info_policy_changed', val) + + @classmethod + def web_sessions_change_fixed_length_policy(cls, val): + """ + Create an instance of this class set to the + ``web_sessions_change_fixed_length_policy`` tag with value ``val``. + + :param WebSessionsChangeFixedLengthPolicyType val: + :rtype: EventType + """ + return cls('web_sessions_change_fixed_length_policy', val) + + @classmethod + def web_sessions_change_idle_length_policy(cls, val): + """ + Create an instance of this class set to the + ``web_sessions_change_idle_length_policy`` tag with value ``val``. + + :param WebSessionsChangeIdleLengthPolicyType val: + :rtype: EventType + """ + return cls('web_sessions_change_idle_length_policy', val) + + @classmethod + def team_merge_from(cls, val): + """ + Create an instance of this class set to the ``team_merge_from`` tag with + value ``val``. + + :param TeamMergeFromType val: + :rtype: EventType + """ + return cls('team_merge_from', val) + + @classmethod + def team_merge_to(cls, val): + """ + Create an instance of this class set to the ``team_merge_to`` tag with + value ``val``. + + :param TeamMergeToType val: + :rtype: EventType + """ + return cls('team_merge_to', val) + + @classmethod + def team_profile_add_logo(cls, val): + """ + Create an instance of this class set to the ``team_profile_add_logo`` + tag with value ``val``. + + :param TeamProfileAddLogoType val: + :rtype: EventType + """ + return cls('team_profile_add_logo', val) + + @classmethod + def team_profile_change_default_language(cls, val): + """ + Create an instance of this class set to the + ``team_profile_change_default_language`` tag with value ``val``. + + :param TeamProfileChangeDefaultLanguageType val: + :rtype: EventType + """ + return cls('team_profile_change_default_language', val) + + @classmethod + def team_profile_change_logo(cls, val): + """ + Create an instance of this class set to the ``team_profile_change_logo`` + tag with value ``val``. + + :param TeamProfileChangeLogoType val: + :rtype: EventType + """ + return cls('team_profile_change_logo', val) + + @classmethod + def team_profile_change_name(cls, val): + """ + Create an instance of this class set to the ``team_profile_change_name`` + tag with value ``val``. + + :param TeamProfileChangeNameType val: + :rtype: EventType + """ + return cls('team_profile_change_name', val) + + @classmethod + def team_profile_remove_logo(cls, val): + """ + Create an instance of this class set to the ``team_profile_remove_logo`` + tag with value ``val``. + + :param TeamProfileRemoveLogoType val: + :rtype: EventType + """ + return cls('team_profile_remove_logo', val) + + @classmethod + def tfa_add_backup_phone(cls, val): + """ + Create an instance of this class set to the ``tfa_add_backup_phone`` tag + with value ``val``. + + :param TfaAddBackupPhoneType val: + :rtype: EventType + """ + return cls('tfa_add_backup_phone', val) + + @classmethod + def tfa_add_security_key(cls, val): + """ + Create an instance of this class set to the ``tfa_add_security_key`` tag + with value ``val``. + + :param TfaAddSecurityKeyType val: + :rtype: EventType + """ + return cls('tfa_add_security_key', val) + + @classmethod + def tfa_change_backup_phone(cls, val): + """ + Create an instance of this class set to the ``tfa_change_backup_phone`` + tag with value ``val``. + + :param TfaChangeBackupPhoneType val: + :rtype: EventType + """ + return cls('tfa_change_backup_phone', val) + + @classmethod + def tfa_change_status(cls, val): + """ + Create an instance of this class set to the ``tfa_change_status`` tag + with value ``val``. + + :param TfaChangeStatusType val: + :rtype: EventType + """ + return cls('tfa_change_status', val) + + @classmethod + def tfa_remove_backup_phone(cls, val): + """ + Create an instance of this class set to the ``tfa_remove_backup_phone`` + tag with value ``val``. + + :param TfaRemoveBackupPhoneType val: + :rtype: EventType + """ + return cls('tfa_remove_backup_phone', val) + + @classmethod + def tfa_remove_security_key(cls, val): + """ + Create an instance of this class set to the ``tfa_remove_security_key`` + tag with value ``val``. + + :param TfaRemoveSecurityKeyType val: + :rtype: EventType + """ + return cls('tfa_remove_security_key', val) + + @classmethod + def tfa_reset(cls, val): + """ + Create an instance of this class set to the ``tfa_reset`` tag with value + ``val``. + + :param TfaResetType val: + :rtype: EventType + """ + return cls('tfa_reset', val) + + @classmethod + def guest_admin_change_status(cls, val): + """ + Create an instance of this class set to the + ``guest_admin_change_status`` tag with value ``val``. + + :param GuestAdminChangeStatusType val: + :rtype: EventType + """ + return cls('guest_admin_change_status', val) + + @classmethod + def team_merge_request_accepted(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_accepted`` tag with value ``val``. + + :param TeamMergeRequestAcceptedType val: + :rtype: EventType + """ + return cls('team_merge_request_accepted', val) + + @classmethod + def team_merge_request_accepted_shown_to_primary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_accepted_shown_to_primary_team`` tag with value + ``val``. + + :param TeamMergeRequestAcceptedShownToPrimaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_accepted_shown_to_primary_team', val) + + @classmethod + def team_merge_request_accepted_shown_to_secondary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_accepted_shown_to_secondary_team`` tag with value + ``val``. + + :param TeamMergeRequestAcceptedShownToSecondaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_accepted_shown_to_secondary_team', val) + + @classmethod + def team_merge_request_auto_canceled(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_auto_canceled`` tag with value ``val``. + + :param TeamMergeRequestAutoCanceledType val: + :rtype: EventType + """ + return cls('team_merge_request_auto_canceled', val) + + @classmethod + def team_merge_request_canceled(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_canceled`` tag with value ``val``. + + :param TeamMergeRequestCanceledType val: + :rtype: EventType + """ + return cls('team_merge_request_canceled', val) + + @classmethod + def team_merge_request_canceled_shown_to_primary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_canceled_shown_to_primary_team`` tag with value + ``val``. + + :param TeamMergeRequestCanceledShownToPrimaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_canceled_shown_to_primary_team', val) + + @classmethod + def team_merge_request_canceled_shown_to_secondary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_canceled_shown_to_secondary_team`` tag with value + ``val``. + + :param TeamMergeRequestCanceledShownToSecondaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_canceled_shown_to_secondary_team', val) + + @classmethod + def team_merge_request_expired(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_expired`` tag with value ``val``. + + :param TeamMergeRequestExpiredType val: + :rtype: EventType + """ + return cls('team_merge_request_expired', val) + + @classmethod + def team_merge_request_expired_shown_to_primary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_expired_shown_to_primary_team`` tag with value + ``val``. + + :param TeamMergeRequestExpiredShownToPrimaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_expired_shown_to_primary_team', val) + + @classmethod + def team_merge_request_expired_shown_to_secondary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_expired_shown_to_secondary_team`` tag with value + ``val``. + + :param TeamMergeRequestExpiredShownToSecondaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_expired_shown_to_secondary_team', val) + + @classmethod + def team_merge_request_rejected_shown_to_primary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_rejected_shown_to_primary_team`` tag with value + ``val``. + + :param TeamMergeRequestRejectedShownToPrimaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_rejected_shown_to_primary_team', val) + + @classmethod + def team_merge_request_rejected_shown_to_secondary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_rejected_shown_to_secondary_team`` tag with value + ``val``. + + :param TeamMergeRequestRejectedShownToSecondaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_rejected_shown_to_secondary_team', val) + + @classmethod + def team_merge_request_reminder(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_reminder`` tag with value ``val``. + + :param TeamMergeRequestReminderType val: + :rtype: EventType + """ + return cls('team_merge_request_reminder', val) + + @classmethod + def team_merge_request_reminder_shown_to_primary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_reminder_shown_to_primary_team`` tag with value + ``val``. + + :param TeamMergeRequestReminderShownToPrimaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_reminder_shown_to_primary_team', val) + + @classmethod + def team_merge_request_reminder_shown_to_secondary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_reminder_shown_to_secondary_team`` tag with value + ``val``. + + :param TeamMergeRequestReminderShownToSecondaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_reminder_shown_to_secondary_team', val) + + @classmethod + def team_merge_request_revoked(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_revoked`` tag with value ``val``. + + :param TeamMergeRequestRevokedType val: + :rtype: EventType + """ + return cls('team_merge_request_revoked', val) + + @classmethod + def team_merge_request_sent_shown_to_primary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_sent_shown_to_primary_team`` tag with value + ``val``. + + :param TeamMergeRequestSentShownToPrimaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_sent_shown_to_primary_team', val) + + @classmethod + def team_merge_request_sent_shown_to_secondary_team(cls, val): + """ + Create an instance of this class set to the + ``team_merge_request_sent_shown_to_secondary_team`` tag with value + ``val``. + + :param TeamMergeRequestSentShownToSecondaryTeamType val: + :rtype: EventType + """ + return cls('team_merge_request_sent_shown_to_secondary_team', val) def is_app_link_team(self): """ @@ -14910,6 +22521,22 @@ class EventType(bb.Union): """ return self._tag == 'app_unlink_user' + def is_integration_connected(self): + """ + Check if the union tag is ``integration_connected``. + + :rtype: bool + """ + return self._tag == 'integration_connected' + + def is_integration_disconnected(self): + """ + Check if the union tag is ``integration_disconnected``. + + :rtype: bool + """ + return self._tag == 'integration_disconnected' + def is_file_add_comment(self): """ Check if the union tag is ``file_add_comment``. @@ -14934,6 +22561,14 @@ class EventType(bb.Union): """ return self._tag == 'file_delete_comment' + def is_file_edit_comment(self): + """ + Check if the union tag is ``file_edit_comment``. + + :rtype: bool + """ + return self._tag == 'file_edit_comment' + def is_file_like_comment(self): """ Check if the union tag is ``file_like_comment``. @@ -15070,6 +22705,14 @@ class EventType(bb.Union): """ return self._tag == 'account_capture_migrate_account' + def is_account_capture_notification_emails_sent(self): + """ + Check if the union tag is ``account_capture_notification_emails_sent``. + + :rtype: bool + """ + return self._tag == 'account_capture_notification_emails_sent' + def is_account_capture_relinquish_account(self): """ Check if the union tag is ``account_capture_relinquish_account``. @@ -15286,29 +22929,13 @@ class EventType(bb.Union): """ return self._tag == 'file_save_copy_reference' - def is_file_request_add_deadline(self): + def is_file_request_change(self): """ - Check if the union tag is ``file_request_add_deadline``. + Check if the union tag is ``file_request_change``. :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' + return self._tag == 'file_request_change' def is_file_request_close(self): """ @@ -15326,6 +22953,14 @@ class EventType(bb.Union): """ return self._tag == 'file_request_create' + def is_file_request_delete(self): + """ + Check if the union tag is ``file_request_delete``. + + :rtype: bool + """ + return self._tag == 'file_request_delete' + def is_file_request_receive_file(self): """ Check if the union tag is ``file_request_receive_file``. @@ -15334,22 +22969,6 @@ class EventType(bb.Union): """ 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``. @@ -15406,6 +23025,22 @@ class EventType(bb.Union): """ 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``. @@ -15438,13 +23073,45 @@ class EventType(bb.Union): """ return self._tag == 'group_rename' - def is_emm_login_success(self): + def is_emm_error(self): """ - Check if the union tag is ``emm_login_success``. + Check if the union tag is ``emm_error``. :rtype: bool """ - return self._tag == 'emm_login_success' + return self._tag == 'emm_error' + + def is_guest_admin_signed_in_via_trusted_teams(self): + """ + Check if the union tag is ``guest_admin_signed_in_via_trusted_teams``. + + :rtype: bool + """ + return self._tag == 'guest_admin_signed_in_via_trusted_teams' + + def is_guest_admin_signed_out_via_trusted_teams(self): + """ + Check if the union tag is ``guest_admin_signed_out_via_trusted_teams``. + + :rtype: bool + """ + return self._tag == 'guest_admin_signed_out_via_trusted_teams' + + def is_login_fail(self): + """ + Check if the union tag is ``login_fail``. + + :rtype: bool + """ + return self._tag == 'login_fail' + + def is_login_success(self): + """ + Check if the union tag is ``login_success``. + + :rtype: bool + """ + return self._tag == 'login_success' def is_logout(self): """ @@ -15454,22 +23121,6 @@ class EventType(bb.Union): """ 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``. @@ -15502,13 +23153,21 @@ class EventType(bb.Union): """ return self._tag == 'sign_in_as_session_start' - def is_sso_login_fail(self): + def is_sso_error(self): """ - Check if the union tag is ``sso_login_fail``. + Check if the union tag is ``sso_error``. :rtype: bool """ - return self._tag == 'sso_login_fail' + return self._tag == 'sso_error' + + def is_member_add_external_id(self): + """ + Check if the union tag is ``member_add_external_id``. + + :rtype: bool + """ + return self._tag == 'member_add_external_id' def is_member_add_name(self): """ @@ -15534,6 +23193,22 @@ class EventType(bb.Union): """ return self._tag == 'member_change_email' + def is_member_change_external_id(self): + """ + Check if the union tag is ``member_change_external_id``. + + :rtype: bool + """ + return self._tag == 'member_change_external_id' + + 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_change_name(self): """ Check if the union tag is ``member_change_name``. @@ -15550,6 +23225,62 @@ class EventType(bb.Union): """ return self._tag == 'member_change_status' + def is_member_delete_manual_contacts(self): + """ + Check if the union tag is ``member_delete_manual_contacts``. + + :rtype: bool + """ + return self._tag == 'member_delete_manual_contacts' + + 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_remove_external_id(self): + """ + Check if the union tag is ``member_remove_external_id``. + + :rtype: bool + """ + return self._tag == 'member_remove_external_id' + + def is_member_space_limits_add_custom_quota(self): + """ + Check if the union tag is ``member_space_limits_add_custom_quota``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_add_custom_quota' + + def is_member_space_limits_change_custom_quota(self): + """ + Check if the union tag is ``member_space_limits_change_custom_quota``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_custom_quota' + + 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_space_limits_remove_custom_quota(self): + """ + Check if the union tag is ``member_space_limits_remove_custom_quota``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_remove_custom_quota' + def is_member_suggest(self): """ Check if the union tag is ``member_suggest``. @@ -15558,6 +23289,22 @@ class EventType(bb.Union): """ return self._tag == 'member_suggest' + 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_secondary_mails_policy_changed(self): + """ + Check if the union tag is ``secondary_mails_policy_changed``. + + :rtype: bool + """ + return self._tag == 'secondary_mails_policy_changed' + def is_paper_content_add_member(self): """ Check if the union tag is ``paper_content_add_member``. @@ -15718,6 +23465,14 @@ class EventType(bb.Union): """ return self._tag == 'paper_doc_mention' + def is_paper_doc_ownership_changed(self): + """ + Check if the union tag is ``paper_doc_ownership_changed``. + + :rtype: bool + """ + return self._tag == 'paper_doc_ownership_changed' + def is_paper_doc_request_access(self): """ Check if the union tag is ``paper_doc_request_access``. @@ -15790,6 +23545,30 @@ class EventType(bb.Union): """ return self._tag == 'paper_doc_view' + 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_paper_folder_change_subscription(self): """ Check if the union tag is ``paper_folder_change_subscription``. @@ -15822,6 +23601,30 @@ class EventType(bb.Union): """ return self._tag == 'paper_folder_team_invite' + def is_paper_published_link_create(self): + """ + Check if the union tag is ``paper_published_link_create``. + + :rtype: bool + """ + return self._tag == 'paper_published_link_create' + + def is_paper_published_link_disabled(self): + """ + Check if the union tag is ``paper_published_link_disabled``. + + :rtype: bool + """ + return self._tag == 'paper_published_link_disabled' + + def is_paper_published_link_view(self): + """ + Check if the union tag is ``paper_published_link_view``. + + :rtype: bool + """ + return self._tag == 'paper_published_link_view' + def is_password_change(self): """ Check if the union tag is ``password_change``. @@ -15862,6 +23665,22 @@ class EventType(bb.Union): """ return self._tag == 'emm_create_usage_report' + def is_export_members_report(self): + """ + Check if the union tag is ``export_members_report``. + + :rtype: bool + """ + return self._tag == 'export_members_report' + + def is_paper_admin_export_start(self): + """ + Check if the union tag is ``paper_admin_export_start``. + + :rtype: bool + """ + return self._tag == 'paper_admin_export_start' + def is_smart_sync_create_admin_privilege_report(self): """ Check if the union tag is ``smart_sync_create_admin_privilege_report``. @@ -15878,6 +23697,14 @@ class EventType(bb.Union): """ return self._tag == 'team_activity_create_report' + def is_team_activity_create_report_fail(self): + """ + Check if the union tag is ``team_activity_create_report_fail``. + + :rtype: bool + """ + return self._tag == 'team_activity_create_report_fail' + def is_collection_share(self): """ Check if the union tag is ``collection_share``. @@ -15950,6 +23777,38 @@ class EventType(bb.Union): """ return self._tag == 'sf_allow_non_members_to_view_shared_links' + 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_sf_fb_invite(self): + """ + Check if the union tag is ``sf_fb_invite``. + + :rtype: bool + """ + return self._tag == 'sf_fb_invite' + + def is_sf_fb_invite_change_role(self): + """ + Check if the union tag is ``sf_fb_invite_change_role``. + + :rtype: bool + """ + return self._tag == 'sf_fb_invite_change_role' + + def is_sf_fb_uninvite(self): + """ + Check if the union tag is ``sf_fb_uninvite``. + + :rtype: bool + """ + return self._tag == 'sf_fb_uninvite' + def is_sf_invite_group(self): """ Check if the union tag is ``sf_invite_group``. @@ -15958,22 +23817,6 @@ class EventType(bb.Union): """ 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``. @@ -16142,13 +23985,13 @@ class EventType(bb.Union): """ return self._tag == 'shared_content_relinquish_membership' - def is_shared_content_remove_invitee(self): + def is_shared_content_remove_invitees(self): """ - Check if the union tag is ``shared_content_remove_invitee``. + Check if the union tag is ``shared_content_remove_invitees``. :rtype: bool """ - return self._tag == 'shared_content_remove_invitee' + return self._tag == 'shared_content_remove_invitees' def is_shared_content_remove_link_expiry(self): """ @@ -16198,14 +24041,6 @@ class EventType(bb.Union): """ 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``. @@ -16214,21 +24049,29 @@ class EventType(bb.Union): """ return self._tag == 'shared_folder_change_link_policy' - def is_shared_folder_change_member_management_policy(self): + def is_shared_folder_change_members_inheritance_policy(self): """ - Check if the union tag is ``shared_folder_change_member_management_policy``. + Check if the union tag is ``shared_folder_change_members_inheritance_policy``. :rtype: bool """ - return self._tag == 'shared_folder_change_member_management_policy' + return self._tag == 'shared_folder_change_members_inheritance_policy' - def is_shared_folder_change_member_policy(self): + def is_shared_folder_change_members_management_policy(self): """ - Check if the union tag is ``shared_folder_change_member_policy``. + Check if the union tag is ``shared_folder_change_members_management_policy``. :rtype: bool """ - return self._tag == 'shared_folder_change_member_policy' + return self._tag == 'shared_folder_change_members_management_policy' + + def is_shared_folder_change_members_policy(self): + """ + Check if the union tag is ``shared_folder_change_members_policy``. + + :rtype: bool + """ + return self._tag == 'shared_folder_change_members_policy' def is_shared_folder_create(self): """ @@ -16238,6 +24081,14 @@ class EventType(bb.Union): """ return self._tag == 'shared_folder_create' + def is_shared_folder_decline_invitation(self): + """ + Check if the union tag is ``shared_folder_decline_invitation``. + + :rtype: bool + """ + return self._tag == 'shared_folder_decline_invitation' + def is_shared_folder_mount(self): """ Check if the union tag is ``shared_folder_mount``. @@ -16246,6 +24097,14 @@ class EventType(bb.Union): """ return self._tag == 'shared_folder_mount' + def is_shared_folder_nest(self): + """ + Check if the union tag is ``shared_folder_nest``. + + :rtype: bool + """ + return self._tag == 'shared_folder_nest' + def is_shared_folder_transfer_ownership(self): """ Check if the union tag is ``shared_folder_transfer_ownership``. @@ -16262,6 +24121,86 @@ class EventType(bb.Union): """ return self._tag == 'shared_folder_unmount' + def is_shared_link_add_expiry(self): + """ + Check if the union tag is ``shared_link_add_expiry``. + + :rtype: bool + """ + return self._tag == 'shared_link_add_expiry' + + def is_shared_link_change_expiry(self): + """ + Check if the union tag is ``shared_link_change_expiry``. + + :rtype: bool + """ + return self._tag == 'shared_link_change_expiry' + + def is_shared_link_change_visibility(self): + """ + Check if the union tag is ``shared_link_change_visibility``. + + :rtype: bool + """ + return self._tag == 'shared_link_change_visibility' + + def is_shared_link_copy(self): + """ + Check if the union tag is ``shared_link_copy``. + + :rtype: bool + """ + return self._tag == 'shared_link_copy' + + def is_shared_link_create(self): + """ + Check if the union tag is ``shared_link_create``. + + :rtype: bool + """ + return self._tag == 'shared_link_create' + + def is_shared_link_disable(self): + """ + Check if the union tag is ``shared_link_disable``. + + :rtype: bool + """ + return self._tag == 'shared_link_disable' + + def is_shared_link_download(self): + """ + Check if the union tag is ``shared_link_download``. + + :rtype: bool + """ + return self._tag == 'shared_link_download' + + def is_shared_link_remove_expiry(self): + """ + Check if the union tag is ``shared_link_remove_expiry``. + + :rtype: bool + """ + return self._tag == 'shared_link_remove_expiry' + + def is_shared_link_share(self): + """ + Check if the union tag is ``shared_link_share``. + + :rtype: bool + """ + return self._tag == 'shared_link_share' + + def is_shared_link_view(self): + """ + Check if the union tag is ``shared_link_view``. + + :rtype: bool + """ + return self._tag == 'shared_link_view' + def is_shared_note_opened(self): """ Check if the union tag is ``shared_note_opened``. @@ -16270,38 +24209,6 @@ class EventType(bb.Union): """ 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``. @@ -16310,77 +24217,197 @@ class EventType(bb.Union): """ return self._tag == 'shmodel_group_share' - def is_shmodel_remove_expiration(self): + def is_showcase_access_granted(self): """ - Check if the union tag is ``shmodel_remove_expiration``. + Check if the union tag is ``showcase_access_granted``. :rtype: bool """ - return self._tag == 'shmodel_remove_expiration' + return self._tag == 'showcase_access_granted' - def is_shmodel_set_expiration(self): + def is_showcase_add_member(self): """ - Check if the union tag is ``shmodel_set_expiration``. + Check if the union tag is ``showcase_add_member``. :rtype: bool """ - return self._tag == 'shmodel_set_expiration' + return self._tag == 'showcase_add_member' - def is_shmodel_team_copy(self): + def is_showcase_archived(self): """ - Check if the union tag is ``shmodel_team_copy``. + Check if the union tag is ``showcase_archived``. :rtype: bool """ - return self._tag == 'shmodel_team_copy' + return self._tag == 'showcase_archived' - def is_shmodel_team_download(self): + def is_showcase_created(self): """ - Check if the union tag is ``shmodel_team_download``. + Check if the union tag is ``showcase_created``. :rtype: bool """ - return self._tag == 'shmodel_team_download' + return self._tag == 'showcase_created' - def is_shmodel_team_share(self): + def is_showcase_delete_comment(self): """ - Check if the union tag is ``shmodel_team_share``. + Check if the union tag is ``showcase_delete_comment``. :rtype: bool """ - return self._tag == 'shmodel_team_share' + return self._tag == 'showcase_delete_comment' - def is_shmodel_team_view(self): + def is_showcase_edited(self): """ - Check if the union tag is ``shmodel_team_view``. + Check if the union tag is ``showcase_edited``. :rtype: bool """ - return self._tag == 'shmodel_team_view' + return self._tag == 'showcase_edited' - def is_shmodel_visibility_password(self): + def is_showcase_edit_comment(self): """ - Check if the union tag is ``shmodel_visibility_password``. + Check if the union tag is ``showcase_edit_comment``. :rtype: bool """ - return self._tag == 'shmodel_visibility_password' + return self._tag == 'showcase_edit_comment' - def is_shmodel_visibility_public(self): + def is_showcase_file_added(self): """ - Check if the union tag is ``shmodel_visibility_public``. + Check if the union tag is ``showcase_file_added``. :rtype: bool """ - return self._tag == 'shmodel_visibility_public' + return self._tag == 'showcase_file_added' - def is_shmodel_visibility_team_only(self): + def is_showcase_file_download(self): """ - Check if the union tag is ``shmodel_visibility_team_only``. + Check if the union tag is ``showcase_file_download``. :rtype: bool """ - return self._tag == 'shmodel_visibility_team_only' + return self._tag == 'showcase_file_download' + + def is_showcase_file_removed(self): + """ + Check if the union tag is ``showcase_file_removed``. + + :rtype: bool + """ + return self._tag == 'showcase_file_removed' + + def is_showcase_file_view(self): + """ + Check if the union tag is ``showcase_file_view``. + + :rtype: bool + """ + return self._tag == 'showcase_file_view' + + def is_showcase_permanently_deleted(self): + """ + Check if the union tag is ``showcase_permanently_deleted``. + + :rtype: bool + """ + return self._tag == 'showcase_permanently_deleted' + + def is_showcase_post_comment(self): + """ + Check if the union tag is ``showcase_post_comment``. + + :rtype: bool + """ + return self._tag == 'showcase_post_comment' + + def is_showcase_remove_member(self): + """ + Check if the union tag is ``showcase_remove_member``. + + :rtype: bool + """ + return self._tag == 'showcase_remove_member' + + def is_showcase_renamed(self): + """ + Check if the union tag is ``showcase_renamed``. + + :rtype: bool + """ + return self._tag == 'showcase_renamed' + + def is_showcase_request_access(self): + """ + Check if the union tag is ``showcase_request_access``. + + :rtype: bool + """ + return self._tag == 'showcase_request_access' + + def is_showcase_resolve_comment(self): + """ + Check if the union tag is ``showcase_resolve_comment``. + + :rtype: bool + """ + return self._tag == 'showcase_resolve_comment' + + def is_showcase_restored(self): + """ + Check if the union tag is ``showcase_restored``. + + :rtype: bool + """ + return self._tag == 'showcase_restored' + + def is_showcase_trashed(self): + """ + Check if the union tag is ``showcase_trashed``. + + :rtype: bool + """ + return self._tag == 'showcase_trashed' + + def is_showcase_trashed_deprecated(self): + """ + Check if the union tag is ``showcase_trashed_deprecated``. + + :rtype: bool + """ + return self._tag == 'showcase_trashed_deprecated' + + def is_showcase_unresolve_comment(self): + """ + Check if the union tag is ``showcase_unresolve_comment``. + + :rtype: bool + """ + return self._tag == 'showcase_unresolve_comment' + + def is_showcase_untrashed(self): + """ + Check if the union tag is ``showcase_untrashed``. + + :rtype: bool + """ + return self._tag == 'showcase_untrashed' + + def is_showcase_untrashed_deprecated(self): + """ + Check if the union tag is ``showcase_untrashed_deprecated``. + + :rtype: bool + """ + return self._tag == 'showcase_untrashed_deprecated' + + def is_showcase_view(self): + """ + Check if the union tag is ``showcase_view``. + + :rtype: bool + """ + return self._tag == 'showcase_view' def is_sso_add_cert(self): """ @@ -16502,6 +24529,14 @@ class EventType(bb.Union): """ return self._tag == 'team_folder_rename' + def is_team_selective_sync_settings_changed(self): + """ + Check if the union tag is ``team_selective_sync_settings_changed``. + + :rtype: bool + """ + return self._tag == 'team_selective_sync_settings_changed' + def is_account_capture_change_policy(self): """ Check if the union tag is ``account_capture_change_policy``. @@ -16526,6 +24561,14 @@ class EventType(bb.Union): """ return self._tag == 'allow_download_enabled' + def is_camera_uploads_policy_changed(self): + """ + Check if the union tag is ``camera_uploads_policy_changed``. + + :rtype: bool + """ + return self._tag == 'camera_uploads_policy_changed' + def is_data_placement_restriction_change_policy(self): """ Check if the union tag is ``data_placement_restriction_change_policy``. @@ -16574,6 +24617,22 @@ class EventType(bb.Union): """ return self._tag == 'device_approvals_change_unlink_action' + def is_directory_restrictions_add_members(self): + """ + Check if the union tag is ``directory_restrictions_add_members``. + + :rtype: bool + """ + return self._tag == 'directory_restrictions_add_members' + + def is_directory_restrictions_remove_members(self): + """ + Check if the union tag is ``directory_restrictions_remove_members``. + + :rtype: bool + """ + return self._tag == 'directory_restrictions_remove_members' + def is_emm_add_exception(self): """ Check if the union tag is ``emm_add_exception``. @@ -16654,6 +24713,14 @@ class EventType(bb.Union): """ return self._tag == 'group_user_management_change_policy' + def is_integration_policy_changed(self): + """ + Check if the union tag is ``integration_policy_changed``. + + :rtype: bool + """ + return self._tag == 'integration_policy_changed' + def is_member_requests_change_policy(self): """ Check if the union tag is ``member_requests_change_policy``. @@ -16670,6 +24737,14 @@ class EventType(bb.Union): """ return self._tag == 'member_space_limits_add_exception' + def is_member_space_limits_change_caps_type_policy(self): + """ + Check if the union tag is ``member_space_limits_change_caps_type_policy``. + + :rtype: bool + """ + return self._tag == 'member_space_limits_change_caps_type_policy' + def is_member_space_limits_change_policy(self): """ Check if the union tag is ``member_space_limits_change_policy``. @@ -16742,6 +24817,38 @@ class EventType(bb.Union): """ return self._tag == 'paper_change_policy' + def is_paper_default_folder_policy_changed(self): + """ + Check if the union tag is ``paper_default_folder_policy_changed``. + + :rtype: bool + """ + return self._tag == 'paper_default_folder_policy_changed' + + def is_paper_desktop_policy_changed(self): + """ + Check if the union tag is ``paper_desktop_policy_changed``. + + :rtype: bool + """ + return self._tag == 'paper_desktop_policy_changed' + + 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_permanent_delete_change_policy(self): """ Check if the union tag is ``permanent_delete_change_policy``. @@ -16750,6 +24857,14 @@ class EventType(bb.Union): """ return self._tag == 'permanent_delete_change_policy' + def is_reseller_support_change_policy(self): + """ + Check if the union tag is ``reseller_support_change_policy``. + + :rtype: bool + """ + return self._tag == 'reseller_support_change_policy' + def is_sharing_change_folder_join_policy(self): """ Check if the union tag is ``sharing_change_folder_join_policy``. @@ -16774,6 +24889,30 @@ class EventType(bb.Union): """ return self._tag == 'sharing_change_member_policy' + def is_showcase_change_download_policy(self): + """ + Check if the union tag is ``showcase_change_download_policy``. + + :rtype: bool + """ + return self._tag == 'showcase_change_download_policy' + + def is_showcase_change_enabled_policy(self): + """ + Check if the union tag is ``showcase_change_enabled_policy``. + + :rtype: bool + """ + return self._tag == 'showcase_change_enabled_policy' + + def is_showcase_change_external_sharing_policy(self): + """ + Check if the union tag is ``showcase_change_external_sharing_policy``. + + :rtype: bool + """ + return self._tag == 'showcase_change_external_sharing_policy' + def is_smart_sync_change_policy(self): """ Check if the union tag is ``smart_sync_change_policy``. @@ -16806,6 +24945,22 @@ class EventType(bb.Union): """ return self._tag == 'sso_change_policy' + def is_team_extensions_policy_changed(self): + """ + Check if the union tag is ``team_extensions_policy_changed``. + + :rtype: bool + """ + return self._tag == 'team_extensions_policy_changed' + + def is_team_selective_sync_policy_changed(self): + """ + Check if the union tag is ``team_selective_sync_policy_changed``. + + :rtype: bool + """ + return self._tag == 'team_selective_sync_policy_changed' + def is_tfa_change_policy(self): """ Check if the union tag is ``tfa_change_policy``. @@ -16822,6 +24977,14 @@ class EventType(bb.Union): """ return self._tag == 'two_account_change_policy' + def is_viewer_info_policy_changed(self): + """ + Check if the union tag is ``viewer_info_policy_changed``. + + :rtype: bool + """ + return self._tag == 'viewer_info_policy_changed' + def is_web_sessions_change_fixed_length_policy(self): """ Check if the union tag is ``web_sessions_change_fixed_length_policy``. @@ -16838,6 +25001,22 @@ class EventType(bb.Union): """ return self._tag == 'web_sessions_change_idle_length_policy' + def is_team_merge_from(self): + """ + Check if the union tag is ``team_merge_from``. + + :rtype: bool + """ + return self._tag == 'team_merge_from' + + def is_team_merge_to(self): + """ + Check if the union tag is ``team_merge_to``. + + :rtype: bool + """ + return self._tag == 'team_merge_to' + def is_team_profile_add_logo(self): """ Check if the union tag is ``team_profile_add_logo``. @@ -16934,6 +25113,158 @@ class EventType(bb.Union): """ return self._tag == 'tfa_reset' + def is_guest_admin_change_status(self): + """ + Check if the union tag is ``guest_admin_change_status``. + + :rtype: bool + """ + return self._tag == 'guest_admin_change_status' + + def is_team_merge_request_accepted(self): + """ + Check if the union tag is ``team_merge_request_accepted``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_accepted' + + def is_team_merge_request_accepted_shown_to_primary_team(self): + """ + Check if the union tag is ``team_merge_request_accepted_shown_to_primary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_accepted_shown_to_primary_team' + + def is_team_merge_request_accepted_shown_to_secondary_team(self): + """ + Check if the union tag is ``team_merge_request_accepted_shown_to_secondary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_accepted_shown_to_secondary_team' + + def is_team_merge_request_auto_canceled(self): + """ + Check if the union tag is ``team_merge_request_auto_canceled``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_auto_canceled' + + def is_team_merge_request_canceled(self): + """ + Check if the union tag is ``team_merge_request_canceled``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_canceled' + + def is_team_merge_request_canceled_shown_to_primary_team(self): + """ + Check if the union tag is ``team_merge_request_canceled_shown_to_primary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_canceled_shown_to_primary_team' + + def is_team_merge_request_canceled_shown_to_secondary_team(self): + """ + Check if the union tag is ``team_merge_request_canceled_shown_to_secondary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_canceled_shown_to_secondary_team' + + def is_team_merge_request_expired(self): + """ + Check if the union tag is ``team_merge_request_expired``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_expired' + + def is_team_merge_request_expired_shown_to_primary_team(self): + """ + Check if the union tag is ``team_merge_request_expired_shown_to_primary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_expired_shown_to_primary_team' + + def is_team_merge_request_expired_shown_to_secondary_team(self): + """ + Check if the union tag is ``team_merge_request_expired_shown_to_secondary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_expired_shown_to_secondary_team' + + def is_team_merge_request_rejected_shown_to_primary_team(self): + """ + Check if the union tag is ``team_merge_request_rejected_shown_to_primary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_rejected_shown_to_primary_team' + + def is_team_merge_request_rejected_shown_to_secondary_team(self): + """ + Check if the union tag is ``team_merge_request_rejected_shown_to_secondary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_rejected_shown_to_secondary_team' + + def is_team_merge_request_reminder(self): + """ + Check if the union tag is ``team_merge_request_reminder``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_reminder' + + def is_team_merge_request_reminder_shown_to_primary_team(self): + """ + Check if the union tag is ``team_merge_request_reminder_shown_to_primary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_reminder_shown_to_primary_team' + + def is_team_merge_request_reminder_shown_to_secondary_team(self): + """ + Check if the union tag is ``team_merge_request_reminder_shown_to_secondary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_reminder_shown_to_secondary_team' + + def is_team_merge_request_revoked(self): + """ + Check if the union tag is ``team_merge_request_revoked``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_revoked' + + def is_team_merge_request_sent_shown_to_primary_team(self): + """ + Check if the union tag is ``team_merge_request_sent_shown_to_primary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_sent_shown_to_primary_team' + + def is_team_merge_request_sent_shown_to_secondary_team(self): + """ + Check if the union tag is ``team_merge_request_sent_shown_to_secondary_team``. + + :rtype: bool + """ + return self._tag == 'team_merge_request_sent_shown_to_secondary_team' + def is_other(self): """ Check if the union tag is ``other``. @@ -16942,18 +25273,4321 @@ class EventType(bb.Union): """ return self._tag == 'other' + def get_app_link_team(self): + """ + (apps) Linked app for team + + Only call this if :meth:`is_app_link_team` is true. + + :rtype: AppLinkTeamType + """ + if not self.is_app_link_team(): + raise AttributeError("tag 'app_link_team' not set") + return self._value + + def get_app_link_user(self): + """ + (apps) Linked app for member + + Only call this if :meth:`is_app_link_user` is true. + + :rtype: AppLinkUserType + """ + if not self.is_app_link_user(): + raise AttributeError("tag 'app_link_user' not set") + return self._value + + def get_app_unlink_team(self): + """ + (apps) Unlinked app for team + + Only call this if :meth:`is_app_unlink_team` is true. + + :rtype: AppUnlinkTeamType + """ + if not self.is_app_unlink_team(): + raise AttributeError("tag 'app_unlink_team' not set") + return self._value + + def get_app_unlink_user(self): + """ + (apps) Unlinked app for member + + Only call this if :meth:`is_app_unlink_user` is true. + + :rtype: AppUnlinkUserType + """ + if not self.is_app_unlink_user(): + raise AttributeError("tag 'app_unlink_user' not set") + return self._value + + def get_integration_connected(self): + """ + (apps) Connected integration for member + + Only call this if :meth:`is_integration_connected` is true. + + :rtype: IntegrationConnectedType + """ + if not self.is_integration_connected(): + raise AttributeError("tag 'integration_connected' not set") + return self._value + + def get_integration_disconnected(self): + """ + (apps) Disconnected integration for member + + Only call this if :meth:`is_integration_disconnected` is true. + + :rtype: IntegrationDisconnectedType + """ + if not self.is_integration_disconnected(): + raise AttributeError("tag 'integration_disconnected' not set") + return self._value + + def get_file_add_comment(self): + """ + (comments) Added file comment + + Only call this if :meth:`is_file_add_comment` is true. + + :rtype: FileAddCommentType + """ + if not self.is_file_add_comment(): + raise AttributeError("tag 'file_add_comment' not set") + return self._value + + def get_file_change_comment_subscription(self): + """ + (comments) Subscribed to or unsubscribed from comment notifications for + file + + Only call this if :meth:`is_file_change_comment_subscription` is true. + + :rtype: FileChangeCommentSubscriptionType + """ + if not self.is_file_change_comment_subscription(): + raise AttributeError("tag 'file_change_comment_subscription' not set") + return self._value + + def get_file_delete_comment(self): + """ + (comments) Deleted file comment + + Only call this if :meth:`is_file_delete_comment` is true. + + :rtype: FileDeleteCommentType + """ + if not self.is_file_delete_comment(): + raise AttributeError("tag 'file_delete_comment' not set") + return self._value + + def get_file_edit_comment(self): + """ + (comments) Edited file comment + + Only call this if :meth:`is_file_edit_comment` is true. + + :rtype: FileEditCommentType + """ + if not self.is_file_edit_comment(): + raise AttributeError("tag 'file_edit_comment' not set") + return self._value + + def get_file_like_comment(self): + """ + (comments) Liked file comment (deprecated, no longer logged) + + Only call this if :meth:`is_file_like_comment` is true. + + :rtype: FileLikeCommentType + """ + if not self.is_file_like_comment(): + raise AttributeError("tag 'file_like_comment' not set") + return self._value + + def get_file_resolve_comment(self): + """ + (comments) Resolved file comment + + Only call this if :meth:`is_file_resolve_comment` is true. + + :rtype: FileResolveCommentType + """ + if not self.is_file_resolve_comment(): + raise AttributeError("tag 'file_resolve_comment' not set") + return self._value + + def get_file_unlike_comment(self): + """ + (comments) Unliked file comment (deprecated, no longer logged) + + Only call this if :meth:`is_file_unlike_comment` is true. + + :rtype: FileUnlikeCommentType + """ + if not self.is_file_unlike_comment(): + raise AttributeError("tag 'file_unlike_comment' not set") + return self._value + + def get_file_unresolve_comment(self): + """ + (comments) Unresolved file comment + + Only call this if :meth:`is_file_unresolve_comment` is true. + + :rtype: FileUnresolveCommentType + """ + if not self.is_file_unresolve_comment(): + raise AttributeError("tag 'file_unresolve_comment' not set") + return self._value + + def get_device_change_ip_desktop(self): + """ + (devices) Changed IP address associated with active desktop session + + Only call this if :meth:`is_device_change_ip_desktop` is true. + + :rtype: DeviceChangeIpDesktopType + """ + if not self.is_device_change_ip_desktop(): + raise AttributeError("tag 'device_change_ip_desktop' not set") + return self._value + + def get_device_change_ip_mobile(self): + """ + (devices) Changed IP address associated with active mobile session + + Only call this if :meth:`is_device_change_ip_mobile` is true. + + :rtype: DeviceChangeIpMobileType + """ + if not self.is_device_change_ip_mobile(): + raise AttributeError("tag 'device_change_ip_mobile' not set") + return self._value + + def get_device_change_ip_web(self): + """ + (devices) Changed IP address associated with active web session + + Only call this if :meth:`is_device_change_ip_web` is true. + + :rtype: DeviceChangeIpWebType + """ + if not self.is_device_change_ip_web(): + raise AttributeError("tag 'device_change_ip_web' not set") + return self._value + + def get_device_delete_on_unlink_fail(self): + """ + (devices) Failed to delete all files from unlinked device + + Only call this if :meth:`is_device_delete_on_unlink_fail` is true. + + :rtype: DeviceDeleteOnUnlinkFailType + """ + if not self.is_device_delete_on_unlink_fail(): + raise AttributeError("tag 'device_delete_on_unlink_fail' not set") + return self._value + + def get_device_delete_on_unlink_success(self): + """ + (devices) Deleted all files from unlinked device + + Only call this if :meth:`is_device_delete_on_unlink_success` is true. + + :rtype: DeviceDeleteOnUnlinkSuccessType + """ + if not self.is_device_delete_on_unlink_success(): + raise AttributeError("tag 'device_delete_on_unlink_success' not set") + return self._value + + def get_device_link_fail(self): + """ + (devices) Failed to link device + + Only call this if :meth:`is_device_link_fail` is true. + + :rtype: DeviceLinkFailType + """ + if not self.is_device_link_fail(): + raise AttributeError("tag 'device_link_fail' not set") + return self._value + + def get_device_link_success(self): + """ + (devices) Linked device + + Only call this if :meth:`is_device_link_success` is true. + + :rtype: DeviceLinkSuccessType + """ + if not self.is_device_link_success(): + raise AttributeError("tag 'device_link_success' not set") + return self._value + + def get_device_management_disabled(self): + """ + (devices) Disabled device management (deprecated, no longer logged) + + Only call this if :meth:`is_device_management_disabled` is true. + + :rtype: DeviceManagementDisabledType + """ + if not self.is_device_management_disabled(): + raise AttributeError("tag 'device_management_disabled' not set") + return self._value + + def get_device_management_enabled(self): + """ + (devices) Enabled device management (deprecated, no longer logged) + + Only call this if :meth:`is_device_management_enabled` is true. + + :rtype: DeviceManagementEnabledType + """ + if not self.is_device_management_enabled(): + raise AttributeError("tag 'device_management_enabled' not set") + return self._value + + def get_device_unlink(self): + """ + (devices) Disconnected device + + Only call this if :meth:`is_device_unlink` is true. + + :rtype: DeviceUnlinkType + """ + if not self.is_device_unlink(): + raise AttributeError("tag 'device_unlink' not set") + return self._value + + def get_emm_refresh_auth_token(self): + """ + (devices) Refreshed auth token used for setting up EMM + + Only call this if :meth:`is_emm_refresh_auth_token` is true. + + :rtype: EmmRefreshAuthTokenType + """ + if not self.is_emm_refresh_auth_token(): + raise AttributeError("tag 'emm_refresh_auth_token' not set") + return self._value + + def get_account_capture_change_availability(self): + """ + (domains) Granted/revoked option to enable account capture on team + domains + + Only call this if :meth:`is_account_capture_change_availability` is true. + + :rtype: AccountCaptureChangeAvailabilityType + """ + if not self.is_account_capture_change_availability(): + raise AttributeError("tag 'account_capture_change_availability' not set") + return self._value + + def get_account_capture_migrate_account(self): + """ + (domains) Account-captured user migrated account to team + + Only call this if :meth:`is_account_capture_migrate_account` is true. + + :rtype: AccountCaptureMigrateAccountType + """ + if not self.is_account_capture_migrate_account(): + raise AttributeError("tag 'account_capture_migrate_account' not set") + return self._value + + def get_account_capture_notification_emails_sent(self): + """ + (domains) Sent proactive account capture email to all unmanaged members + + Only call this if :meth:`is_account_capture_notification_emails_sent` is true. + + :rtype: AccountCaptureNotificationEmailsSentType + """ + if not self.is_account_capture_notification_emails_sent(): + raise AttributeError("tag 'account_capture_notification_emails_sent' not set") + return self._value + + def get_account_capture_relinquish_account(self): + """ + (domains) Account-captured user changed account email to personal email + + Only call this if :meth:`is_account_capture_relinquish_account` is true. + + :rtype: AccountCaptureRelinquishAccountType + """ + if not self.is_account_capture_relinquish_account(): + raise AttributeError("tag 'account_capture_relinquish_account' not set") + return self._value + + def get_disabled_domain_invites(self): + """ + (domains) Disabled domain invites (deprecated, no longer logged) + + Only call this if :meth:`is_disabled_domain_invites` is true. + + :rtype: DisabledDomainInvitesType + """ + if not self.is_disabled_domain_invites(): + raise AttributeError("tag 'disabled_domain_invites' not set") + return self._value + + def get_domain_invites_approve_request_to_join_team(self): + """ + (domains) Approved user's request to join team + + Only call this if :meth:`is_domain_invites_approve_request_to_join_team` is true. + + :rtype: DomainInvitesApproveRequestToJoinTeamType + """ + if not self.is_domain_invites_approve_request_to_join_team(): + raise AttributeError("tag 'domain_invites_approve_request_to_join_team' not set") + return self._value + + def get_domain_invites_decline_request_to_join_team(self): + """ + (domains) Declined user's request to join team + + Only call this if :meth:`is_domain_invites_decline_request_to_join_team` is true. + + :rtype: DomainInvitesDeclineRequestToJoinTeamType + """ + if not self.is_domain_invites_decline_request_to_join_team(): + raise AttributeError("tag 'domain_invites_decline_request_to_join_team' not set") + return self._value + + def get_domain_invites_email_existing_users(self): + """ + (domains) Sent domain invites to existing domain accounts (deprecated, + no longer logged) + + Only call this if :meth:`is_domain_invites_email_existing_users` is true. + + :rtype: DomainInvitesEmailExistingUsersType + """ + if not self.is_domain_invites_email_existing_users(): + raise AttributeError("tag 'domain_invites_email_existing_users' not set") + return self._value + + def get_domain_invites_request_to_join_team(self): + """ + (domains) Requested to join team + + Only call this if :meth:`is_domain_invites_request_to_join_team` is true. + + :rtype: DomainInvitesRequestToJoinTeamType + """ + if not self.is_domain_invites_request_to_join_team(): + raise AttributeError("tag 'domain_invites_request_to_join_team' not set") + return self._value + + def get_domain_invites_set_invite_new_user_pref_to_no(self): + """ + (domains) Disabled "Automatically invite new users" (deprecated, no + longer logged) + + Only call this if :meth:`is_domain_invites_set_invite_new_user_pref_to_no` is true. + + :rtype: DomainInvitesSetInviteNewUserPrefToNoType + """ + if not self.is_domain_invites_set_invite_new_user_pref_to_no(): + raise AttributeError("tag 'domain_invites_set_invite_new_user_pref_to_no' not set") + return self._value + + def get_domain_invites_set_invite_new_user_pref_to_yes(self): + """ + (domains) Enabled "Automatically invite new users" (deprecated, no + longer logged) + + Only call this if :meth:`is_domain_invites_set_invite_new_user_pref_to_yes` is true. + + :rtype: DomainInvitesSetInviteNewUserPrefToYesType + """ + if not self.is_domain_invites_set_invite_new_user_pref_to_yes(): + raise AttributeError("tag 'domain_invites_set_invite_new_user_pref_to_yes' not set") + return self._value + + def get_domain_verification_add_domain_fail(self): + """ + (domains) Failed to verify team domain + + Only call this if :meth:`is_domain_verification_add_domain_fail` is true. + + :rtype: DomainVerificationAddDomainFailType + """ + if not self.is_domain_verification_add_domain_fail(): + raise AttributeError("tag 'domain_verification_add_domain_fail' not set") + return self._value + + def get_domain_verification_add_domain_success(self): + """ + (domains) Verified team domain + + Only call this if :meth:`is_domain_verification_add_domain_success` is true. + + :rtype: DomainVerificationAddDomainSuccessType + """ + if not self.is_domain_verification_add_domain_success(): + raise AttributeError("tag 'domain_verification_add_domain_success' not set") + return self._value + + def get_domain_verification_remove_domain(self): + """ + (domains) Removed domain from list of verified team domains + + Only call this if :meth:`is_domain_verification_remove_domain` is true. + + :rtype: DomainVerificationRemoveDomainType + """ + if not self.is_domain_verification_remove_domain(): + raise AttributeError("tag 'domain_verification_remove_domain' not set") + return self._value + + def get_enabled_domain_invites(self): + """ + (domains) Enabled domain invites (deprecated, no longer logged) + + Only call this if :meth:`is_enabled_domain_invites` is true. + + :rtype: EnabledDomainInvitesType + """ + if not self.is_enabled_domain_invites(): + raise AttributeError("tag 'enabled_domain_invites' not set") + return self._value + + def get_create_folder(self): + """ + (file_operations) Created folders (deprecated, no longer logged) + + Only call this if :meth:`is_create_folder` is true. + + :rtype: CreateFolderType + """ + if not self.is_create_folder(): + raise AttributeError("tag 'create_folder' not set") + return self._value + + def get_file_add(self): + """ + (file_operations) Added files and/or folders + + Only call this if :meth:`is_file_add` is true. + + :rtype: FileAddType + """ + if not self.is_file_add(): + raise AttributeError("tag 'file_add' not set") + return self._value + + def get_file_copy(self): + """ + (file_operations) Copied files and/or folders + + Only call this if :meth:`is_file_copy` is true. + + :rtype: FileCopyType + """ + if not self.is_file_copy(): + raise AttributeError("tag 'file_copy' not set") + return self._value + + def get_file_delete(self): + """ + (file_operations) Deleted files and/or folders + + Only call this if :meth:`is_file_delete` is true. + + :rtype: FileDeleteType + """ + if not self.is_file_delete(): + raise AttributeError("tag 'file_delete' not set") + return self._value + + def get_file_download(self): + """ + (file_operations) Downloaded files and/or folders + + Only call this if :meth:`is_file_download` is true. + + :rtype: FileDownloadType + """ + if not self.is_file_download(): + raise AttributeError("tag 'file_download' not set") + return self._value + + def get_file_edit(self): + """ + (file_operations) Edited files + + Only call this if :meth:`is_file_edit` is true. + + :rtype: FileEditType + """ + if not self.is_file_edit(): + raise AttributeError("tag 'file_edit' not set") + return self._value + + def get_file_get_copy_reference(self): + """ + (file_operations) Created copy reference to file/folder + + Only call this if :meth:`is_file_get_copy_reference` is true. + + :rtype: FileGetCopyReferenceType + """ + if not self.is_file_get_copy_reference(): + raise AttributeError("tag 'file_get_copy_reference' not set") + return self._value + + def get_file_move(self): + """ + (file_operations) Moved files and/or folders + + Only call this if :meth:`is_file_move` is true. + + :rtype: FileMoveType + """ + if not self.is_file_move(): + raise AttributeError("tag 'file_move' not set") + return self._value + + def get_file_permanently_delete(self): + """ + (file_operations) Permanently deleted files and/or folders + + Only call this if :meth:`is_file_permanently_delete` is true. + + :rtype: FilePermanentlyDeleteType + """ + if not self.is_file_permanently_delete(): + raise AttributeError("tag 'file_permanently_delete' not set") + return self._value + + def get_file_preview(self): + """ + (file_operations) Previewed files and/or folders + + Only call this if :meth:`is_file_preview` is true. + + :rtype: FilePreviewType + """ + if not self.is_file_preview(): + raise AttributeError("tag 'file_preview' not set") + return self._value + + def get_file_rename(self): + """ + (file_operations) Renamed files and/or folders + + Only call this if :meth:`is_file_rename` is true. + + :rtype: FileRenameType + """ + if not self.is_file_rename(): + raise AttributeError("tag 'file_rename' not set") + return self._value + + def get_file_restore(self): + """ + (file_operations) Restored deleted files and/or folders + + Only call this if :meth:`is_file_restore` is true. + + :rtype: FileRestoreType + """ + if not self.is_file_restore(): + raise AttributeError("tag 'file_restore' not set") + return self._value + + def get_file_revert(self): + """ + (file_operations) Reverted files to previous version + + Only call this if :meth:`is_file_revert` is true. + + :rtype: FileRevertType + """ + if not self.is_file_revert(): + raise AttributeError("tag 'file_revert' not set") + return self._value + + def get_file_rollback_changes(self): + """ + (file_operations) Rolled back file actions + + Only call this if :meth:`is_file_rollback_changes` is true. + + :rtype: FileRollbackChangesType + """ + if not self.is_file_rollback_changes(): + raise AttributeError("tag 'file_rollback_changes' not set") + return self._value + + def get_file_save_copy_reference(self): + """ + (file_operations) Saved file/folder using copy reference + + Only call this if :meth:`is_file_save_copy_reference` is true. + + :rtype: FileSaveCopyReferenceType + """ + if not self.is_file_save_copy_reference(): + raise AttributeError("tag 'file_save_copy_reference' not set") + return self._value + + def get_file_request_change(self): + """ + (file_requests) Changed file request + + Only call this if :meth:`is_file_request_change` is true. + + :rtype: FileRequestChangeType + """ + if not self.is_file_request_change(): + raise AttributeError("tag 'file_request_change' not set") + return self._value + + def get_file_request_close(self): + """ + (file_requests) Closed file request + + Only call this if :meth:`is_file_request_close` is true. + + :rtype: FileRequestCloseType + """ + if not self.is_file_request_close(): + raise AttributeError("tag 'file_request_close' not set") + return self._value + + def get_file_request_create(self): + """ + (file_requests) Created file request + + Only call this if :meth:`is_file_request_create` is true. + + :rtype: FileRequestCreateType + """ + if not self.is_file_request_create(): + raise AttributeError("tag 'file_request_create' not set") + return self._value + + def get_file_request_delete(self): + """ + (file_requests) Delete file request + + Only call this if :meth:`is_file_request_delete` is true. + + :rtype: FileRequestDeleteType + """ + if not self.is_file_request_delete(): + raise AttributeError("tag 'file_request_delete' not set") + return self._value + + def get_file_request_receive_file(self): + """ + (file_requests) Received files for file request + + Only call this if :meth:`is_file_request_receive_file` is true. + + :rtype: FileRequestReceiveFileType + """ + if not self.is_file_request_receive_file(): + raise AttributeError("tag 'file_request_receive_file' not set") + return self._value + + def get_group_add_external_id(self): + """ + (groups) Added external ID for group + + Only call this if :meth:`is_group_add_external_id` is true. + + :rtype: GroupAddExternalIdType + """ + if not self.is_group_add_external_id(): + raise AttributeError("tag 'group_add_external_id' not set") + return self._value + + def get_group_add_member(self): + """ + (groups) Added team members to group + + Only call this if :meth:`is_group_add_member` is true. + + :rtype: GroupAddMemberType + """ + if not self.is_group_add_member(): + raise AttributeError("tag 'group_add_member' not set") + return self._value + + def get_group_change_external_id(self): + """ + (groups) Changed external ID for group + + Only call this if :meth:`is_group_change_external_id` is true. + + :rtype: GroupChangeExternalIdType + """ + if not self.is_group_change_external_id(): + raise AttributeError("tag 'group_change_external_id' not set") + return self._value + + def get_group_change_management_type(self): + """ + (groups) Changed group management type + + Only call this if :meth:`is_group_change_management_type` is true. + + :rtype: GroupChangeManagementTypeType + """ + if not self.is_group_change_management_type(): + raise AttributeError("tag 'group_change_management_type' not set") + return self._value + + def get_group_change_member_role(self): + """ + (groups) Changed manager permissions of group member + + Only call this if :meth:`is_group_change_member_role` is true. + + :rtype: GroupChangeMemberRoleType + """ + if not self.is_group_change_member_role(): + raise AttributeError("tag 'group_change_member_role' not set") + return self._value + + def get_group_create(self): + """ + (groups) Created group + + Only call this if :meth:`is_group_create` is true. + + :rtype: GroupCreateType + """ + if not self.is_group_create(): + raise AttributeError("tag 'group_create' not set") + return self._value + + def get_group_delete(self): + """ + (groups) Deleted group + + Only call this if :meth:`is_group_delete` is true. + + :rtype: GroupDeleteType + """ + if not self.is_group_delete(): + raise AttributeError("tag 'group_delete' not set") + return self._value + + def get_group_description_updated(self): + """ + (groups) Updated group (deprecated, no longer logged) + + Only call this if :meth:`is_group_description_updated` is true. + + :rtype: GroupDescriptionUpdatedType + """ + if not self.is_group_description_updated(): + raise AttributeError("tag 'group_description_updated' not set") + return self._value + + def get_group_join_policy_updated(self): + """ + (groups) Updated group join policy (deprecated, no longer logged) + + Only call this if :meth:`is_group_join_policy_updated` is true. + + :rtype: GroupJoinPolicyUpdatedType + """ + if not self.is_group_join_policy_updated(): + raise AttributeError("tag 'group_join_policy_updated' not set") + return self._value + + def get_group_moved(self): + """ + (groups) Moved group (deprecated, no longer logged) + + Only call this if :meth:`is_group_moved` is true. + + :rtype: GroupMovedType + """ + if not self.is_group_moved(): + raise AttributeError("tag 'group_moved' not set") + return self._value + + def get_group_remove_external_id(self): + """ + (groups) Removed external ID for group + + Only call this if :meth:`is_group_remove_external_id` is true. + + :rtype: GroupRemoveExternalIdType + """ + if not self.is_group_remove_external_id(): + raise AttributeError("tag 'group_remove_external_id' not set") + return self._value + + def get_group_remove_member(self): + """ + (groups) Removed team members from group + + Only call this if :meth:`is_group_remove_member` is true. + + :rtype: GroupRemoveMemberType + """ + if not self.is_group_remove_member(): + raise AttributeError("tag 'group_remove_member' not set") + return self._value + + def get_group_rename(self): + """ + (groups) Renamed group + + Only call this if :meth:`is_group_rename` is true. + + :rtype: GroupRenameType + """ + if not self.is_group_rename(): + raise AttributeError("tag 'group_rename' not set") + return self._value + + def get_emm_error(self): + """ + (logins) Failed to sign in via EMM (deprecated, replaced by 'Failed to + sign in') + + Only call this if :meth:`is_emm_error` is true. + + :rtype: EmmErrorType + """ + if not self.is_emm_error(): + raise AttributeError("tag 'emm_error' not set") + return self._value + + def get_guest_admin_signed_in_via_trusted_teams(self): + """ + (logins) Started trusted team admin session + + Only call this if :meth:`is_guest_admin_signed_in_via_trusted_teams` is true. + + :rtype: GuestAdminSignedInViaTrustedTeamsType + """ + if not self.is_guest_admin_signed_in_via_trusted_teams(): + raise AttributeError("tag 'guest_admin_signed_in_via_trusted_teams' not set") + return self._value + + def get_guest_admin_signed_out_via_trusted_teams(self): + """ + (logins) Ended trusted team admin session + + Only call this if :meth:`is_guest_admin_signed_out_via_trusted_teams` is true. + + :rtype: GuestAdminSignedOutViaTrustedTeamsType + """ + if not self.is_guest_admin_signed_out_via_trusted_teams(): + raise AttributeError("tag 'guest_admin_signed_out_via_trusted_teams' not set") + return self._value + + def get_login_fail(self): + """ + (logins) Failed to sign in + + Only call this if :meth:`is_login_fail` is true. + + :rtype: LoginFailType + """ + if not self.is_login_fail(): + raise AttributeError("tag 'login_fail' not set") + return self._value + + def get_login_success(self): + """ + (logins) Signed in + + Only call this if :meth:`is_login_success` is true. + + :rtype: LoginSuccessType + """ + if not self.is_login_success(): + raise AttributeError("tag 'login_success' not set") + return self._value + + def get_logout(self): + """ + (logins) Signed out + + Only call this if :meth:`is_logout` is true. + + :rtype: LogoutType + """ + if not self.is_logout(): + raise AttributeError("tag 'logout' not set") + return self._value + + def get_reseller_support_session_end(self): + """ + (logins) Ended reseller support session + + Only call this if :meth:`is_reseller_support_session_end` is true. + + :rtype: ResellerSupportSessionEndType + """ + if not self.is_reseller_support_session_end(): + raise AttributeError("tag 'reseller_support_session_end' not set") + return self._value + + def get_reseller_support_session_start(self): + """ + (logins) Started reseller support session + + Only call this if :meth:`is_reseller_support_session_start` is true. + + :rtype: ResellerSupportSessionStartType + """ + if not self.is_reseller_support_session_start(): + raise AttributeError("tag 'reseller_support_session_start' not set") + return self._value + + def get_sign_in_as_session_end(self): + """ + (logins) Ended admin sign-in-as session + + Only call this if :meth:`is_sign_in_as_session_end` is true. + + :rtype: SignInAsSessionEndType + """ + if not self.is_sign_in_as_session_end(): + raise AttributeError("tag 'sign_in_as_session_end' not set") + return self._value + + def get_sign_in_as_session_start(self): + """ + (logins) Started admin sign-in-as session + + Only call this if :meth:`is_sign_in_as_session_start` is true. + + :rtype: SignInAsSessionStartType + """ + if not self.is_sign_in_as_session_start(): + raise AttributeError("tag 'sign_in_as_session_start' not set") + return self._value + + def get_sso_error(self): + """ + (logins) Failed to sign in via SSO (deprecated, replaced by 'Failed to + sign in') + + Only call this if :meth:`is_sso_error` is true. + + :rtype: SsoErrorType + """ + if not self.is_sso_error(): + raise AttributeError("tag 'sso_error' not set") + return self._value + + def get_member_add_external_id(self): + """ + (members) Added an external ID for team member + + Only call this if :meth:`is_member_add_external_id` is true. + + :rtype: MemberAddExternalIdType + """ + if not self.is_member_add_external_id(): + raise AttributeError("tag 'member_add_external_id' not set") + return self._value + + def get_member_add_name(self): + """ + (members) Added team member name + + Only call this if :meth:`is_member_add_name` is true. + + :rtype: MemberAddNameType + """ + if not self.is_member_add_name(): + raise AttributeError("tag 'member_add_name' not set") + return self._value + + def get_member_change_admin_role(self): + """ + (members) Changed team member admin role + + Only call this if :meth:`is_member_change_admin_role` is true. + + :rtype: MemberChangeAdminRoleType + """ + if not self.is_member_change_admin_role(): + raise AttributeError("tag 'member_change_admin_role' not set") + return self._value + + def get_member_change_email(self): + """ + (members) Changed team member email + + Only call this if :meth:`is_member_change_email` is true. + + :rtype: MemberChangeEmailType + """ + if not self.is_member_change_email(): + raise AttributeError("tag 'member_change_email' not set") + return self._value + + def get_member_change_external_id(self): + """ + (members) Changed the external ID for team member + + Only call this if :meth:`is_member_change_external_id` is true. + + :rtype: MemberChangeExternalIdType + """ + if not self.is_member_change_external_id(): + raise AttributeError("tag 'member_change_external_id' not set") + return self._value + + def get_member_change_membership_type(self): + """ + (members) Changed membership type (limited/full) of member (deprecated, + no longer logged) + + Only call this if :meth:`is_member_change_membership_type` is true. + + :rtype: MemberChangeMembershipTypeType + """ + if not self.is_member_change_membership_type(): + raise AttributeError("tag 'member_change_membership_type' not set") + return self._value + + def get_member_change_name(self): + """ + (members) Changed team member name + + Only call this if :meth:`is_member_change_name` is true. + + :rtype: MemberChangeNameType + """ + if not self.is_member_change_name(): + raise AttributeError("tag 'member_change_name' not set") + return self._value + + def get_member_change_status(self): + """ + (members) Changed member status (invited, joined, suspended, etc.) + + Only call this if :meth:`is_member_change_status` is true. + + :rtype: MemberChangeStatusType + """ + if not self.is_member_change_status(): + raise AttributeError("tag 'member_change_status' not set") + return self._value + + def get_member_delete_manual_contacts(self): + """ + (members) Cleared manually added contacts + + Only call this if :meth:`is_member_delete_manual_contacts` is true. + + :rtype: MemberDeleteManualContactsType + """ + if not self.is_member_delete_manual_contacts(): + raise AttributeError("tag 'member_delete_manual_contacts' not set") + return self._value + + def get_member_permanently_delete_account_contents(self): + """ + (members) Permanently deleted contents of deleted team member account + + Only call this if :meth:`is_member_permanently_delete_account_contents` is true. + + :rtype: MemberPermanentlyDeleteAccountContentsType + """ + if not self.is_member_permanently_delete_account_contents(): + raise AttributeError("tag 'member_permanently_delete_account_contents' not set") + return self._value + + def get_member_remove_external_id(self): + """ + (members) Removed the external ID for team member + + Only call this if :meth:`is_member_remove_external_id` is true. + + :rtype: MemberRemoveExternalIdType + """ + if not self.is_member_remove_external_id(): + raise AttributeError("tag 'member_remove_external_id' not set") + return self._value + + def get_member_space_limits_add_custom_quota(self): + """ + (members) Set custom member space limit + + Only call this if :meth:`is_member_space_limits_add_custom_quota` is true. + + :rtype: MemberSpaceLimitsAddCustomQuotaType + """ + if not self.is_member_space_limits_add_custom_quota(): + raise AttributeError("tag 'member_space_limits_add_custom_quota' not set") + return self._value + + def get_member_space_limits_change_custom_quota(self): + """ + (members) Changed custom member space limit + + Only call this if :meth:`is_member_space_limits_change_custom_quota` is true. + + :rtype: MemberSpaceLimitsChangeCustomQuotaType + """ + if not self.is_member_space_limits_change_custom_quota(): + raise AttributeError("tag 'member_space_limits_change_custom_quota' not set") + return self._value + + def get_member_space_limits_change_status(self): + """ + (members) Changed space limit status + + Only call this if :meth:`is_member_space_limits_change_status` is true. + + :rtype: MemberSpaceLimitsChangeStatusType + """ + if not self.is_member_space_limits_change_status(): + raise AttributeError("tag 'member_space_limits_change_status' not set") + return self._value + + def get_member_space_limits_remove_custom_quota(self): + """ + (members) Removed custom member space limit + + Only call this if :meth:`is_member_space_limits_remove_custom_quota` is true. + + :rtype: MemberSpaceLimitsRemoveCustomQuotaType + """ + if not self.is_member_space_limits_remove_custom_quota(): + raise AttributeError("tag 'member_space_limits_remove_custom_quota' not set") + return self._value + + def get_member_suggest(self): + """ + (members) Suggested person to add to team + + Only call this if :meth:`is_member_suggest` is true. + + :rtype: MemberSuggestType + """ + if not self.is_member_suggest(): + raise AttributeError("tag 'member_suggest' not set") + return self._value + + def get_member_transfer_account_contents(self): + """ + (members) Transferred contents of deleted member account to another + member + + Only call this if :meth:`is_member_transfer_account_contents` is true. + + :rtype: MemberTransferAccountContentsType + """ + if not self.is_member_transfer_account_contents(): + raise AttributeError("tag 'member_transfer_account_contents' not set") + return self._value + + def get_secondary_mails_policy_changed(self): + """ + (members) Secondary mails policy changed + + Only call this if :meth:`is_secondary_mails_policy_changed` is true. + + :rtype: SecondaryMailsPolicyChangedType + """ + if not self.is_secondary_mails_policy_changed(): + raise AttributeError("tag 'secondary_mails_policy_changed' not set") + return self._value + + def get_paper_content_add_member(self): + """ + (paper) Added team member to Paper doc/folder + + Only call this if :meth:`is_paper_content_add_member` is true. + + :rtype: PaperContentAddMemberType + """ + if not self.is_paper_content_add_member(): + raise AttributeError("tag 'paper_content_add_member' not set") + return self._value + + def get_paper_content_add_to_folder(self): + """ + (paper) Added Paper doc/folder to folder + + Only call this if :meth:`is_paper_content_add_to_folder` is true. + + :rtype: PaperContentAddToFolderType + """ + if not self.is_paper_content_add_to_folder(): + raise AttributeError("tag 'paper_content_add_to_folder' not set") + return self._value + + def get_paper_content_archive(self): + """ + (paper) Archived Paper doc/folder + + Only call this if :meth:`is_paper_content_archive` is true. + + :rtype: PaperContentArchiveType + """ + if not self.is_paper_content_archive(): + raise AttributeError("tag 'paper_content_archive' not set") + return self._value + + def get_paper_content_create(self): + """ + (paper) Created Paper doc/folder + + Only call this if :meth:`is_paper_content_create` is true. + + :rtype: PaperContentCreateType + """ + if not self.is_paper_content_create(): + raise AttributeError("tag 'paper_content_create' not set") + return self._value + + def get_paper_content_permanently_delete(self): + """ + (paper) Permanently deleted Paper doc/folder + + Only call this if :meth:`is_paper_content_permanently_delete` is true. + + :rtype: PaperContentPermanentlyDeleteType + """ + if not self.is_paper_content_permanently_delete(): + raise AttributeError("tag 'paper_content_permanently_delete' not set") + return self._value + + def get_paper_content_remove_from_folder(self): + """ + (paper) Removed Paper doc/folder from folder + + Only call this if :meth:`is_paper_content_remove_from_folder` is true. + + :rtype: PaperContentRemoveFromFolderType + """ + if not self.is_paper_content_remove_from_folder(): + raise AttributeError("tag 'paper_content_remove_from_folder' not set") + return self._value + + def get_paper_content_remove_member(self): + """ + (paper) Removed team member from Paper doc/folder + + Only call this if :meth:`is_paper_content_remove_member` is true. + + :rtype: PaperContentRemoveMemberType + """ + if not self.is_paper_content_remove_member(): + raise AttributeError("tag 'paper_content_remove_member' not set") + return self._value + + def get_paper_content_rename(self): + """ + (paper) Renamed Paper doc/folder + + Only call this if :meth:`is_paper_content_rename` is true. + + :rtype: PaperContentRenameType + """ + if not self.is_paper_content_rename(): + raise AttributeError("tag 'paper_content_rename' not set") + return self._value + + def get_paper_content_restore(self): + """ + (paper) Restored archived Paper doc/folder + + Only call this if :meth:`is_paper_content_restore` is true. + + :rtype: PaperContentRestoreType + """ + if not self.is_paper_content_restore(): + raise AttributeError("tag 'paper_content_restore' not set") + return self._value + + def get_paper_doc_add_comment(self): + """ + (paper) Added Paper doc comment + + Only call this if :meth:`is_paper_doc_add_comment` is true. + + :rtype: PaperDocAddCommentType + """ + if not self.is_paper_doc_add_comment(): + raise AttributeError("tag 'paper_doc_add_comment' not set") + return self._value + + def get_paper_doc_change_member_role(self): + """ + (paper) Changed team member permissions for Paper doc + + Only call this if :meth:`is_paper_doc_change_member_role` is true. + + :rtype: PaperDocChangeMemberRoleType + """ + if not self.is_paper_doc_change_member_role(): + raise AttributeError("tag 'paper_doc_change_member_role' not set") + return self._value + + def get_paper_doc_change_sharing_policy(self): + """ + (paper) Changed sharing setting for Paper doc + + Only call this if :meth:`is_paper_doc_change_sharing_policy` is true. + + :rtype: PaperDocChangeSharingPolicyType + """ + if not self.is_paper_doc_change_sharing_policy(): + raise AttributeError("tag 'paper_doc_change_sharing_policy' not set") + return self._value + + def get_paper_doc_change_subscription(self): + """ + (paper) Followed/unfollowed Paper doc + + Only call this if :meth:`is_paper_doc_change_subscription` is true. + + :rtype: PaperDocChangeSubscriptionType + """ + if not self.is_paper_doc_change_subscription(): + raise AttributeError("tag 'paper_doc_change_subscription' not set") + return self._value + + def get_paper_doc_deleted(self): + """ + (paper) Archived Paper doc (deprecated, no longer logged) + + Only call this if :meth:`is_paper_doc_deleted` is true. + + :rtype: PaperDocDeletedType + """ + if not self.is_paper_doc_deleted(): + raise AttributeError("tag 'paper_doc_deleted' not set") + return self._value + + def get_paper_doc_delete_comment(self): + """ + (paper) Deleted Paper doc comment + + Only call this if :meth:`is_paper_doc_delete_comment` is true. + + :rtype: PaperDocDeleteCommentType + """ + if not self.is_paper_doc_delete_comment(): + raise AttributeError("tag 'paper_doc_delete_comment' not set") + return self._value + + def get_paper_doc_download(self): + """ + (paper) Downloaded Paper doc in specific format + + Only call this if :meth:`is_paper_doc_download` is true. + + :rtype: PaperDocDownloadType + """ + if not self.is_paper_doc_download(): + raise AttributeError("tag 'paper_doc_download' not set") + return self._value + + def get_paper_doc_edit(self): + """ + (paper) Edited Paper doc + + Only call this if :meth:`is_paper_doc_edit` is true. + + :rtype: PaperDocEditType + """ + if not self.is_paper_doc_edit(): + raise AttributeError("tag 'paper_doc_edit' not set") + return self._value + + def get_paper_doc_edit_comment(self): + """ + (paper) Edited Paper doc comment + + Only call this if :meth:`is_paper_doc_edit_comment` is true. + + :rtype: PaperDocEditCommentType + """ + if not self.is_paper_doc_edit_comment(): + raise AttributeError("tag 'paper_doc_edit_comment' not set") + return self._value + + def get_paper_doc_followed(self): + """ + (paper) Followed Paper doc (deprecated, replaced by 'Followed/unfollowed + Paper doc') + + Only call this if :meth:`is_paper_doc_followed` is true. + + :rtype: PaperDocFollowedType + """ + if not self.is_paper_doc_followed(): + raise AttributeError("tag 'paper_doc_followed' not set") + return self._value + + def get_paper_doc_mention(self): + """ + (paper) Mentioned team member in Paper doc + + Only call this if :meth:`is_paper_doc_mention` is true. + + :rtype: PaperDocMentionType + """ + if not self.is_paper_doc_mention(): + raise AttributeError("tag 'paper_doc_mention' not set") + return self._value + + def get_paper_doc_ownership_changed(self): + """ + (paper) Transferred ownership of Paper doc + + Only call this if :meth:`is_paper_doc_ownership_changed` is true. + + :rtype: PaperDocOwnershipChangedType + """ + if not self.is_paper_doc_ownership_changed(): + raise AttributeError("tag 'paper_doc_ownership_changed' not set") + return self._value + + def get_paper_doc_request_access(self): + """ + (paper) Requested access to Paper doc + + Only call this if :meth:`is_paper_doc_request_access` is true. + + :rtype: PaperDocRequestAccessType + """ + if not self.is_paper_doc_request_access(): + raise AttributeError("tag 'paper_doc_request_access' not set") + return self._value + + def get_paper_doc_resolve_comment(self): + """ + (paper) Resolved Paper doc comment + + Only call this if :meth:`is_paper_doc_resolve_comment` is true. + + :rtype: PaperDocResolveCommentType + """ + if not self.is_paper_doc_resolve_comment(): + raise AttributeError("tag 'paper_doc_resolve_comment' not set") + return self._value + + def get_paper_doc_revert(self): + """ + (paper) Restored Paper doc to previous version + + Only call this if :meth:`is_paper_doc_revert` is true. + + :rtype: PaperDocRevertType + """ + if not self.is_paper_doc_revert(): + raise AttributeError("tag 'paper_doc_revert' not set") + return self._value + + def get_paper_doc_slack_share(self): + """ + (paper) Shared Paper doc via Slack + + Only call this if :meth:`is_paper_doc_slack_share` is true. + + :rtype: PaperDocSlackShareType + """ + if not self.is_paper_doc_slack_share(): + raise AttributeError("tag 'paper_doc_slack_share' not set") + return self._value + + def get_paper_doc_team_invite(self): + """ + (paper) Shared Paper doc with team member (deprecated, no longer logged) + + Only call this if :meth:`is_paper_doc_team_invite` is true. + + :rtype: PaperDocTeamInviteType + """ + if not self.is_paper_doc_team_invite(): + raise AttributeError("tag 'paper_doc_team_invite' not set") + return self._value + + def get_paper_doc_trashed(self): + """ + (paper) Deleted Paper doc + + Only call this if :meth:`is_paper_doc_trashed` is true. + + :rtype: PaperDocTrashedType + """ + if not self.is_paper_doc_trashed(): + raise AttributeError("tag 'paper_doc_trashed' not set") + return self._value + + def get_paper_doc_unresolve_comment(self): + """ + (paper) Unresolved Paper doc comment + + Only call this if :meth:`is_paper_doc_unresolve_comment` is true. + + :rtype: PaperDocUnresolveCommentType + """ + if not self.is_paper_doc_unresolve_comment(): + raise AttributeError("tag 'paper_doc_unresolve_comment' not set") + return self._value + + def get_paper_doc_untrashed(self): + """ + (paper) Restored Paper doc + + Only call this if :meth:`is_paper_doc_untrashed` is true. + + :rtype: PaperDocUntrashedType + """ + if not self.is_paper_doc_untrashed(): + raise AttributeError("tag 'paper_doc_untrashed' not set") + return self._value + + def get_paper_doc_view(self): + """ + (paper) Viewed Paper doc + + Only call this if :meth:`is_paper_doc_view` is true. + + :rtype: PaperDocViewType + """ + if not self.is_paper_doc_view(): + raise AttributeError("tag 'paper_doc_view' not set") + return self._value + + def get_paper_external_view_allow(self): + """ + (paper) Changed Paper external sharing setting to anyone (deprecated, no + longer logged) + + Only call this if :meth:`is_paper_external_view_allow` is true. + + :rtype: PaperExternalViewAllowType + """ + if not self.is_paper_external_view_allow(): + raise AttributeError("tag 'paper_external_view_allow' not set") + return self._value + + def get_paper_external_view_default_team(self): + """ + (paper) Changed Paper external sharing setting to default team + (deprecated, no longer logged) + + Only call this if :meth:`is_paper_external_view_default_team` is true. + + :rtype: PaperExternalViewDefaultTeamType + """ + if not self.is_paper_external_view_default_team(): + raise AttributeError("tag 'paper_external_view_default_team' not set") + return self._value + + def get_paper_external_view_forbid(self): + """ + (paper) Changed Paper external sharing setting to team-only (deprecated, + no longer logged) + + Only call this if :meth:`is_paper_external_view_forbid` is true. + + :rtype: PaperExternalViewForbidType + """ + if not self.is_paper_external_view_forbid(): + raise AttributeError("tag 'paper_external_view_forbid' not set") + return self._value + + def get_paper_folder_change_subscription(self): + """ + (paper) Followed/unfollowed Paper folder + + Only call this if :meth:`is_paper_folder_change_subscription` is true. + + :rtype: PaperFolderChangeSubscriptionType + """ + if not self.is_paper_folder_change_subscription(): + raise AttributeError("tag 'paper_folder_change_subscription' not set") + return self._value + + def get_paper_folder_deleted(self): + """ + (paper) Archived Paper folder (deprecated, no longer logged) + + Only call this if :meth:`is_paper_folder_deleted` is true. + + :rtype: PaperFolderDeletedType + """ + if not self.is_paper_folder_deleted(): + raise AttributeError("tag 'paper_folder_deleted' not set") + return self._value + + def get_paper_folder_followed(self): + """ + (paper) Followed Paper folder (deprecated, replaced by + 'Followed/unfollowed Paper folder') + + Only call this if :meth:`is_paper_folder_followed` is true. + + :rtype: PaperFolderFollowedType + """ + if not self.is_paper_folder_followed(): + raise AttributeError("tag 'paper_folder_followed' not set") + return self._value + + def get_paper_folder_team_invite(self): + """ + (paper) Shared Paper folder with member (deprecated, no longer logged) + + Only call this if :meth:`is_paper_folder_team_invite` is true. + + :rtype: PaperFolderTeamInviteType + """ + if not self.is_paper_folder_team_invite(): + raise AttributeError("tag 'paper_folder_team_invite' not set") + return self._value + + def get_paper_published_link_create(self): + """ + (paper) Published doc + + Only call this if :meth:`is_paper_published_link_create` is true. + + :rtype: PaperPublishedLinkCreateType + """ + if not self.is_paper_published_link_create(): + raise AttributeError("tag 'paper_published_link_create' not set") + return self._value + + def get_paper_published_link_disabled(self): + """ + (paper) Unpublished doc + + Only call this if :meth:`is_paper_published_link_disabled` is true. + + :rtype: PaperPublishedLinkDisabledType + """ + if not self.is_paper_published_link_disabled(): + raise AttributeError("tag 'paper_published_link_disabled' not set") + return self._value + + def get_paper_published_link_view(self): + """ + (paper) Viewed published doc + + Only call this if :meth:`is_paper_published_link_view` is true. + + :rtype: PaperPublishedLinkViewType + """ + if not self.is_paper_published_link_view(): + raise AttributeError("tag 'paper_published_link_view' not set") + return self._value + + def get_password_change(self): + """ + (passwords) Changed password + + Only call this if :meth:`is_password_change` is true. + + :rtype: PasswordChangeType + """ + if not self.is_password_change(): + raise AttributeError("tag 'password_change' not set") + return self._value + + def get_password_reset(self): + """ + (passwords) Reset password + + Only call this if :meth:`is_password_reset` is true. + + :rtype: PasswordResetType + """ + if not self.is_password_reset(): + raise AttributeError("tag 'password_reset' not set") + return self._value + + def get_password_reset_all(self): + """ + (passwords) Reset all team member passwords + + Only call this if :meth:`is_password_reset_all` is true. + + :rtype: PasswordResetAllType + """ + if not self.is_password_reset_all(): + raise AttributeError("tag 'password_reset_all' not set") + return self._value + + def get_emm_create_exceptions_report(self): + """ + (reports) Created EMM-excluded users report + + Only call this if :meth:`is_emm_create_exceptions_report` is true. + + :rtype: EmmCreateExceptionsReportType + """ + if not self.is_emm_create_exceptions_report(): + raise AttributeError("tag 'emm_create_exceptions_report' not set") + return self._value + + def get_emm_create_usage_report(self): + """ + (reports) Created EMM mobile app usage report + + Only call this if :meth:`is_emm_create_usage_report` is true. + + :rtype: EmmCreateUsageReportType + """ + if not self.is_emm_create_usage_report(): + raise AttributeError("tag 'emm_create_usage_report' not set") + return self._value + + def get_export_members_report(self): + """ + (reports) Created member data report + + Only call this if :meth:`is_export_members_report` is true. + + :rtype: ExportMembersReportType + """ + if not self.is_export_members_report(): + raise AttributeError("tag 'export_members_report' not set") + return self._value + + def get_paper_admin_export_start(self): + """ + (reports) Exported all team Paper docs + + Only call this if :meth:`is_paper_admin_export_start` is true. + + :rtype: PaperAdminExportStartType + """ + if not self.is_paper_admin_export_start(): + raise AttributeError("tag 'paper_admin_export_start' not set") + return self._value + + def get_smart_sync_create_admin_privilege_report(self): + """ + (reports) Created Smart Sync non-admin devices report + + Only call this if :meth:`is_smart_sync_create_admin_privilege_report` is true. + + :rtype: SmartSyncCreateAdminPrivilegeReportType + """ + if not self.is_smart_sync_create_admin_privilege_report(): + raise AttributeError("tag 'smart_sync_create_admin_privilege_report' not set") + return self._value + + def get_team_activity_create_report(self): + """ + (reports) Created team activity report + + Only call this if :meth:`is_team_activity_create_report` is true. + + :rtype: TeamActivityCreateReportType + """ + if not self.is_team_activity_create_report(): + raise AttributeError("tag 'team_activity_create_report' not set") + return self._value + + def get_team_activity_create_report_fail(self): + """ + (reports) Couldn't generate team activity report + + Only call this if :meth:`is_team_activity_create_report_fail` is true. + + :rtype: TeamActivityCreateReportFailType + """ + if not self.is_team_activity_create_report_fail(): + raise AttributeError("tag 'team_activity_create_report_fail' not set") + return self._value + + def get_collection_share(self): + """ + (sharing) Shared album + + Only call this if :meth:`is_collection_share` is true. + + :rtype: CollectionShareType + """ + if not self.is_collection_share(): + raise AttributeError("tag 'collection_share' not set") + return self._value + + def get_note_acl_invite_only(self): + """ + (sharing) Changed Paper doc to invite-only (deprecated, no longer + logged) + + Only call this if :meth:`is_note_acl_invite_only` is true. + + :rtype: NoteAclInviteOnlyType + """ + if not self.is_note_acl_invite_only(): + raise AttributeError("tag 'note_acl_invite_only' not set") + return self._value + + def get_note_acl_link(self): + """ + (sharing) Changed Paper doc to link-accessible (deprecated, no longer + logged) + + Only call this if :meth:`is_note_acl_link` is true. + + :rtype: NoteAclLinkType + """ + if not self.is_note_acl_link(): + raise AttributeError("tag 'note_acl_link' not set") + return self._value + + def get_note_acl_team_link(self): + """ + (sharing) Changed Paper doc to link-accessible for team (deprecated, no + longer logged) + + Only call this if :meth:`is_note_acl_team_link` is true. + + :rtype: NoteAclTeamLinkType + """ + if not self.is_note_acl_team_link(): + raise AttributeError("tag 'note_acl_team_link' not set") + return self._value + + def get_note_shared(self): + """ + (sharing) Shared Paper doc (deprecated, no longer logged) + + Only call this if :meth:`is_note_shared` is true. + + :rtype: NoteSharedType + """ + if not self.is_note_shared(): + raise AttributeError("tag 'note_shared' not set") + return self._value + + def get_note_share_receive(self): + """ + (sharing) Shared received Paper doc (deprecated, no longer logged) + + Only call this if :meth:`is_note_share_receive` is true. + + :rtype: NoteShareReceiveType + """ + if not self.is_note_share_receive(): + raise AttributeError("tag 'note_share_receive' not set") + return self._value + + def get_open_note_shared(self): + """ + (sharing) Opened shared Paper doc (deprecated, no longer logged) + + Only call this if :meth:`is_open_note_shared` is true. + + :rtype: OpenNoteSharedType + """ + if not self.is_open_note_shared(): + raise AttributeError("tag 'open_note_shared' not set") + return self._value + + def get_sf_add_group(self): + """ + (sharing) Added team to shared folder (deprecated, no longer logged) + + Only call this if :meth:`is_sf_add_group` is true. + + :rtype: SfAddGroupType + """ + if not self.is_sf_add_group(): + raise AttributeError("tag 'sf_add_group' not set") + return self._value + + def get_sf_allow_non_members_to_view_shared_links(self): + """ + (sharing) Allowed non-collaborators to view links to files in shared + folder (deprecated, no longer logged) + + Only call this if :meth:`is_sf_allow_non_members_to_view_shared_links` is true. + + :rtype: SfAllowNonMembersToViewSharedLinksType + """ + if not self.is_sf_allow_non_members_to_view_shared_links(): + raise AttributeError("tag 'sf_allow_non_members_to_view_shared_links' not set") + return self._value + + def get_sf_external_invite_warn(self): + """ + (sharing) Set team members to see warning before sharing folders outside + team (deprecated, no longer logged) + + Only call this if :meth:`is_sf_external_invite_warn` is true. + + :rtype: SfExternalInviteWarnType + """ + if not self.is_sf_external_invite_warn(): + raise AttributeError("tag 'sf_external_invite_warn' not set") + return self._value + + def get_sf_fb_invite(self): + """ + (sharing) Invited Facebook users to shared folder (deprecated, no longer + logged) + + Only call this if :meth:`is_sf_fb_invite` is true. + + :rtype: SfFbInviteType + """ + if not self.is_sf_fb_invite(): + raise AttributeError("tag 'sf_fb_invite' not set") + return self._value + + def get_sf_fb_invite_change_role(self): + """ + (sharing) Changed Facebook user's role in shared folder (deprecated, no + longer logged) + + Only call this if :meth:`is_sf_fb_invite_change_role` is true. + + :rtype: SfFbInviteChangeRoleType + """ + if not self.is_sf_fb_invite_change_role(): + raise AttributeError("tag 'sf_fb_invite_change_role' not set") + return self._value + + def get_sf_fb_uninvite(self): + """ + (sharing) Uninvited Facebook user from shared folder (deprecated, no + longer logged) + + Only call this if :meth:`is_sf_fb_uninvite` is true. + + :rtype: SfFbUninviteType + """ + if not self.is_sf_fb_uninvite(): + raise AttributeError("tag 'sf_fb_uninvite' not set") + return self._value + + def get_sf_invite_group(self): + """ + (sharing) Invited group to shared folder (deprecated, no longer logged) + + Only call this if :meth:`is_sf_invite_group` is true. + + :rtype: SfInviteGroupType + """ + if not self.is_sf_invite_group(): + raise AttributeError("tag 'sf_invite_group' not set") + return self._value + + def get_sf_team_grant_access(self): + """ + (sharing) Granted access to shared folder (deprecated, no longer logged) + + Only call this if :meth:`is_sf_team_grant_access` is true. + + :rtype: SfTeamGrantAccessType + """ + if not self.is_sf_team_grant_access(): + raise AttributeError("tag 'sf_team_grant_access' not set") + return self._value + + def get_sf_team_invite(self): + """ + (sharing) Invited team members to shared folder (deprecated, replaced by + 'Invited user to Dropbox and added them to shared file/folder') + + Only call this if :meth:`is_sf_team_invite` is true. + + :rtype: SfTeamInviteType + """ + if not self.is_sf_team_invite(): + raise AttributeError("tag 'sf_team_invite' not set") + return self._value + + def get_sf_team_invite_change_role(self): + """ + (sharing) Changed team member's role in shared folder (deprecated, no + longer logged) + + Only call this if :meth:`is_sf_team_invite_change_role` is true. + + :rtype: SfTeamInviteChangeRoleType + """ + if not self.is_sf_team_invite_change_role(): + raise AttributeError("tag 'sf_team_invite_change_role' not set") + return self._value + + def get_sf_team_join(self): + """ + (sharing) Joined team member's shared folder (deprecated, no longer + logged) + + Only call this if :meth:`is_sf_team_join` is true. + + :rtype: SfTeamJoinType + """ + if not self.is_sf_team_join(): + raise AttributeError("tag 'sf_team_join' not set") + return self._value + + def get_sf_team_join_from_oob_link(self): + """ + (sharing) Joined team member's shared folder from link (deprecated, no + longer logged) + + Only call this if :meth:`is_sf_team_join_from_oob_link` is true. + + :rtype: SfTeamJoinFromOobLinkType + """ + if not self.is_sf_team_join_from_oob_link(): + raise AttributeError("tag 'sf_team_join_from_oob_link' not set") + return self._value + + def get_sf_team_uninvite(self): + """ + (sharing) Unshared folder with team member (deprecated, replaced by + 'Removed invitee from shared file/folder before invite was accepted') + + Only call this if :meth:`is_sf_team_uninvite` is true. + + :rtype: SfTeamUninviteType + """ + if not self.is_sf_team_uninvite(): + raise AttributeError("tag 'sf_team_uninvite' not set") + return self._value + + def get_shared_content_add_invitees(self): + """ + (sharing) Invited user to Dropbox and added them to shared file/folder + + Only call this if :meth:`is_shared_content_add_invitees` is true. + + :rtype: SharedContentAddInviteesType + """ + if not self.is_shared_content_add_invitees(): + raise AttributeError("tag 'shared_content_add_invitees' not set") + return self._value + + def get_shared_content_add_link_expiry(self): + """ + (sharing) Added expiration date to link for shared file/folder + + Only call this if :meth:`is_shared_content_add_link_expiry` is true. + + :rtype: SharedContentAddLinkExpiryType + """ + if not self.is_shared_content_add_link_expiry(): + raise AttributeError("tag 'shared_content_add_link_expiry' not set") + return self._value + + def get_shared_content_add_link_password(self): + """ + (sharing) Added password to link for shared file/folder + + Only call this if :meth:`is_shared_content_add_link_password` is true. + + :rtype: SharedContentAddLinkPasswordType + """ + if not self.is_shared_content_add_link_password(): + raise AttributeError("tag 'shared_content_add_link_password' not set") + return self._value + + def get_shared_content_add_member(self): + """ + (sharing) Added users and/or groups to shared file/folder + + Only call this if :meth:`is_shared_content_add_member` is true. + + :rtype: SharedContentAddMemberType + """ + if not self.is_shared_content_add_member(): + raise AttributeError("tag 'shared_content_add_member' not set") + return self._value + + def get_shared_content_change_downloads_policy(self): + """ + (sharing) Changed whether members can download shared file/folder + + Only call this if :meth:`is_shared_content_change_downloads_policy` is true. + + :rtype: SharedContentChangeDownloadsPolicyType + """ + if not self.is_shared_content_change_downloads_policy(): + raise AttributeError("tag 'shared_content_change_downloads_policy' not set") + return self._value + + def get_shared_content_change_invitee_role(self): + """ + (sharing) Changed access type of invitee to shared file/folder before + invite was accepted + + Only call this if :meth:`is_shared_content_change_invitee_role` is true. + + :rtype: SharedContentChangeInviteeRoleType + """ + if not self.is_shared_content_change_invitee_role(): + raise AttributeError("tag 'shared_content_change_invitee_role' not set") + return self._value + + def get_shared_content_change_link_audience(self): + """ + (sharing) Changed link audience of shared file/folder + + Only call this if :meth:`is_shared_content_change_link_audience` is true. + + :rtype: SharedContentChangeLinkAudienceType + """ + if not self.is_shared_content_change_link_audience(): + raise AttributeError("tag 'shared_content_change_link_audience' not set") + return self._value + + def get_shared_content_change_link_expiry(self): + """ + (sharing) Changed link expiration of shared file/folder + + Only call this if :meth:`is_shared_content_change_link_expiry` is true. + + :rtype: SharedContentChangeLinkExpiryType + """ + if not self.is_shared_content_change_link_expiry(): + raise AttributeError("tag 'shared_content_change_link_expiry' not set") + return self._value + + def get_shared_content_change_link_password(self): + """ + (sharing) Changed link password of shared file/folder + + Only call this if :meth:`is_shared_content_change_link_password` is true. + + :rtype: SharedContentChangeLinkPasswordType + """ + if not self.is_shared_content_change_link_password(): + raise AttributeError("tag 'shared_content_change_link_password' not set") + return self._value + + def get_shared_content_change_member_role(self): + """ + (sharing) Changed access type of shared file/folder member + + Only call this if :meth:`is_shared_content_change_member_role` is true. + + :rtype: SharedContentChangeMemberRoleType + """ + if not self.is_shared_content_change_member_role(): + raise AttributeError("tag 'shared_content_change_member_role' not set") + return self._value + + def get_shared_content_change_viewer_info_policy(self): + """ + (sharing) Changed whether members can see who viewed shared file/folder + + Only call this if :meth:`is_shared_content_change_viewer_info_policy` is true. + + :rtype: SharedContentChangeViewerInfoPolicyType + """ + if not self.is_shared_content_change_viewer_info_policy(): + raise AttributeError("tag 'shared_content_change_viewer_info_policy' not set") + return self._value + + def get_shared_content_claim_invitation(self): + """ + (sharing) Acquired membership of shared file/folder by accepting invite + + Only call this if :meth:`is_shared_content_claim_invitation` is true. + + :rtype: SharedContentClaimInvitationType + """ + if not self.is_shared_content_claim_invitation(): + raise AttributeError("tag 'shared_content_claim_invitation' not set") + return self._value + + def get_shared_content_copy(self): + """ + (sharing) Copied shared file/folder to own Dropbox + + Only call this if :meth:`is_shared_content_copy` is true. + + :rtype: SharedContentCopyType + """ + if not self.is_shared_content_copy(): + raise AttributeError("tag 'shared_content_copy' not set") + return self._value + + def get_shared_content_download(self): + """ + (sharing) Downloaded shared file/folder + + Only call this if :meth:`is_shared_content_download` is true. + + :rtype: SharedContentDownloadType + """ + if not self.is_shared_content_download(): + raise AttributeError("tag 'shared_content_download' not set") + return self._value + + def get_shared_content_relinquish_membership(self): + """ + (sharing) Left shared file/folder + + Only call this if :meth:`is_shared_content_relinquish_membership` is true. + + :rtype: SharedContentRelinquishMembershipType + """ + if not self.is_shared_content_relinquish_membership(): + raise AttributeError("tag 'shared_content_relinquish_membership' not set") + return self._value + + def get_shared_content_remove_invitees(self): + """ + (sharing) Removed invitee from shared file/folder before invite was + accepted + + Only call this if :meth:`is_shared_content_remove_invitees` is true. + + :rtype: SharedContentRemoveInviteesType + """ + if not self.is_shared_content_remove_invitees(): + raise AttributeError("tag 'shared_content_remove_invitees' not set") + return self._value + + def get_shared_content_remove_link_expiry(self): + """ + (sharing) Removed link expiration date of shared file/folder + + Only call this if :meth:`is_shared_content_remove_link_expiry` is true. + + :rtype: SharedContentRemoveLinkExpiryType + """ + if not self.is_shared_content_remove_link_expiry(): + raise AttributeError("tag 'shared_content_remove_link_expiry' not set") + return self._value + + def get_shared_content_remove_link_password(self): + """ + (sharing) Removed link password of shared file/folder + + Only call this if :meth:`is_shared_content_remove_link_password` is true. + + :rtype: SharedContentRemoveLinkPasswordType + """ + if not self.is_shared_content_remove_link_password(): + raise AttributeError("tag 'shared_content_remove_link_password' not set") + return self._value + + def get_shared_content_remove_member(self): + """ + (sharing) Removed user/group from shared file/folder + + Only call this if :meth:`is_shared_content_remove_member` is true. + + :rtype: SharedContentRemoveMemberType + """ + if not self.is_shared_content_remove_member(): + raise AttributeError("tag 'shared_content_remove_member' not set") + return self._value + + def get_shared_content_request_access(self): + """ + (sharing) Requested access to shared file/folder + + Only call this if :meth:`is_shared_content_request_access` is true. + + :rtype: SharedContentRequestAccessType + """ + if not self.is_shared_content_request_access(): + raise AttributeError("tag 'shared_content_request_access' not set") + return self._value + + def get_shared_content_unshare(self): + """ + (sharing) Unshared file/folder by clearing membership and turning off + link + + Only call this if :meth:`is_shared_content_unshare` is true. + + :rtype: SharedContentUnshareType + """ + if not self.is_shared_content_unshare(): + raise AttributeError("tag 'shared_content_unshare' not set") + return self._value + + def get_shared_content_view(self): + """ + (sharing) Previewed shared file/folder + + Only call this if :meth:`is_shared_content_view` is true. + + :rtype: SharedContentViewType + """ + if not self.is_shared_content_view(): + raise AttributeError("tag 'shared_content_view' not set") + return self._value + + def get_shared_folder_change_link_policy(self): + """ + (sharing) Changed who can access shared folder via link + + Only call this if :meth:`is_shared_folder_change_link_policy` is true. + + :rtype: SharedFolderChangeLinkPolicyType + """ + if not self.is_shared_folder_change_link_policy(): + raise AttributeError("tag 'shared_folder_change_link_policy' not set") + return self._value + + def get_shared_folder_change_members_inheritance_policy(self): + """ + (sharing) Changed whether shared folder inherits members from parent + folder + + Only call this if :meth:`is_shared_folder_change_members_inheritance_policy` is true. + + :rtype: SharedFolderChangeMembersInheritancePolicyType + """ + if not self.is_shared_folder_change_members_inheritance_policy(): + raise AttributeError("tag 'shared_folder_change_members_inheritance_policy' not set") + return self._value + + def get_shared_folder_change_members_management_policy(self): + """ + (sharing) Changed who can add/remove members of shared folder + + Only call this if :meth:`is_shared_folder_change_members_management_policy` is true. + + :rtype: SharedFolderChangeMembersManagementPolicyType + """ + if not self.is_shared_folder_change_members_management_policy(): + raise AttributeError("tag 'shared_folder_change_members_management_policy' not set") + return self._value + + def get_shared_folder_change_members_policy(self): + """ + (sharing) Changed who can become member of shared folder + + Only call this if :meth:`is_shared_folder_change_members_policy` is true. + + :rtype: SharedFolderChangeMembersPolicyType + """ + if not self.is_shared_folder_change_members_policy(): + raise AttributeError("tag 'shared_folder_change_members_policy' not set") + return self._value + + def get_shared_folder_create(self): + """ + (sharing) Created shared folder + + Only call this if :meth:`is_shared_folder_create` is true. + + :rtype: SharedFolderCreateType + """ + if not self.is_shared_folder_create(): + raise AttributeError("tag 'shared_folder_create' not set") + return self._value + + def get_shared_folder_decline_invitation(self): + """ + (sharing) Declined team member's invite to shared folder + + Only call this if :meth:`is_shared_folder_decline_invitation` is true. + + :rtype: SharedFolderDeclineInvitationType + """ + if not self.is_shared_folder_decline_invitation(): + raise AttributeError("tag 'shared_folder_decline_invitation' not set") + return self._value + + def get_shared_folder_mount(self): + """ + (sharing) Added shared folder to own Dropbox + + Only call this if :meth:`is_shared_folder_mount` is true. + + :rtype: SharedFolderMountType + """ + if not self.is_shared_folder_mount(): + raise AttributeError("tag 'shared_folder_mount' not set") + return self._value + + def get_shared_folder_nest(self): + """ + (sharing) Changed parent of shared folder + + Only call this if :meth:`is_shared_folder_nest` is true. + + :rtype: SharedFolderNestType + """ + if not self.is_shared_folder_nest(): + raise AttributeError("tag 'shared_folder_nest' not set") + return self._value + + def get_shared_folder_transfer_ownership(self): + """ + (sharing) Transferred ownership of shared folder to another member + + Only call this if :meth:`is_shared_folder_transfer_ownership` is true. + + :rtype: SharedFolderTransferOwnershipType + """ + if not self.is_shared_folder_transfer_ownership(): + raise AttributeError("tag 'shared_folder_transfer_ownership' not set") + return self._value + + def get_shared_folder_unmount(self): + """ + (sharing) Deleted shared folder from Dropbox + + Only call this if :meth:`is_shared_folder_unmount` is true. + + :rtype: SharedFolderUnmountType + """ + if not self.is_shared_folder_unmount(): + raise AttributeError("tag 'shared_folder_unmount' not set") + return self._value + + def get_shared_link_add_expiry(self): + """ + (sharing) Added shared link expiration date + + Only call this if :meth:`is_shared_link_add_expiry` is true. + + :rtype: SharedLinkAddExpiryType + """ + if not self.is_shared_link_add_expiry(): + raise AttributeError("tag 'shared_link_add_expiry' not set") + return self._value + + def get_shared_link_change_expiry(self): + """ + (sharing) Changed shared link expiration date + + Only call this if :meth:`is_shared_link_change_expiry` is true. + + :rtype: SharedLinkChangeExpiryType + """ + if not self.is_shared_link_change_expiry(): + raise AttributeError("tag 'shared_link_change_expiry' not set") + return self._value + + def get_shared_link_change_visibility(self): + """ + (sharing) Changed visibility of shared link + + Only call this if :meth:`is_shared_link_change_visibility` is true. + + :rtype: SharedLinkChangeVisibilityType + """ + if not self.is_shared_link_change_visibility(): + raise AttributeError("tag 'shared_link_change_visibility' not set") + return self._value + + def get_shared_link_copy(self): + """ + (sharing) Added file/folder to Dropbox from shared link + + Only call this if :meth:`is_shared_link_copy` is true. + + :rtype: SharedLinkCopyType + """ + if not self.is_shared_link_copy(): + raise AttributeError("tag 'shared_link_copy' not set") + return self._value + + def get_shared_link_create(self): + """ + (sharing) Created shared link + + Only call this if :meth:`is_shared_link_create` is true. + + :rtype: SharedLinkCreateType + """ + if not self.is_shared_link_create(): + raise AttributeError("tag 'shared_link_create' not set") + return self._value + + def get_shared_link_disable(self): + """ + (sharing) Removed shared link + + Only call this if :meth:`is_shared_link_disable` is true. + + :rtype: SharedLinkDisableType + """ + if not self.is_shared_link_disable(): + raise AttributeError("tag 'shared_link_disable' not set") + return self._value + + def get_shared_link_download(self): + """ + (sharing) Downloaded file/folder from shared link + + Only call this if :meth:`is_shared_link_download` is true. + + :rtype: SharedLinkDownloadType + """ + if not self.is_shared_link_download(): + raise AttributeError("tag 'shared_link_download' not set") + return self._value + + def get_shared_link_remove_expiry(self): + """ + (sharing) Removed shared link expiration date + + Only call this if :meth:`is_shared_link_remove_expiry` is true. + + :rtype: SharedLinkRemoveExpiryType + """ + if not self.is_shared_link_remove_expiry(): + raise AttributeError("tag 'shared_link_remove_expiry' not set") + return self._value + + def get_shared_link_share(self): + """ + (sharing) Added members as audience of shared link + + Only call this if :meth:`is_shared_link_share` is true. + + :rtype: SharedLinkShareType + """ + if not self.is_shared_link_share(): + raise AttributeError("tag 'shared_link_share' not set") + return self._value + + def get_shared_link_view(self): + """ + (sharing) Opened shared link + + Only call this if :meth:`is_shared_link_view` is true. + + :rtype: SharedLinkViewType + """ + if not self.is_shared_link_view(): + raise AttributeError("tag 'shared_link_view' not set") + return self._value + + def get_shared_note_opened(self): + """ + (sharing) Opened shared Paper doc (deprecated, no longer logged) + + Only call this if :meth:`is_shared_note_opened` is true. + + :rtype: SharedNoteOpenedType + """ + if not self.is_shared_note_opened(): + raise AttributeError("tag 'shared_note_opened' not set") + return self._value + + def get_shmodel_group_share(self): + """ + (sharing) Shared link with group (deprecated, no longer logged) + + Only call this if :meth:`is_shmodel_group_share` is true. + + :rtype: ShmodelGroupShareType + """ + if not self.is_shmodel_group_share(): + raise AttributeError("tag 'shmodel_group_share' not set") + return self._value + + def get_showcase_access_granted(self): + """ + (showcase) Granted access to showcase + + Only call this if :meth:`is_showcase_access_granted` is true. + + :rtype: ShowcaseAccessGrantedType + """ + if not self.is_showcase_access_granted(): + raise AttributeError("tag 'showcase_access_granted' not set") + return self._value + + def get_showcase_add_member(self): + """ + (showcase) Added member to showcase + + Only call this if :meth:`is_showcase_add_member` is true. + + :rtype: ShowcaseAddMemberType + """ + if not self.is_showcase_add_member(): + raise AttributeError("tag 'showcase_add_member' not set") + return self._value + + def get_showcase_archived(self): + """ + (showcase) Archived showcase + + Only call this if :meth:`is_showcase_archived` is true. + + :rtype: ShowcaseArchivedType + """ + if not self.is_showcase_archived(): + raise AttributeError("tag 'showcase_archived' not set") + return self._value + + def get_showcase_created(self): + """ + (showcase) Created showcase + + Only call this if :meth:`is_showcase_created` is true. + + :rtype: ShowcaseCreatedType + """ + if not self.is_showcase_created(): + raise AttributeError("tag 'showcase_created' not set") + return self._value + + def get_showcase_delete_comment(self): + """ + (showcase) Deleted showcase comment + + Only call this if :meth:`is_showcase_delete_comment` is true. + + :rtype: ShowcaseDeleteCommentType + """ + if not self.is_showcase_delete_comment(): + raise AttributeError("tag 'showcase_delete_comment' not set") + return self._value + + def get_showcase_edited(self): + """ + (showcase) Edited showcase + + Only call this if :meth:`is_showcase_edited` is true. + + :rtype: ShowcaseEditedType + """ + if not self.is_showcase_edited(): + raise AttributeError("tag 'showcase_edited' not set") + return self._value + + def get_showcase_edit_comment(self): + """ + (showcase) Edited showcase comment + + Only call this if :meth:`is_showcase_edit_comment` is true. + + :rtype: ShowcaseEditCommentType + """ + if not self.is_showcase_edit_comment(): + raise AttributeError("tag 'showcase_edit_comment' not set") + return self._value + + def get_showcase_file_added(self): + """ + (showcase) Added file to showcase + + Only call this if :meth:`is_showcase_file_added` is true. + + :rtype: ShowcaseFileAddedType + """ + if not self.is_showcase_file_added(): + raise AttributeError("tag 'showcase_file_added' not set") + return self._value + + def get_showcase_file_download(self): + """ + (showcase) Downloaded file from showcase + + Only call this if :meth:`is_showcase_file_download` is true. + + :rtype: ShowcaseFileDownloadType + """ + if not self.is_showcase_file_download(): + raise AttributeError("tag 'showcase_file_download' not set") + return self._value + + def get_showcase_file_removed(self): + """ + (showcase) Removed file from showcase + + Only call this if :meth:`is_showcase_file_removed` is true. + + :rtype: ShowcaseFileRemovedType + """ + if not self.is_showcase_file_removed(): + raise AttributeError("tag 'showcase_file_removed' not set") + return self._value + + def get_showcase_file_view(self): + """ + (showcase) Viewed file in showcase + + Only call this if :meth:`is_showcase_file_view` is true. + + :rtype: ShowcaseFileViewType + """ + if not self.is_showcase_file_view(): + raise AttributeError("tag 'showcase_file_view' not set") + return self._value + + def get_showcase_permanently_deleted(self): + """ + (showcase) Permanently deleted showcase + + Only call this if :meth:`is_showcase_permanently_deleted` is true. + + :rtype: ShowcasePermanentlyDeletedType + """ + if not self.is_showcase_permanently_deleted(): + raise AttributeError("tag 'showcase_permanently_deleted' not set") + return self._value + + def get_showcase_post_comment(self): + """ + (showcase) Added showcase comment + + Only call this if :meth:`is_showcase_post_comment` is true. + + :rtype: ShowcasePostCommentType + """ + if not self.is_showcase_post_comment(): + raise AttributeError("tag 'showcase_post_comment' not set") + return self._value + + def get_showcase_remove_member(self): + """ + (showcase) Removed member from showcase + + Only call this if :meth:`is_showcase_remove_member` is true. + + :rtype: ShowcaseRemoveMemberType + """ + if not self.is_showcase_remove_member(): + raise AttributeError("tag 'showcase_remove_member' not set") + return self._value + + def get_showcase_renamed(self): + """ + (showcase) Renamed showcase + + Only call this if :meth:`is_showcase_renamed` is true. + + :rtype: ShowcaseRenamedType + """ + if not self.is_showcase_renamed(): + raise AttributeError("tag 'showcase_renamed' not set") + return self._value + + def get_showcase_request_access(self): + """ + (showcase) Requested access to showcase + + Only call this if :meth:`is_showcase_request_access` is true. + + :rtype: ShowcaseRequestAccessType + """ + if not self.is_showcase_request_access(): + raise AttributeError("tag 'showcase_request_access' not set") + return self._value + + def get_showcase_resolve_comment(self): + """ + (showcase) Resolved showcase comment + + Only call this if :meth:`is_showcase_resolve_comment` is true. + + :rtype: ShowcaseResolveCommentType + """ + if not self.is_showcase_resolve_comment(): + raise AttributeError("tag 'showcase_resolve_comment' not set") + return self._value + + def get_showcase_restored(self): + """ + (showcase) Unarchived showcase + + Only call this if :meth:`is_showcase_restored` is true. + + :rtype: ShowcaseRestoredType + """ + if not self.is_showcase_restored(): + raise AttributeError("tag 'showcase_restored' not set") + return self._value + + def get_showcase_trashed(self): + """ + (showcase) Deleted showcase + + Only call this if :meth:`is_showcase_trashed` is true. + + :rtype: ShowcaseTrashedType + """ + if not self.is_showcase_trashed(): + raise AttributeError("tag 'showcase_trashed' not set") + return self._value + + def get_showcase_trashed_deprecated(self): + """ + (showcase) Deleted showcase (old version) (deprecated, replaced by + 'Deleted showcase') + + Only call this if :meth:`is_showcase_trashed_deprecated` is true. + + :rtype: ShowcaseTrashedDeprecatedType + """ + if not self.is_showcase_trashed_deprecated(): + raise AttributeError("tag 'showcase_trashed_deprecated' not set") + return self._value + + def get_showcase_unresolve_comment(self): + """ + (showcase) Unresolved showcase comment + + Only call this if :meth:`is_showcase_unresolve_comment` is true. + + :rtype: ShowcaseUnresolveCommentType + """ + if not self.is_showcase_unresolve_comment(): + raise AttributeError("tag 'showcase_unresolve_comment' not set") + return self._value + + def get_showcase_untrashed(self): + """ + (showcase) Restored showcase + + Only call this if :meth:`is_showcase_untrashed` is true. + + :rtype: ShowcaseUntrashedType + """ + if not self.is_showcase_untrashed(): + raise AttributeError("tag 'showcase_untrashed' not set") + return self._value + + def get_showcase_untrashed_deprecated(self): + """ + (showcase) Restored showcase (old version) (deprecated, replaced by + 'Restored showcase') + + Only call this if :meth:`is_showcase_untrashed_deprecated` is true. + + :rtype: ShowcaseUntrashedDeprecatedType + """ + if not self.is_showcase_untrashed_deprecated(): + raise AttributeError("tag 'showcase_untrashed_deprecated' not set") + return self._value + + def get_showcase_view(self): + """ + (showcase) Viewed showcase + + Only call this if :meth:`is_showcase_view` is true. + + :rtype: ShowcaseViewType + """ + if not self.is_showcase_view(): + raise AttributeError("tag 'showcase_view' not set") + return self._value + + def get_sso_add_cert(self): + """ + (sso) Added X.509 certificate for SSO + + Only call this if :meth:`is_sso_add_cert` is true. + + :rtype: SsoAddCertType + """ + if not self.is_sso_add_cert(): + raise AttributeError("tag 'sso_add_cert' not set") + return self._value + + def get_sso_add_login_url(self): + """ + (sso) Added sign-in URL for SSO + + Only call this if :meth:`is_sso_add_login_url` is true. + + :rtype: SsoAddLoginUrlType + """ + if not self.is_sso_add_login_url(): + raise AttributeError("tag 'sso_add_login_url' not set") + return self._value + + def get_sso_add_logout_url(self): + """ + (sso) Added sign-out URL for SSO + + Only call this if :meth:`is_sso_add_logout_url` is true. + + :rtype: SsoAddLogoutUrlType + """ + if not self.is_sso_add_logout_url(): + raise AttributeError("tag 'sso_add_logout_url' not set") + return self._value + + def get_sso_change_cert(self): + """ + (sso) Changed X.509 certificate for SSO + + Only call this if :meth:`is_sso_change_cert` is true. + + :rtype: SsoChangeCertType + """ + if not self.is_sso_change_cert(): + raise AttributeError("tag 'sso_change_cert' not set") + return self._value + + def get_sso_change_login_url(self): + """ + (sso) Changed sign-in URL for SSO + + Only call this if :meth:`is_sso_change_login_url` is true. + + :rtype: SsoChangeLoginUrlType + """ + if not self.is_sso_change_login_url(): + raise AttributeError("tag 'sso_change_login_url' not set") + return self._value + + def get_sso_change_logout_url(self): + """ + (sso) Changed sign-out URL for SSO + + Only call this if :meth:`is_sso_change_logout_url` is true. + + :rtype: SsoChangeLogoutUrlType + """ + if not self.is_sso_change_logout_url(): + raise AttributeError("tag 'sso_change_logout_url' not set") + return self._value + + def get_sso_change_saml_identity_mode(self): + """ + (sso) Changed SAML identity mode for SSO + + Only call this if :meth:`is_sso_change_saml_identity_mode` is true. + + :rtype: SsoChangeSamlIdentityModeType + """ + if not self.is_sso_change_saml_identity_mode(): + raise AttributeError("tag 'sso_change_saml_identity_mode' not set") + return self._value + + def get_sso_remove_cert(self): + """ + (sso) Removed X.509 certificate for SSO + + Only call this if :meth:`is_sso_remove_cert` is true. + + :rtype: SsoRemoveCertType + """ + if not self.is_sso_remove_cert(): + raise AttributeError("tag 'sso_remove_cert' not set") + return self._value + + def get_sso_remove_login_url(self): + """ + (sso) Removed sign-in URL for SSO + + Only call this if :meth:`is_sso_remove_login_url` is true. + + :rtype: SsoRemoveLoginUrlType + """ + if not self.is_sso_remove_login_url(): + raise AttributeError("tag 'sso_remove_login_url' not set") + return self._value + + def get_sso_remove_logout_url(self): + """ + (sso) Removed sign-out URL for SSO + + Only call this if :meth:`is_sso_remove_logout_url` is true. + + :rtype: SsoRemoveLogoutUrlType + """ + if not self.is_sso_remove_logout_url(): + raise AttributeError("tag 'sso_remove_logout_url' not set") + return self._value + + def get_team_folder_change_status(self): + """ + (team_folders) Changed archival status of team folder + + Only call this if :meth:`is_team_folder_change_status` is true. + + :rtype: TeamFolderChangeStatusType + """ + if not self.is_team_folder_change_status(): + raise AttributeError("tag 'team_folder_change_status' not set") + return self._value + + def get_team_folder_create(self): + """ + (team_folders) Created team folder in active status + + Only call this if :meth:`is_team_folder_create` is true. + + :rtype: TeamFolderCreateType + """ + if not self.is_team_folder_create(): + raise AttributeError("tag 'team_folder_create' not set") + return self._value + + def get_team_folder_downgrade(self): + """ + (team_folders) Downgraded team folder to regular shared folder + + Only call this if :meth:`is_team_folder_downgrade` is true. + + :rtype: TeamFolderDowngradeType + """ + if not self.is_team_folder_downgrade(): + raise AttributeError("tag 'team_folder_downgrade' not set") + return self._value + + def get_team_folder_permanently_delete(self): + """ + (team_folders) Permanently deleted archived team folder + + Only call this if :meth:`is_team_folder_permanently_delete` is true. + + :rtype: TeamFolderPermanentlyDeleteType + """ + if not self.is_team_folder_permanently_delete(): + raise AttributeError("tag 'team_folder_permanently_delete' not set") + return self._value + + def get_team_folder_rename(self): + """ + (team_folders) Renamed active/archived team folder + + Only call this if :meth:`is_team_folder_rename` is true. + + :rtype: TeamFolderRenameType + """ + if not self.is_team_folder_rename(): + raise AttributeError("tag 'team_folder_rename' not set") + return self._value + + def get_team_selective_sync_settings_changed(self): + """ + (team_folders) Changed sync default + + Only call this if :meth:`is_team_selective_sync_settings_changed` is true. + + :rtype: TeamSelectiveSyncSettingsChangedType + """ + if not self.is_team_selective_sync_settings_changed(): + raise AttributeError("tag 'team_selective_sync_settings_changed' not set") + return self._value + + def get_account_capture_change_policy(self): + """ + (team_policies) Changed account capture setting on team domain + + Only call this if :meth:`is_account_capture_change_policy` is true. + + :rtype: AccountCaptureChangePolicyType + """ + if not self.is_account_capture_change_policy(): + raise AttributeError("tag 'account_capture_change_policy' not set") + return self._value + + def get_allow_download_disabled(self): + """ + (team_policies) Disabled downloads (deprecated, no longer logged) + + Only call this if :meth:`is_allow_download_disabled` is true. + + :rtype: AllowDownloadDisabledType + """ + if not self.is_allow_download_disabled(): + raise AttributeError("tag 'allow_download_disabled' not set") + return self._value + + def get_allow_download_enabled(self): + """ + (team_policies) Enabled downloads (deprecated, no longer logged) + + Only call this if :meth:`is_allow_download_enabled` is true. + + :rtype: AllowDownloadEnabledType + """ + if not self.is_allow_download_enabled(): + raise AttributeError("tag 'allow_download_enabled' not set") + return self._value + + def get_camera_uploads_policy_changed(self): + """ + (team_policies) Changed camera uploads setting for team + + Only call this if :meth:`is_camera_uploads_policy_changed` is true. + + :rtype: CameraUploadsPolicyChangedType + """ + if not self.is_camera_uploads_policy_changed(): + raise AttributeError("tag 'camera_uploads_policy_changed' not set") + return self._value + + def get_data_placement_restriction_change_policy(self): + """ + (team_policies) Set restrictions on data center locations where team + data resides + + Only call this if :meth:`is_data_placement_restriction_change_policy` is true. + + :rtype: DataPlacementRestrictionChangePolicyType + """ + if not self.is_data_placement_restriction_change_policy(): + raise AttributeError("tag 'data_placement_restriction_change_policy' not set") + return self._value + + def get_data_placement_restriction_satisfy_policy(self): + """ + (team_policies) Completed restrictions on data center locations where + team data resides + + Only call this if :meth:`is_data_placement_restriction_satisfy_policy` is true. + + :rtype: DataPlacementRestrictionSatisfyPolicyType + """ + if not self.is_data_placement_restriction_satisfy_policy(): + raise AttributeError("tag 'data_placement_restriction_satisfy_policy' not set") + return self._value + + def get_device_approvals_change_desktop_policy(self): + """ + (team_policies) Set/removed limit on number of computers member can link + to team Dropbox account + + Only call this if :meth:`is_device_approvals_change_desktop_policy` is true. + + :rtype: DeviceApprovalsChangeDesktopPolicyType + """ + if not self.is_device_approvals_change_desktop_policy(): + raise AttributeError("tag 'device_approvals_change_desktop_policy' not set") + return self._value + + def get_device_approvals_change_mobile_policy(self): + """ + (team_policies) Set/removed limit on number of mobile devices member can + link to team Dropbox account + + Only call this if :meth:`is_device_approvals_change_mobile_policy` is true. + + :rtype: DeviceApprovalsChangeMobilePolicyType + """ + if not self.is_device_approvals_change_mobile_policy(): + raise AttributeError("tag 'device_approvals_change_mobile_policy' not set") + return self._value + + def get_device_approvals_change_overage_action(self): + """ + (team_policies) Changed device approvals setting when member is over + limit + + Only call this if :meth:`is_device_approvals_change_overage_action` is true. + + :rtype: DeviceApprovalsChangeOverageActionType + """ + if not self.is_device_approvals_change_overage_action(): + raise AttributeError("tag 'device_approvals_change_overage_action' not set") + return self._value + + def get_device_approvals_change_unlink_action(self): + """ + (team_policies) Changed device approvals setting when member unlinks + approved device + + Only call this if :meth:`is_device_approvals_change_unlink_action` is true. + + :rtype: DeviceApprovalsChangeUnlinkActionType + """ + if not self.is_device_approvals_change_unlink_action(): + raise AttributeError("tag 'device_approvals_change_unlink_action' not set") + return self._value + + def get_directory_restrictions_add_members(self): + """ + (team_policies) Added members to directory restrictions list + + Only call this if :meth:`is_directory_restrictions_add_members` is true. + + :rtype: DirectoryRestrictionsAddMembersType + """ + if not self.is_directory_restrictions_add_members(): + raise AttributeError("tag 'directory_restrictions_add_members' not set") + return self._value + + def get_directory_restrictions_remove_members(self): + """ + (team_policies) Removed members from directory restrictions list + + Only call this if :meth:`is_directory_restrictions_remove_members` is true. + + :rtype: DirectoryRestrictionsRemoveMembersType + """ + if not self.is_directory_restrictions_remove_members(): + raise AttributeError("tag 'directory_restrictions_remove_members' not set") + return self._value + + def get_emm_add_exception(self): + """ + (team_policies) Added members to EMM exception list + + Only call this if :meth:`is_emm_add_exception` is true. + + :rtype: EmmAddExceptionType + """ + if not self.is_emm_add_exception(): + raise AttributeError("tag 'emm_add_exception' not set") + return self._value + + def get_emm_change_policy(self): + """ + (team_policies) Enabled/disabled enterprise mobility management for + members + + Only call this if :meth:`is_emm_change_policy` is true. + + :rtype: EmmChangePolicyType + """ + if not self.is_emm_change_policy(): + raise AttributeError("tag 'emm_change_policy' not set") + return self._value + + def get_emm_remove_exception(self): + """ + (team_policies) Removed members from EMM exception list + + Only call this if :meth:`is_emm_remove_exception` is true. + + :rtype: EmmRemoveExceptionType + """ + if not self.is_emm_remove_exception(): + raise AttributeError("tag 'emm_remove_exception' not set") + return self._value + + def get_extended_version_history_change_policy(self): + """ + (team_policies) Accepted/opted out of extended version history + + Only call this if :meth:`is_extended_version_history_change_policy` is true. + + :rtype: ExtendedVersionHistoryChangePolicyType + """ + if not self.is_extended_version_history_change_policy(): + raise AttributeError("tag 'extended_version_history_change_policy' not set") + return self._value + + def get_file_comments_change_policy(self): + """ + (team_policies) Enabled/disabled commenting on team files + + Only call this if :meth:`is_file_comments_change_policy` is true. + + :rtype: FileCommentsChangePolicyType + """ + if not self.is_file_comments_change_policy(): + raise AttributeError("tag 'file_comments_change_policy' not set") + return self._value + + def get_file_requests_change_policy(self): + """ + (team_policies) Enabled/disabled file requests + + Only call this if :meth:`is_file_requests_change_policy` is true. + + :rtype: FileRequestsChangePolicyType + """ + if not self.is_file_requests_change_policy(): + raise AttributeError("tag 'file_requests_change_policy' not set") + return self._value + + def get_file_requests_emails_enabled(self): + """ + (team_policies) Enabled file request emails for everyone (deprecated, no + longer logged) + + Only call this if :meth:`is_file_requests_emails_enabled` is true. + + :rtype: FileRequestsEmailsEnabledType + """ + if not self.is_file_requests_emails_enabled(): + raise AttributeError("tag 'file_requests_emails_enabled' not set") + return self._value + + def get_file_requests_emails_restricted_to_team_only(self): + """ + (team_policies) Enabled file request emails for team (deprecated, no + longer logged) + + Only call this if :meth:`is_file_requests_emails_restricted_to_team_only` is true. + + :rtype: FileRequestsEmailsRestrictedToTeamOnlyType + """ + if not self.is_file_requests_emails_restricted_to_team_only(): + raise AttributeError("tag 'file_requests_emails_restricted_to_team_only' not set") + return self._value + + def get_google_sso_change_policy(self): + """ + (team_policies) Enabled/disabled Google single sign-on for team + + Only call this if :meth:`is_google_sso_change_policy` is true. + + :rtype: GoogleSsoChangePolicyType + """ + if not self.is_google_sso_change_policy(): + raise AttributeError("tag 'google_sso_change_policy' not set") + return self._value + + def get_group_user_management_change_policy(self): + """ + (team_policies) Changed who can create groups + + Only call this if :meth:`is_group_user_management_change_policy` is true. + + :rtype: GroupUserManagementChangePolicyType + """ + if not self.is_group_user_management_change_policy(): + raise AttributeError("tag 'group_user_management_change_policy' not set") + return self._value + + def get_integration_policy_changed(self): + """ + (team_policies) Changed integration policy for team + + Only call this if :meth:`is_integration_policy_changed` is true. + + :rtype: IntegrationPolicyChangedType + """ + if not self.is_integration_policy_changed(): + raise AttributeError("tag 'integration_policy_changed' not set") + return self._value + + def get_member_requests_change_policy(self): + """ + (team_policies) Changed whether users can find team when not invited + + Only call this if :meth:`is_member_requests_change_policy` is true. + + :rtype: MemberRequestsChangePolicyType + """ + if not self.is_member_requests_change_policy(): + raise AttributeError("tag 'member_requests_change_policy' not set") + return self._value + + def get_member_space_limits_add_exception(self): + """ + (team_policies) Added members to member space limit exception list + + Only call this if :meth:`is_member_space_limits_add_exception` is true. + + :rtype: MemberSpaceLimitsAddExceptionType + """ + if not self.is_member_space_limits_add_exception(): + raise AttributeError("tag 'member_space_limits_add_exception' not set") + return self._value + + def get_member_space_limits_change_caps_type_policy(self): + """ + (team_policies) Changed member space limit type for team + + Only call this if :meth:`is_member_space_limits_change_caps_type_policy` is true. + + :rtype: MemberSpaceLimitsChangeCapsTypePolicyType + """ + if not self.is_member_space_limits_change_caps_type_policy(): + raise AttributeError("tag 'member_space_limits_change_caps_type_policy' not set") + return self._value + + def get_member_space_limits_change_policy(self): + """ + (team_policies) Changed team default member space limit + + Only call this if :meth:`is_member_space_limits_change_policy` is true. + + :rtype: MemberSpaceLimitsChangePolicyType + """ + if not self.is_member_space_limits_change_policy(): + raise AttributeError("tag 'member_space_limits_change_policy' not set") + return self._value + + def get_member_space_limits_remove_exception(self): + """ + (team_policies) Removed members from member space limit exception list + + Only call this if :meth:`is_member_space_limits_remove_exception` is true. + + :rtype: MemberSpaceLimitsRemoveExceptionType + """ + if not self.is_member_space_limits_remove_exception(): + raise AttributeError("tag 'member_space_limits_remove_exception' not set") + return self._value + + def get_member_suggestions_change_policy(self): + """ + (team_policies) Enabled/disabled option for team members to suggest + people to add to team + + Only call this if :meth:`is_member_suggestions_change_policy` is true. + + :rtype: MemberSuggestionsChangePolicyType + """ + if not self.is_member_suggestions_change_policy(): + raise AttributeError("tag 'member_suggestions_change_policy' not set") + return self._value + + def get_microsoft_office_addin_change_policy(self): + """ + (team_policies) Enabled/disabled Microsoft Office add-in + + Only call this if :meth:`is_microsoft_office_addin_change_policy` is true. + + :rtype: MicrosoftOfficeAddinChangePolicyType + """ + if not self.is_microsoft_office_addin_change_policy(): + raise AttributeError("tag 'microsoft_office_addin_change_policy' not set") + return self._value + + def get_network_control_change_policy(self): + """ + (team_policies) Enabled/disabled network control + + Only call this if :meth:`is_network_control_change_policy` is true. + + :rtype: NetworkControlChangePolicyType + """ + if not self.is_network_control_change_policy(): + raise AttributeError("tag 'network_control_change_policy' not set") + return self._value + + def get_paper_change_deployment_policy(self): + """ + (team_policies) Changed whether Dropbox Paper, when enabled, is deployed + to all members or to specific members + + Only call this if :meth:`is_paper_change_deployment_policy` is true. + + :rtype: PaperChangeDeploymentPolicyType + """ + if not self.is_paper_change_deployment_policy(): + raise AttributeError("tag 'paper_change_deployment_policy' not set") + return self._value + + def get_paper_change_member_link_policy(self): + """ + (team_policies) Changed whether non-members can view Paper docs with + link (deprecated, no longer logged) + + Only call this if :meth:`is_paper_change_member_link_policy` is true. + + :rtype: PaperChangeMemberLinkPolicyType + """ + if not self.is_paper_change_member_link_policy(): + raise AttributeError("tag 'paper_change_member_link_policy' not set") + return self._value + + def get_paper_change_member_policy(self): + """ + (team_policies) Changed whether members can share Paper docs outside + team, and if docs are accessible only by team members or anyone by + default + + Only call this if :meth:`is_paper_change_member_policy` is true. + + :rtype: PaperChangeMemberPolicyType + """ + if not self.is_paper_change_member_policy(): + raise AttributeError("tag 'paper_change_member_policy' not set") + return self._value + + def get_paper_change_policy(self): + """ + (team_policies) Enabled/disabled Dropbox Paper for team + + Only call this if :meth:`is_paper_change_policy` is true. + + :rtype: PaperChangePolicyType + """ + if not self.is_paper_change_policy(): + raise AttributeError("tag 'paper_change_policy' not set") + return self._value + + def get_paper_default_folder_policy_changed(self): + """ + (team_policies) Changed Paper Default Folder Policy setting for team + + Only call this if :meth:`is_paper_default_folder_policy_changed` is true. + + :rtype: PaperDefaultFolderPolicyChangedType + """ + if not self.is_paper_default_folder_policy_changed(): + raise AttributeError("tag 'paper_default_folder_policy_changed' not set") + return self._value + + def get_paper_desktop_policy_changed(self): + """ + (team_policies) Enabled/disabled Paper Desktop for team + + Only call this if :meth:`is_paper_desktop_policy_changed` is true. + + :rtype: PaperDesktopPolicyChangedType + """ + if not self.is_paper_desktop_policy_changed(): + raise AttributeError("tag 'paper_desktop_policy_changed' not set") + return self._value + + def get_paper_enabled_users_group_addition(self): + """ + (team_policies) Added users to Paper-enabled users list + + Only call this if :meth:`is_paper_enabled_users_group_addition` is true. + + :rtype: PaperEnabledUsersGroupAdditionType + """ + if not self.is_paper_enabled_users_group_addition(): + raise AttributeError("tag 'paper_enabled_users_group_addition' not set") + return self._value + + def get_paper_enabled_users_group_removal(self): + """ + (team_policies) Removed users from Paper-enabled users list + + Only call this if :meth:`is_paper_enabled_users_group_removal` is true. + + :rtype: PaperEnabledUsersGroupRemovalType + """ + if not self.is_paper_enabled_users_group_removal(): + raise AttributeError("tag 'paper_enabled_users_group_removal' not set") + return self._value + + def get_permanent_delete_change_policy(self): + """ + (team_policies) Enabled/disabled ability of team members to permanently + delete content + + Only call this if :meth:`is_permanent_delete_change_policy` is true. + + :rtype: PermanentDeleteChangePolicyType + """ + if not self.is_permanent_delete_change_policy(): + raise AttributeError("tag 'permanent_delete_change_policy' not set") + return self._value + + def get_reseller_support_change_policy(self): + """ + (team_policies) Enabled/disabled reseller support + + Only call this if :meth:`is_reseller_support_change_policy` is true. + + :rtype: ResellerSupportChangePolicyType + """ + if not self.is_reseller_support_change_policy(): + raise AttributeError("tag 'reseller_support_change_policy' not set") + return self._value + + def get_sharing_change_folder_join_policy(self): + """ + (team_policies) Changed whether team members can join shared folders + owned outside team + + Only call this if :meth:`is_sharing_change_folder_join_policy` is true. + + :rtype: SharingChangeFolderJoinPolicyType + """ + if not self.is_sharing_change_folder_join_policy(): + raise AttributeError("tag 'sharing_change_folder_join_policy' not set") + return self._value + + def get_sharing_change_link_policy(self): + """ + (team_policies) Changed whether members can share links outside team, + and if links are accessible only by team members or anyone by default + + Only call this if :meth:`is_sharing_change_link_policy` is true. + + :rtype: SharingChangeLinkPolicyType + """ + if not self.is_sharing_change_link_policy(): + raise AttributeError("tag 'sharing_change_link_policy' not set") + return self._value + + def get_sharing_change_member_policy(self): + """ + (team_policies) Changed whether members can share files/folders outside + team + + Only call this if :meth:`is_sharing_change_member_policy` is true. + + :rtype: SharingChangeMemberPolicyType + """ + if not self.is_sharing_change_member_policy(): + raise AttributeError("tag 'sharing_change_member_policy' not set") + return self._value + + def get_showcase_change_download_policy(self): + """ + (team_policies) Enabled/disabled downloading files from Dropbox Showcase + for team + + Only call this if :meth:`is_showcase_change_download_policy` is true. + + :rtype: ShowcaseChangeDownloadPolicyType + """ + if not self.is_showcase_change_download_policy(): + raise AttributeError("tag 'showcase_change_download_policy' not set") + return self._value + + def get_showcase_change_enabled_policy(self): + """ + (team_policies) Enabled/disabled Dropbox Showcase for team + + Only call this if :meth:`is_showcase_change_enabled_policy` is true. + + :rtype: ShowcaseChangeEnabledPolicyType + """ + if not self.is_showcase_change_enabled_policy(): + raise AttributeError("tag 'showcase_change_enabled_policy' not set") + return self._value + + def get_showcase_change_external_sharing_policy(self): + """ + (team_policies) Enabled/disabled sharing Dropbox Showcase externally for + team + + Only call this if :meth:`is_showcase_change_external_sharing_policy` is true. + + :rtype: ShowcaseChangeExternalSharingPolicyType + """ + if not self.is_showcase_change_external_sharing_policy(): + raise AttributeError("tag 'showcase_change_external_sharing_policy' not set") + return self._value + + def get_smart_sync_change_policy(self): + """ + (team_policies) Changed default Smart Sync setting for team members + + Only call this if :meth:`is_smart_sync_change_policy` is true. + + :rtype: SmartSyncChangePolicyType + """ + if not self.is_smart_sync_change_policy(): + raise AttributeError("tag 'smart_sync_change_policy' not set") + return self._value + + def get_smart_sync_not_opt_out(self): + """ + (team_policies) Opted team into Smart Sync + + Only call this if :meth:`is_smart_sync_not_opt_out` is true. + + :rtype: SmartSyncNotOptOutType + """ + if not self.is_smart_sync_not_opt_out(): + raise AttributeError("tag 'smart_sync_not_opt_out' not set") + return self._value + + def get_smart_sync_opt_out(self): + """ + (team_policies) Opted team out of Smart Sync + + Only call this if :meth:`is_smart_sync_opt_out` is true. + + :rtype: SmartSyncOptOutType + """ + if not self.is_smart_sync_opt_out(): + raise AttributeError("tag 'smart_sync_opt_out' not set") + return self._value + + def get_sso_change_policy(self): + """ + (team_policies) Changed single sign-on setting for team + + Only call this if :meth:`is_sso_change_policy` is true. + + :rtype: SsoChangePolicyType + """ + if not self.is_sso_change_policy(): + raise AttributeError("tag 'sso_change_policy' not set") + return self._value + + def get_team_extensions_policy_changed(self): + """ + (team_policies) Changed App Integrations setting for team + + Only call this if :meth:`is_team_extensions_policy_changed` is true. + + :rtype: TeamExtensionsPolicyChangedType + """ + if not self.is_team_extensions_policy_changed(): + raise AttributeError("tag 'team_extensions_policy_changed' not set") + return self._value + + def get_team_selective_sync_policy_changed(self): + """ + (team_policies) Enabled/disabled Team Selective Sync for team + + Only call this if :meth:`is_team_selective_sync_policy_changed` is true. + + :rtype: TeamSelectiveSyncPolicyChangedType + """ + if not self.is_team_selective_sync_policy_changed(): + raise AttributeError("tag 'team_selective_sync_policy_changed' not set") + return self._value + + def get_tfa_change_policy(self): + """ + (team_policies) Changed two-step verification setting for team + + Only call this if :meth:`is_tfa_change_policy` is true. + + :rtype: TfaChangePolicyType + """ + if not self.is_tfa_change_policy(): + raise AttributeError("tag 'tfa_change_policy' not set") + return self._value + + def get_two_account_change_policy(self): + """ + (team_policies) Enabled/disabled option for members to link personal + Dropbox account and team account to same computer + + Only call this if :meth:`is_two_account_change_policy` is true. + + :rtype: TwoAccountChangePolicyType + """ + if not self.is_two_account_change_policy(): + raise AttributeError("tag 'two_account_change_policy' not set") + return self._value + + def get_viewer_info_policy_changed(self): + """ + (team_policies) Changed team policy for viewer info + + Only call this if :meth:`is_viewer_info_policy_changed` is true. + + :rtype: ViewerInfoPolicyChangedType + """ + if not self.is_viewer_info_policy_changed(): + raise AttributeError("tag 'viewer_info_policy_changed' not set") + return self._value + + def get_web_sessions_change_fixed_length_policy(self): + """ + (team_policies) Changed how long members can stay signed in to + Dropbox.com + + Only call this if :meth:`is_web_sessions_change_fixed_length_policy` is true. + + :rtype: WebSessionsChangeFixedLengthPolicyType + """ + if not self.is_web_sessions_change_fixed_length_policy(): + raise AttributeError("tag 'web_sessions_change_fixed_length_policy' not set") + return self._value + + def get_web_sessions_change_idle_length_policy(self): + """ + (team_policies) Changed how long team members can be idle while signed + in to Dropbox.com + + Only call this if :meth:`is_web_sessions_change_idle_length_policy` is true. + + :rtype: WebSessionsChangeIdleLengthPolicyType + """ + if not self.is_web_sessions_change_idle_length_policy(): + raise AttributeError("tag 'web_sessions_change_idle_length_policy' not set") + return self._value + + def get_team_merge_from(self): + """ + (team_profile) Merged another team into this team + + Only call this if :meth:`is_team_merge_from` is true. + + :rtype: TeamMergeFromType + """ + if not self.is_team_merge_from(): + raise AttributeError("tag 'team_merge_from' not set") + return self._value + + def get_team_merge_to(self): + """ + (team_profile) Merged this team into another team + + Only call this if :meth:`is_team_merge_to` is true. + + :rtype: TeamMergeToType + """ + if not self.is_team_merge_to(): + raise AttributeError("tag 'team_merge_to' not set") + return self._value + + def get_team_profile_add_logo(self): + """ + (team_profile) Added team logo to display on shared link headers + + Only call this if :meth:`is_team_profile_add_logo` is true. + + :rtype: TeamProfileAddLogoType + """ + if not self.is_team_profile_add_logo(): + raise AttributeError("tag 'team_profile_add_logo' not set") + return self._value + + def get_team_profile_change_default_language(self): + """ + (team_profile) Changed default language for team + + Only call this if :meth:`is_team_profile_change_default_language` is true. + + :rtype: TeamProfileChangeDefaultLanguageType + """ + if not self.is_team_profile_change_default_language(): + raise AttributeError("tag 'team_profile_change_default_language' not set") + return self._value + + def get_team_profile_change_logo(self): + """ + (team_profile) Changed team logo displayed on shared link headers + + Only call this if :meth:`is_team_profile_change_logo` is true. + + :rtype: TeamProfileChangeLogoType + """ + if not self.is_team_profile_change_logo(): + raise AttributeError("tag 'team_profile_change_logo' not set") + return self._value + + def get_team_profile_change_name(self): + """ + (team_profile) Changed team name + + Only call this if :meth:`is_team_profile_change_name` is true. + + :rtype: TeamProfileChangeNameType + """ + if not self.is_team_profile_change_name(): + raise AttributeError("tag 'team_profile_change_name' not set") + return self._value + + def get_team_profile_remove_logo(self): + """ + (team_profile) Removed team logo displayed on shared link headers + + Only call this if :meth:`is_team_profile_remove_logo` is true. + + :rtype: TeamProfileRemoveLogoType + """ + if not self.is_team_profile_remove_logo(): + raise AttributeError("tag 'team_profile_remove_logo' not set") + return self._value + + def get_tfa_add_backup_phone(self): + """ + (tfa) Added backup phone for two-step verification + + Only call this if :meth:`is_tfa_add_backup_phone` is true. + + :rtype: TfaAddBackupPhoneType + """ + if not self.is_tfa_add_backup_phone(): + raise AttributeError("tag 'tfa_add_backup_phone' not set") + return self._value + + def get_tfa_add_security_key(self): + """ + (tfa) Added security key for two-step verification + + Only call this if :meth:`is_tfa_add_security_key` is true. + + :rtype: TfaAddSecurityKeyType + """ + if not self.is_tfa_add_security_key(): + raise AttributeError("tag 'tfa_add_security_key' not set") + return self._value + + def get_tfa_change_backup_phone(self): + """ + (tfa) Changed backup phone for two-step verification + + Only call this if :meth:`is_tfa_change_backup_phone` is true. + + :rtype: TfaChangeBackupPhoneType + """ + if not self.is_tfa_change_backup_phone(): + raise AttributeError("tag 'tfa_change_backup_phone' not set") + return self._value + + def get_tfa_change_status(self): + """ + (tfa) Enabled/disabled/changed two-step verification setting + + Only call this if :meth:`is_tfa_change_status` is true. + + :rtype: TfaChangeStatusType + """ + if not self.is_tfa_change_status(): + raise AttributeError("tag 'tfa_change_status' not set") + return self._value + + def get_tfa_remove_backup_phone(self): + """ + (tfa) Removed backup phone for two-step verification + + Only call this if :meth:`is_tfa_remove_backup_phone` is true. + + :rtype: TfaRemoveBackupPhoneType + """ + if not self.is_tfa_remove_backup_phone(): + raise AttributeError("tag 'tfa_remove_backup_phone' not set") + return self._value + + def get_tfa_remove_security_key(self): + """ + (tfa) Removed security key for two-step verification + + Only call this if :meth:`is_tfa_remove_security_key` is true. + + :rtype: TfaRemoveSecurityKeyType + """ + if not self.is_tfa_remove_security_key(): + raise AttributeError("tag 'tfa_remove_security_key' not set") + return self._value + + def get_tfa_reset(self): + """ + (tfa) Reset two-step verification for team member + + Only call this if :meth:`is_tfa_reset` is true. + + :rtype: TfaResetType + """ + if not self.is_tfa_reset(): + raise AttributeError("tag 'tfa_reset' not set") + return self._value + + def get_guest_admin_change_status(self): + """ + (trusted_teams) Changed guest team admin status + + Only call this if :meth:`is_guest_admin_change_status` is true. + + :rtype: GuestAdminChangeStatusType + """ + if not self.is_guest_admin_change_status(): + raise AttributeError("tag 'guest_admin_change_status' not set") + return self._value + + def get_team_merge_request_accepted(self): + """ + (trusted_teams) Accepted a team merge request + + Only call this if :meth:`is_team_merge_request_accepted` is true. + + :rtype: TeamMergeRequestAcceptedType + """ + if not self.is_team_merge_request_accepted(): + raise AttributeError("tag 'team_merge_request_accepted' not set") + return self._value + + def get_team_merge_request_accepted_shown_to_primary_team(self): + """ + (trusted_teams) Accepted a team merge request (deprecated, replaced by + 'Accepted a team merge request') + + Only call this if :meth:`is_team_merge_request_accepted_shown_to_primary_team` is true. + + :rtype: TeamMergeRequestAcceptedShownToPrimaryTeamType + """ + if not self.is_team_merge_request_accepted_shown_to_primary_team(): + raise AttributeError("tag 'team_merge_request_accepted_shown_to_primary_team' not set") + return self._value + + def get_team_merge_request_accepted_shown_to_secondary_team(self): + """ + (trusted_teams) Accepted a team merge request (deprecated, replaced by + 'Accepted a team merge request') + + Only call this if :meth:`is_team_merge_request_accepted_shown_to_secondary_team` is true. + + :rtype: TeamMergeRequestAcceptedShownToSecondaryTeamType + """ + if not self.is_team_merge_request_accepted_shown_to_secondary_team(): + raise AttributeError("tag 'team_merge_request_accepted_shown_to_secondary_team' not set") + return self._value + + def get_team_merge_request_auto_canceled(self): + """ + (trusted_teams) Automatically canceled team merge request + + Only call this if :meth:`is_team_merge_request_auto_canceled` is true. + + :rtype: TeamMergeRequestAutoCanceledType + """ + if not self.is_team_merge_request_auto_canceled(): + raise AttributeError("tag 'team_merge_request_auto_canceled' not set") + return self._value + + def get_team_merge_request_canceled(self): + """ + (trusted_teams) Canceled a team merge request + + Only call this if :meth:`is_team_merge_request_canceled` is true. + + :rtype: TeamMergeRequestCanceledType + """ + if not self.is_team_merge_request_canceled(): + raise AttributeError("tag 'team_merge_request_canceled' not set") + return self._value + + def get_team_merge_request_canceled_shown_to_primary_team(self): + """ + (trusted_teams) Canceled a team merge request (deprecated, replaced by + 'Canceled a team merge request') + + Only call this if :meth:`is_team_merge_request_canceled_shown_to_primary_team` is true. + + :rtype: TeamMergeRequestCanceledShownToPrimaryTeamType + """ + if not self.is_team_merge_request_canceled_shown_to_primary_team(): + raise AttributeError("tag 'team_merge_request_canceled_shown_to_primary_team' not set") + return self._value + + def get_team_merge_request_canceled_shown_to_secondary_team(self): + """ + (trusted_teams) Canceled a team merge request (deprecated, replaced by + 'Canceled a team merge request') + + Only call this if :meth:`is_team_merge_request_canceled_shown_to_secondary_team` is true. + + :rtype: TeamMergeRequestCanceledShownToSecondaryTeamType + """ + if not self.is_team_merge_request_canceled_shown_to_secondary_team(): + raise AttributeError("tag 'team_merge_request_canceled_shown_to_secondary_team' not set") + return self._value + + def get_team_merge_request_expired(self): + """ + (trusted_teams) Team merge request expired + + Only call this if :meth:`is_team_merge_request_expired` is true. + + :rtype: TeamMergeRequestExpiredType + """ + if not self.is_team_merge_request_expired(): + raise AttributeError("tag 'team_merge_request_expired' not set") + return self._value + + def get_team_merge_request_expired_shown_to_primary_team(self): + """ + (trusted_teams) Team merge request expired (deprecated, replaced by + 'Team merge request expired') + + Only call this if :meth:`is_team_merge_request_expired_shown_to_primary_team` is true. + + :rtype: TeamMergeRequestExpiredShownToPrimaryTeamType + """ + if not self.is_team_merge_request_expired_shown_to_primary_team(): + raise AttributeError("tag 'team_merge_request_expired_shown_to_primary_team' not set") + return self._value + + def get_team_merge_request_expired_shown_to_secondary_team(self): + """ + (trusted_teams) Team merge request expired (deprecated, replaced by + 'Team merge request expired') + + Only call this if :meth:`is_team_merge_request_expired_shown_to_secondary_team` is true. + + :rtype: TeamMergeRequestExpiredShownToSecondaryTeamType + """ + if not self.is_team_merge_request_expired_shown_to_secondary_team(): + raise AttributeError("tag 'team_merge_request_expired_shown_to_secondary_team' not set") + return self._value + + def get_team_merge_request_rejected_shown_to_primary_team(self): + """ + (trusted_teams) Rejected a team merge request (deprecated, no longer + logged) + + Only call this if :meth:`is_team_merge_request_rejected_shown_to_primary_team` is true. + + :rtype: TeamMergeRequestRejectedShownToPrimaryTeamType + """ + if not self.is_team_merge_request_rejected_shown_to_primary_team(): + raise AttributeError("tag 'team_merge_request_rejected_shown_to_primary_team' not set") + return self._value + + def get_team_merge_request_rejected_shown_to_secondary_team(self): + """ + (trusted_teams) Rejected a team merge request (deprecated, no longer + logged) + + Only call this if :meth:`is_team_merge_request_rejected_shown_to_secondary_team` is true. + + :rtype: TeamMergeRequestRejectedShownToSecondaryTeamType + """ + if not self.is_team_merge_request_rejected_shown_to_secondary_team(): + raise AttributeError("tag 'team_merge_request_rejected_shown_to_secondary_team' not set") + return self._value + + def get_team_merge_request_reminder(self): + """ + (trusted_teams) Sent a team merge request reminder + + Only call this if :meth:`is_team_merge_request_reminder` is true. + + :rtype: TeamMergeRequestReminderType + """ + if not self.is_team_merge_request_reminder(): + raise AttributeError("tag 'team_merge_request_reminder' not set") + return self._value + + def get_team_merge_request_reminder_shown_to_primary_team(self): + """ + (trusted_teams) Sent a team merge request reminder (deprecated, replaced + by 'Sent a team merge request reminder') + + Only call this if :meth:`is_team_merge_request_reminder_shown_to_primary_team` is true. + + :rtype: TeamMergeRequestReminderShownToPrimaryTeamType + """ + if not self.is_team_merge_request_reminder_shown_to_primary_team(): + raise AttributeError("tag 'team_merge_request_reminder_shown_to_primary_team' not set") + return self._value + + def get_team_merge_request_reminder_shown_to_secondary_team(self): + """ + (trusted_teams) Sent a team merge request reminder (deprecated, replaced + by 'Sent a team merge request reminder') + + Only call this if :meth:`is_team_merge_request_reminder_shown_to_secondary_team` is true. + + :rtype: TeamMergeRequestReminderShownToSecondaryTeamType + """ + if not self.is_team_merge_request_reminder_shown_to_secondary_team(): + raise AttributeError("tag 'team_merge_request_reminder_shown_to_secondary_team' not set") + return self._value + + def get_team_merge_request_revoked(self): + """ + (trusted_teams) Canceled the team merge + + Only call this if :meth:`is_team_merge_request_revoked` is true. + + :rtype: TeamMergeRequestRevokedType + """ + if not self.is_team_merge_request_revoked(): + raise AttributeError("tag 'team_merge_request_revoked' not set") + return self._value + + def get_team_merge_request_sent_shown_to_primary_team(self): + """ + (trusted_teams) Requested to merge their Dropbox team into yours + + Only call this if :meth:`is_team_merge_request_sent_shown_to_primary_team` is true. + + :rtype: TeamMergeRequestSentShownToPrimaryTeamType + """ + if not self.is_team_merge_request_sent_shown_to_primary_team(): + raise AttributeError("tag 'team_merge_request_sent_shown_to_primary_team' not set") + return self._value + + def get_team_merge_request_sent_shown_to_secondary_team(self): + """ + (trusted_teams) Requested to merge your team into another Dropbox team + + Only call this if :meth:`is_team_merge_request_sent_shown_to_secondary_team` is true. + + :rtype: TeamMergeRequestSentShownToSecondaryTeamType + """ + if not self.is_team_merge_request_sent_shown_to_secondary_team(): + raise AttributeError("tag 'team_merge_request_sent_shown_to_secondary_team' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EventType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EventType(%r, %r)' % (self._tag, self._value) EventType_validator = bv.Union(EventType) -class ExtendedVersionHistoryChangePolicyDetails(object): +class ExportMembersReportDetails(bb.Struct): + """ + Created member data report. """ - 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__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportMembersReportDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExportMembersReportDetails()' + +ExportMembersReportDetails_validator = bv.Struct(ExportMembersReportDetails) + +class ExportMembersReportType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExportMembersReportType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExportMembersReportType(description={!r})'.format( + self._description_value, + ) + +ExportMembersReportType_validator = bv.Struct(ExportMembersReportType) + +class ExtendedVersionHistoryChangePolicyDetails(bb.Struct): + """ + Accepted/opted out of extended version history. + + :ivar team_log.ExtendedVersionHistoryChangePolicyDetails.new_value: New + extended version history policy. + :ivar team_log.ExtendedVersionHistoryChangePolicyDetails.previous_value: + Previous extended version history policy. Might be missing due to + historical data gap. """ __slots__ = [ @@ -17027,6 +29661,9 @@ class ExtendedVersionHistoryChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExtendedVersionHistoryChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ExtendedVersionHistoryChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -17035,6 +29672,53 @@ class ExtendedVersionHistoryChangePolicyDetails(object): ExtendedVersionHistoryChangePolicyDetails_validator = bv.Struct(ExtendedVersionHistoryChangePolicyDetails) +class ExtendedVersionHistoryChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExtendedVersionHistoryChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExtendedVersionHistoryChangePolicyType(description={!r})'.format( + self._description_value, + ) + +ExtendedVersionHistoryChangePolicyType_validator = bv.Struct(ExtendedVersionHistoryChangePolicyType) + class ExtendedVersionHistoryPolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -17050,6 +29734,8 @@ class ExtendedVersionHistoryPolicy(bb.Union): # Attribute is overwritten below the class definition implicitly_limited = None # Attribute is overwritten below the class definition + implicitly_unlimited = None + # Attribute is overwritten below the class definition other = None def is_explicitly_limited(self): @@ -17076,6 +29762,14 @@ class ExtendedVersionHistoryPolicy(bb.Union): """ return self._tag == 'implicitly_limited' + def is_implicitly_unlimited(self): + """ + Check if the union tag is ``implicitly_unlimited``. + + :rtype: bool + """ + return self._tag == 'implicitly_unlimited' + def is_other(self): """ Check if the union tag is ``other``. @@ -17084,19 +29778,109 @@ class ExtendedVersionHistoryPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExtendedVersionHistoryPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ExtendedVersionHistoryPolicy(%r, %r)' % (self._tag, self._value) ExtendedVersionHistoryPolicy_validator = bv.Union(ExtendedVersionHistoryPolicy) -class FailureDetailsLogInfo(object): +class ExternalUserLogInfo(bb.Struct): + """ + A user without a Dropbox account. + + :ivar team_log.ExternalUserLogInfo.user_identifier: An external user + identifier. + :ivar team_log.ExternalUserLogInfo.identifier_type: Identifier type. + """ + + __slots__ = [ + '_user_identifier_value', + '_user_identifier_present', + '_identifier_type_value', + '_identifier_type_present', + ] + + _has_required_fields = True + + def __init__(self, + user_identifier=None, + identifier_type=None): + self._user_identifier_value = None + self._user_identifier_present = False + self._identifier_type_value = None + self._identifier_type_present = False + if user_identifier is not None: + self.user_identifier = user_identifier + if identifier_type is not None: + self.identifier_type = identifier_type + + @property + def user_identifier(self): + """ + An external user identifier. + + :rtype: str + """ + if self._user_identifier_present: + return self._user_identifier_value + else: + raise AttributeError("missing required field 'user_identifier'") + + @user_identifier.setter + def user_identifier(self, val): + val = self._user_identifier_validator.validate(val) + self._user_identifier_value = val + self._user_identifier_present = True + + @user_identifier.deleter + def user_identifier(self): + self._user_identifier_value = None + self._user_identifier_present = False + + @property + def identifier_type(self): + """ + Identifier type. + + :rtype: IdentifierType + """ + if self._identifier_type_present: + return self._identifier_type_value + else: + raise AttributeError("missing required field 'identifier_type'") + + @identifier_type.setter + def identifier_type(self, val): + self._identifier_type_validator.validate_type_only(val) + self._identifier_type_value = val + self._identifier_type_present = True + + @identifier_type.deleter + def identifier_type(self): + self._identifier_type_value = None + self._identifier_type_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ExternalUserLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ExternalUserLogInfo(user_identifier={!r}, identifier_type={!r})'.format( + self._user_identifier_value, + self._identifier_type_value, + ) + +ExternalUserLogInfo_validator = bv.Struct(ExternalUserLogInfo) + +class FailureDetailsLogInfo(bb.Struct): """ Provides details about a failure - :ivar user_friendly_message: A user friendly explanation of the error. Might - be missing due to historical data gap. - :ivar technical_error_message: A technical explanation of the error. This is - relevant for some errors. + :ivar team_log.FailureDetailsLogInfo.user_friendly_message: A user friendly + explanation of the error. Might be missing due to historical data gap. + :ivar team_log.FailureDetailsLogInfo.technical_error_message: A technical + explanation of the error. This is relevant for some errors. """ __slots__ = [ @@ -17173,6 +29957,9 @@ class FailureDetailsLogInfo(object): self._technical_error_message_value = None self._technical_error_message_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FailureDetailsLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FailureDetailsLogInfo(user_friendly_message={!r}, technical_error_message={!r})'.format( self._user_friendly_message_value, @@ -17181,59 +29968,28 @@ class FailureDetailsLogInfo(object): FailureDetailsLogInfo_validator = bv.Struct(FailureDetailsLogInfo) -class FileAddCommentDetails(object): +class FileAddCommentDetails(bb.Struct): """ - Added a file comment. + Added file comment. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. + :ivar team_log.FileAddCommentDetails.comment_text: Comment text. Might be + missing due to historical data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', '_comment_text_value', '_comment_text_present', ] - _has_required_fields = True + _has_required_fields = False def __init__(self, - target_asset_index=None, comment_text=None): - self._target_asset_index_value = None - self._target_asset_index_present = False self._comment_text_value = None self._comment_text_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index if comment_text is not None: self.comment_text = comment_text - @property - def target_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False - @property def comment_text(self): """ @@ -17260,15 +30016,64 @@ class FileAddCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileAddCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileAddCommentDetails(target_asset_index={!r}, comment_text={!r})'.format( - self._target_asset_index_value, + return 'FileAddCommentDetails(comment_text={!r})'.format( self._comment_text_value, ) FileAddCommentDetails_validator = bv.Struct(FileAddCommentDetails) -class FileAddDetails(object): +class FileAddCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileAddCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileAddCommentType(description={!r})'.format( + self._description_value, + ) + +FileAddCommentType_validator = bv.Struct(FileAddCommentType) + +class FileAddDetails(bb.Struct): """ Added files and/or folders. """ @@ -17281,24 +30086,72 @@ class FileAddDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileAddDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileAddDetails()' FileAddDetails_validator = bv.Struct(FileAddDetails) -class FileChangeCommentSubscriptionDetails(object): +class FileAddType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileAddType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileAddType(description={!r})'.format( + self._description_value, + ) + +FileAddType_validator = bv.Struct(FileAddType) + +class FileChangeCommentSubscriptionDetails(bb.Struct): """ Subscribed to or unsubscribed from comment notifications for file. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar new_value: New file comment subscription. - :ivar previous_value: Previous file comment subscription. Might be missing - due to historical data gap. + :ivar team_log.FileChangeCommentSubscriptionDetails.new_value: New file + comment subscription. + :ivar team_log.FileChangeCommentSubscriptionDetails.previous_value: Previous + file comment subscription. Might be missing due to historical data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', '_new_value_value', '_new_value_present', '_previous_value_value', @@ -17308,45 +30161,17 @@ class FileChangeCommentSubscriptionDetails(object): _has_required_fields = True def __init__(self, - target_asset_index=None, new_value=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_index_present = False self._new_value_value = None self._new_value_present = False self._previous_value_value = None self._previous_value_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index 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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False - @property def new_value(self): """ @@ -17397,15 +30222,64 @@ class FileChangeCommentSubscriptionDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileChangeCommentSubscriptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileChangeCommentSubscriptionDetails(target_asset_index={!r}, new_value={!r}, previous_value={!r})'.format( - self._target_asset_index_value, + return 'FileChangeCommentSubscriptionDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, self._previous_value_value, ) FileChangeCommentSubscriptionDetails_validator = bv.Struct(FileChangeCommentSubscriptionDetails) +class FileChangeCommentSubscriptionType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileChangeCommentSubscriptionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileChangeCommentSubscriptionType(description={!r})'.format( + self._description_value, + ) + +FileChangeCommentSubscriptionType_validator = bv.Struct(FileChangeCommentSubscriptionType) + class FileCommentNotificationPolicy(bb.Union): """ Enable or disable file comments notifications @@ -17447,18 +30321,23 @@ class FileCommentNotificationPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileCommentNotificationPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileCommentNotificationPolicy(%r, %r)' % (self._tag, self._value) FileCommentNotificationPolicy_validator = bv.Union(FileCommentNotificationPolicy) -class FileCommentsChangePolicyDetails(object): +class FileCommentsChangePolicyDetails(bb.Struct): """ - Enabled or disabled commenting on team files. + Enabled/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. + :ivar team_log.FileCommentsChangePolicyDetails.new_value: New commenting on + team files policy. + :ivar team_log.FileCommentsChangePolicyDetails.previous_value: Previous + commenting on team files policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -17532,6 +30411,9 @@ class FileCommentsChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileCommentsChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileCommentsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -17540,6 +30422,53 @@ class FileCommentsChangePolicyDetails(object): FileCommentsChangePolicyDetails_validator = bv.Struct(FileCommentsChangePolicyDetails) +class FileCommentsChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileCommentsChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileCommentsChangePolicyType(description={!r})'.format( + self._description_value, + ) + +FileCommentsChangePolicyType_validator = bv.Struct(FileCommentsChangePolicyType) + class FileCommentsPolicy(bb.Union): """ File comments policy @@ -17581,16 +30510,20 @@ class FileCommentsPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileCommentsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileCommentsPolicy(%r, %r)' % (self._tag, self._value) FileCommentsPolicy_validator = bv.Union(FileCommentsPolicy) -class FileCopyDetails(object): +class FileCopyDetails(bb.Struct): """ Copied files and/or folders. - :ivar relocate_action_details: Relocate action details. + :ivar team_log.FileCopyDetails.relocate_action_details: Relocate action + details. """ __slots__ = [ @@ -17630,6 +30563,9 @@ class FileCopyDetails(object): self._relocate_action_details_value = None self._relocate_action_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileCopyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileCopyDetails(relocate_action_details={!r})'.format( self._relocate_action_details_value, @@ -17637,58 +30573,74 @@ class FileCopyDetails(object): FileCopyDetails_validator = bv.Struct(FileCopyDetails) -class FileDeleteCommentDetails(object): - """ - Deleted a file comment. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. - """ +class FileCopyType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_comment_text_value', - '_comment_text_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - comment_text=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._comment_text_value = None - self._comment_text_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if comment_text is not None: - self.comment_text = comment_text + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long + :rtype: str """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'description'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileCopyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileCopyType(description={!r})'.format( + self._description_value, + ) + +FileCopyType_validator = bv.Struct(FileCopyType) + +class FileDeleteCommentDetails(bb.Struct): + """ + Deleted file comment. + + :ivar team_log.FileDeleteCommentDetails.comment_text: Comment text. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = False + + def __init__(self, + comment_text=None): + self._comment_text_value = None + self._comment_text_present = False + if comment_text is not None: + self.comment_text = comment_text @property def comment_text(self): @@ -17716,15 +30668,64 @@ class FileDeleteCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileDeleteCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileDeleteCommentDetails(target_asset_index={!r}, comment_text={!r})'.format( - self._target_asset_index_value, + return 'FileDeleteCommentDetails(comment_text={!r})'.format( self._comment_text_value, ) FileDeleteCommentDetails_validator = bv.Struct(FileDeleteCommentDetails) -class FileDeleteDetails(object): +class FileDeleteCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileDeleteCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileDeleteCommentType(description={!r})'.format( + self._description_value, + ) + +FileDeleteCommentType_validator = bv.Struct(FileDeleteCommentType) + +class FileDeleteDetails(bb.Struct): """ Deleted files and/or folders. """ @@ -17737,12 +30738,62 @@ class FileDeleteDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileDeleteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileDeleteDetails()' FileDeleteDetails_validator = bv.Struct(FileDeleteDetails) -class FileDownloadDetails(object): +class FileDeleteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileDeleteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileDeleteType(description={!r})'.format( + self._description_value, + ) + +FileDeleteType_validator = bv.Struct(FileDeleteType) + +class FileDownloadDetails(bb.Struct): """ Downloaded files and/or folders. """ @@ -17755,99 +30806,91 @@ class FileDownloadDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileDownloadDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileDownloadDetails()' FileDownloadDetails_validator = bv.Struct(FileDownloadDetails) -class FileEditDetails(object): - """ - Edited files. - """ +class FileDownloadType(bb.Struct): __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_asset_index: Target asset position in the Assets list. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_comment_text_value', - '_comment_text_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - comment_text=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._comment_text_value = None - self._comment_text_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if comment_text is not None: - self.comment_text = comment_text + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long + :rtype: str """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'description'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileDownloadType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileDownloadType(description={!r})'.format( + self._description_value, + ) + +FileDownloadType_validator = bv.Struct(FileDownloadType) + +class FileEditCommentDetails(bb.Struct): + """ + Edited file comment. + + :ivar team_log.FileEditCommentDetails.comment_text: Comment text. Might be + missing due to historical data gap. + :ivar team_log.FileEditCommentDetails.previous_comment_text: Previous + comment text. + """ + + __slots__ = [ + '_comment_text_value', + '_comment_text_present', + '_previous_comment_text_value', + '_previous_comment_text_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_comment_text=None, + comment_text=None): + self._comment_text_value = None + self._comment_text_present = False + self._previous_comment_text_value = None + self._previous_comment_text_present = False + if comment_text is not None: + self.comment_text = comment_text + if previous_comment_text is not None: + self.previous_comment_text = previous_comment_text @property def comment_text(self): @@ -17875,22 +30918,337 @@ class FileLikeCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + @property + def previous_comment_text(self): + """ + Previous comment text. + + :rtype: str + """ + if self._previous_comment_text_present: + return self._previous_comment_text_value + else: + raise AttributeError("missing required field 'previous_comment_text'") + + @previous_comment_text.setter + def previous_comment_text(self, val): + val = self._previous_comment_text_validator.validate(val) + self._previous_comment_text_value = val + self._previous_comment_text_present = True + + @previous_comment_text.deleter + def previous_comment_text(self): + self._previous_comment_text_value = None + self._previous_comment_text_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileEditCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileLikeCommentDetails(target_asset_index={!r}, comment_text={!r})'.format( - self._target_asset_index_value, + return 'FileEditCommentDetails(previous_comment_text={!r}, comment_text={!r})'.format( + self._previous_comment_text_value, + self._comment_text_value, + ) + +FileEditCommentDetails_validator = bv.Struct(FileEditCommentDetails) + +class FileEditCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileEditCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileEditCommentType(description={!r})'.format( + self._description_value, + ) + +FileEditCommentType_validator = bv.Struct(FileEditCommentType) + +class FileEditDetails(bb.Struct): + """ + Edited files. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileEditDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileEditDetails()' + +FileEditDetails_validator = bv.Struct(FileEditDetails) + +class FileEditType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileEditType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileEditType(description={!r})'.format( + self._description_value, + ) + +FileEditType_validator = bv.Struct(FileEditType) + +class FileGetCopyReferenceDetails(bb.Struct): + """ + Created copy reference to file/folder. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileGetCopyReferenceDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileGetCopyReferenceDetails()' + +FileGetCopyReferenceDetails_validator = bv.Struct(FileGetCopyReferenceDetails) + +class FileGetCopyReferenceType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileGetCopyReferenceType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileGetCopyReferenceType(description={!r})'.format( + self._description_value, + ) + +FileGetCopyReferenceType_validator = bv.Struct(FileGetCopyReferenceType) + +class FileLikeCommentDetails(bb.Struct): + """ + Liked file comment. + + :ivar team_log.FileLikeCommentDetails.comment_text: Comment text. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = False + + def __init__(self, + comment_text=None): + self._comment_text_value = None + self._comment_text_present = False + if comment_text is not None: + self.comment_text = comment_text + + @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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileLikeCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileLikeCommentDetails(comment_text={!r})'.format( self._comment_text_value, ) FileLikeCommentDetails_validator = bv.Struct(FileLikeCommentDetails) -class FileOrFolderLogInfo(object): +class FileLikeCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileLikeCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileLikeCommentType(description={!r})'.format( + self._description_value, + ) + +FileLikeCommentType_validator = bv.Struct(FileLikeCommentType) + +class FileOrFolderLogInfo(bb.Struct): """ 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. + :ivar team_log.FileOrFolderLogInfo.path: Path relative to event context. + :ivar team_log.FileOrFolderLogInfo.display_name: Display name. Might be + missing due to historical data gap. + :ivar team_log.FileOrFolderLogInfo.file_id: Unique ID. Might be missing due + to historical data gap. """ __slots__ = [ @@ -17996,6 +31354,9 @@ class FileOrFolderLogInfo(object): self._file_id_value = None self._file_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileOrFolderLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileOrFolderLogInfo(path={!r}, display_name={!r}, file_id={!r})'.format( self._path_value, @@ -18023,6 +31384,9 @@ class FileLogInfo(FileOrFolderLogInfo): display_name, file_id) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileLogInfo(path={!r}, display_name={!r}, file_id={!r})'.format( self._path_value, @@ -18032,11 +31396,12 @@ class FileLogInfo(FileOrFolderLogInfo): FileLogInfo_validator = bv.Struct(FileLogInfo) -class FileMoveDetails(object): +class FileMoveDetails(bb.Struct): """ Moved files and/or folders. - :ivar relocate_action_details: Relocate action details. + :ivar team_log.FileMoveDetails.relocate_action_details: Relocate action + details. """ __slots__ = [ @@ -18076,6 +31441,9 @@ class FileMoveDetails(object): self._relocate_action_details_value = None self._relocate_action_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileMoveDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileMoveDetails(relocate_action_details={!r})'.format( self._relocate_action_details_value, @@ -18083,7 +31451,54 @@ class FileMoveDetails(object): FileMoveDetails_validator = bv.Struct(FileMoveDetails) -class FilePermanentlyDeleteDetails(object): +class FileMoveType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileMoveType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileMoveType(description={!r})'.format( + self._description_value, + ) + +FileMoveType_validator = bv.Struct(FileMoveType) + +class FilePermanentlyDeleteDetails(bb.Struct): """ Permanently deleted files and/or folders. """ @@ -18096,12 +31511,62 @@ class FilePermanentlyDeleteDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FilePermanentlyDeleteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FilePermanentlyDeleteDetails()' FilePermanentlyDeleteDetails_validator = bv.Struct(FilePermanentlyDeleteDetails) -class FilePreviewDetails(object): +class FilePermanentlyDeleteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FilePermanentlyDeleteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FilePermanentlyDeleteType(description={!r})'.format( + self._description_value, + ) + +FilePermanentlyDeleteType_validator = bv.Struct(FilePermanentlyDeleteType) + +class FilePreviewDetails(bb.Struct): """ Previewed files and/or folders. """ @@ -18114,16 +31579,67 @@ class FilePreviewDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FilePreviewDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FilePreviewDetails()' FilePreviewDetails_validator = bv.Struct(FilePreviewDetails) -class FileRenameDetails(object): +class FilePreviewType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FilePreviewType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FilePreviewType(description={!r})'.format( + self._description_value, + ) + +FilePreviewType_validator = bv.Struct(FilePreviewType) + +class FileRenameDetails(bb.Struct): """ Renamed files and/or folders. - :ivar relocate_action_details: Relocate action details. + :ivar team_log.FileRenameDetails.relocate_action_details: Relocate action + details. """ __slots__ = [ @@ -18163,6 +31679,9 @@ class FileRenameDetails(object): self._relocate_action_details_value = None self._relocate_action_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRenameDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRenameDetails(relocate_action_details={!r})'.format( self._relocate_action_details_value, @@ -18170,330 +31689,950 @@ class FileRenameDetails(object): FileRenameDetails_validator = bv.Struct(FileRenameDetails) -class FileRequestAddDeadlineDetails(object): - """ - Added a deadline to a file request. - - :ivar request_title: File request title. - """ +class FileRenameType(bb.Struct): __slots__ = [ - '_request_title_value', - '_request_title_present', + '_description_value', + '_description_present', ] - _has_required_fields = False + _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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def request_title(self): + def description(self): """ - File request title. - :rtype: str """ - if self._request_title_present: - return self._request_title_value + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @request_title.setter - def request_title(self, val): - if val is None: - del self.request_title - return - val = self._request_title_validator.validate(val) - self._request_title_value = val - self._request_title_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @request_title.deleter - def request_title(self): - self._request_title_value = None - self._request_title_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRenameType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'FileRequestAddDeadlineDetails(request_title={!r})'.format( - self._request_title_value, + return 'FileRenameType(description={!r})'.format( + self._description_value, ) -FileRequestAddDeadlineDetails_validator = bv.Struct(FileRequestAddDeadlineDetails) +FileRenameType_validator = bv.Struct(FileRenameType) -class FileRequestChangeFolderDetails(object): +class FileRequestChangeDetails(bb.Struct): """ - Changed the file request folder. + Changed file request. - :ivar request_title: File request title. + :ivar team_log.FileRequestChangeDetails.file_request_id: File request id. + Might be missing due to historical data gap. + :ivar team_log.FileRequestChangeDetails.previous_details: Previous file + request details. Might be missing due to historical data gap. + :ivar team_log.FileRequestChangeDetails.new_details: New file request + details. """ __slots__ = [ - '_request_title_value', - '_request_title_present', + '_file_request_id_value', + '_file_request_id_present', + '_previous_details_value', + '_previous_details_present', + '_new_details_value', + '_new_details_present', ] - _has_required_fields = False + _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 + new_details=None, + file_request_id=None, + previous_details=None): + self._file_request_id_value = None + self._file_request_id_present = False + self._previous_details_value = None + self._previous_details_present = False + self._new_details_value = None + self._new_details_present = False + if file_request_id is not None: + self.file_request_id = file_request_id + if previous_details is not None: + self.previous_details = previous_details + if new_details is not None: + self.new_details = new_details @property - def request_title(self): + def file_request_id(self): """ - File request title. + File request id. Might be missing due to historical data gap. :rtype: str """ - if self._request_title_present: - return self._request_title_value + if self._file_request_id_present: + return self._file_request_id_value else: return None - @request_title.setter - def request_title(self, val): + @file_request_id.setter + def file_request_id(self, val): if val is None: - del self.request_title + del self.file_request_id return - val = self._request_title_validator.validate(val) - self._request_title_value = val - self._request_title_present = True + val = self._file_request_id_validator.validate(val) + self._file_request_id_value = val + self._file_request_id_present = True - @request_title.deleter - def request_title(self): - self._request_title_value = None - self._request_title_present = False + @file_request_id.deleter + def file_request_id(self): + self._file_request_id_value = None + self._file_request_id_present = False + + @property + def previous_details(self): + """ + Previous file request details. Might be missing due to historical data + gap. + + :rtype: FileRequestDetails + """ + if self._previous_details_present: + return self._previous_details_value + else: + return None + + @previous_details.setter + def previous_details(self, val): + if val is None: + del self.previous_details + return + self._previous_details_validator.validate_type_only(val) + self._previous_details_value = val + self._previous_details_present = True + + @previous_details.deleter + def previous_details(self): + self._previous_details_value = None + self._previous_details_present = False + + @property + def new_details(self): + """ + New file request details. + + :rtype: FileRequestDetails + """ + if self._new_details_present: + return self._new_details_value + else: + raise AttributeError("missing required field 'new_details'") + + @new_details.setter + def new_details(self, val): + self._new_details_validator.validate_type_only(val) + self._new_details_value = val + self._new_details_present = True + + @new_details.deleter + def new_details(self): + self._new_details_value = None + self._new_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestChangeDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'FileRequestChangeFolderDetails(request_title={!r})'.format( - self._request_title_value, + return 'FileRequestChangeDetails(new_details={!r}, file_request_id={!r}, previous_details={!r})'.format( + self._new_details_value, + self._file_request_id_value, + self._previous_details_value, ) -FileRequestChangeFolderDetails_validator = bv.Struct(FileRequestChangeFolderDetails) +FileRequestChangeDetails_validator = bv.Struct(FileRequestChangeDetails) -class FileRequestChangeTitleDetails(object): - """ - Change the file request title. - - :ivar request_title: File request title. - """ +class FileRequestChangeType(bb.Struct): __slots__ = [ - '_request_title_value', - '_request_title_present', + '_description_value', + '_description_present', ] - _has_required_fields = False + _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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def request_title(self): + def description(self): """ - File request title. - :rtype: str """ - if self._request_title_present: - return self._request_title_value + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @request_title.setter - def request_title(self, val): - if val is None: - del self.request_title - return - val = self._request_title_validator.validate(val) - self._request_title_value = val - self._request_title_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @request_title.deleter - def request_title(self): - self._request_title_value = None - self._request_title_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestChangeType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'FileRequestChangeTitleDetails(request_title={!r})'.format( - self._request_title_value, + return 'FileRequestChangeType(description={!r})'.format( + self._description_value, ) -FileRequestChangeTitleDetails_validator = bv.Struct(FileRequestChangeTitleDetails) +FileRequestChangeType_validator = bv.Struct(FileRequestChangeType) -class FileRequestCloseDetails(object): +class FileRequestCloseDetails(bb.Struct): """ - Closed a file request. + Closed file request. - :ivar request_title: File request title. + :ivar team_log.FileRequestCloseDetails.file_request_id: File request id. + Might be missing due to historical data gap. + :ivar team_log.FileRequestCloseDetails.previous_details: Previous file + request details. Might be missing due to historical data gap. """ __slots__ = [ - '_request_title_value', - '_request_title_present', + '_file_request_id_value', + '_file_request_id_present', + '_previous_details_value', + '_previous_details_present', ] _has_required_fields = False 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 + file_request_id=None, + previous_details=None): + self._file_request_id_value = None + self._file_request_id_present = False + self._previous_details_value = None + self._previous_details_present = False + if file_request_id is not None: + self.file_request_id = file_request_id + if previous_details is not None: + self.previous_details = previous_details @property - def request_title(self): + def file_request_id(self): """ - File request title. + File request id. Might be missing due to historical data gap. :rtype: str """ - if self._request_title_present: - return self._request_title_value + if self._file_request_id_present: + return self._file_request_id_value else: return None - @request_title.setter - def request_title(self, val): + @file_request_id.setter + def file_request_id(self, val): if val is None: - del self.request_title + del self.file_request_id return - val = self._request_title_validator.validate(val) - self._request_title_value = val - self._request_title_present = True + val = self._file_request_id_validator.validate(val) + self._file_request_id_value = val + self._file_request_id_present = True - @request_title.deleter - def request_title(self): - self._request_title_value = None - self._request_title_present = False + @file_request_id.deleter + def file_request_id(self): + self._file_request_id_value = None + self._file_request_id_present = False + + @property + def previous_details(self): + """ + Previous file request details. Might be missing due to historical data + gap. + + :rtype: FileRequestDetails + """ + if self._previous_details_present: + return self._previous_details_value + else: + return None + + @previous_details.setter + def previous_details(self, val): + if val is None: + del self.previous_details + return + self._previous_details_validator.validate_type_only(val) + self._previous_details_value = val + self._previous_details_present = True + + @previous_details.deleter + def previous_details(self): + self._previous_details_value = None + self._previous_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestCloseDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'FileRequestCloseDetails(request_title={!r})'.format( - self._request_title_value, + return 'FileRequestCloseDetails(file_request_id={!r}, previous_details={!r})'.format( + self._file_request_id_value, + self._previous_details_value, ) FileRequestCloseDetails_validator = bv.Struct(FileRequestCloseDetails) -class FileRequestCreateDetails(object): - """ - Created a file request. +class FileRequestCloseType(bb.Struct): - :ivar request_title: File request title. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestCloseType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestCloseType(description={!r})'.format( + self._description_value, + ) + +FileRequestCloseType_validator = bv.Struct(FileRequestCloseType) + +class FileRequestCreateDetails(bb.Struct): + """ + Created file request. + + :ivar team_log.FileRequestCreateDetails.file_request_id: File request id. + Might be missing due to historical data gap. + :ivar team_log.FileRequestCreateDetails.request_details: File request + details. Might be missing due to historical data gap. """ __slots__ = [ - '_request_title_value', - '_request_title_present', + '_file_request_id_value', + '_file_request_id_present', + '_request_details_value', + '_request_details_present', ] _has_required_fields = False 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 + file_request_id=None, + request_details=None): + self._file_request_id_value = None + self._file_request_id_present = False + self._request_details_value = None + self._request_details_present = False + if file_request_id is not None: + self.file_request_id = file_request_id + if request_details is not None: + self.request_details = request_details @property - def request_title(self): + def file_request_id(self): """ - File request title. + File request id. Might be missing due to historical data gap. :rtype: str """ - if self._request_title_present: - return self._request_title_value + if self._file_request_id_present: + return self._file_request_id_value else: return None - @request_title.setter - def request_title(self, val): + @file_request_id.setter + def file_request_id(self, val): if val is None: - del self.request_title + del self.file_request_id return - val = self._request_title_validator.validate(val) - self._request_title_value = val - self._request_title_present = True + val = self._file_request_id_validator.validate(val) + self._file_request_id_value = val + self._file_request_id_present = True - @request_title.deleter - def request_title(self): - self._request_title_value = None - self._request_title_present = False + @file_request_id.deleter + def file_request_id(self): + self._file_request_id_value = None + self._file_request_id_present = False + + @property + def request_details(self): + """ + File request details. Might be missing due to historical data gap. + + :rtype: FileRequestDetails + """ + if self._request_details_present: + return self._request_details_value + else: + return None + + @request_details.setter + def request_details(self, val): + if val is None: + del self.request_details + return + self._request_details_validator.validate_type_only(val) + self._request_details_value = val + self._request_details_present = True + + @request_details.deleter + def request_details(self): + self._request_details_value = None + self._request_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'FileRequestCreateDetails(request_title={!r})'.format( - self._request_title_value, + return 'FileRequestCreateDetails(file_request_id={!r}, request_details={!r})'.format( + self._file_request_id_value, + self._request_details_value, ) FileRequestCreateDetails_validator = bv.Struct(FileRequestCreateDetails) -class FileRequestReceiveFileDetails(object): - """ - Received files for a file request. +class FileRequestCreateType(bb.Struct): - :ivar request_title: File request title. - :ivar submitted_file_names: Submitted file names. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestCreateType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestCreateType(description={!r})'.format( + self._description_value, + ) + +FileRequestCreateType_validator = bv.Struct(FileRequestCreateType) + +class FileRequestDeadline(bb.Struct): + """ + File request deadline + + :ivar team_log.FileRequestDeadline.deadline: The deadline for this file + request. Might be missing due to historical data gap. + :ivar team_log.FileRequestDeadline.allow_late_uploads: If set, allow uploads + after the deadline has passed. Might be missing due to historical data + gap. """ __slots__ = [ - '_request_title_value', - '_request_title_present', + '_deadline_value', + '_deadline_present', + '_allow_late_uploads_value', + '_allow_late_uploads_present', + ] + + _has_required_fields = False + + def __init__(self, + deadline=None, + allow_late_uploads=None): + self._deadline_value = None + self._deadline_present = False + self._allow_late_uploads_value = None + self._allow_late_uploads_present = False + if deadline is not None: + self.deadline = deadline + if allow_late_uploads is not None: + self.allow_late_uploads = allow_late_uploads + + @property + def deadline(self): + """ + The deadline for this file request. Might be missing due to historical + data gap. + + :rtype: datetime.datetime + """ + if self._deadline_present: + return self._deadline_value + else: + return None + + @deadline.setter + def deadline(self, val): + if val is None: + del self.deadline + return + val = self._deadline_validator.validate(val) + self._deadline_value = val + self._deadline_present = True + + @deadline.deleter + def deadline(self): + self._deadline_value = None + self._deadline_present = False + + @property + def allow_late_uploads(self): + """ + If set, allow uploads after the deadline has passed. Might be missing + due to historical data gap. + + :rtype: str + """ + if self._allow_late_uploads_present: + return self._allow_late_uploads_value + else: + return None + + @allow_late_uploads.setter + def allow_late_uploads(self, val): + if val is None: + del self.allow_late_uploads + return + val = self._allow_late_uploads_validator.validate(val) + self._allow_late_uploads_value = val + self._allow_late_uploads_present = True + + @allow_late_uploads.deleter + def allow_late_uploads(self): + self._allow_late_uploads_value = None + self._allow_late_uploads_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestDeadline, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestDeadline(deadline={!r}, allow_late_uploads={!r})'.format( + self._deadline_value, + self._allow_late_uploads_value, + ) + +FileRequestDeadline_validator = bv.Struct(FileRequestDeadline) + +class FileRequestDeleteDetails(bb.Struct): + """ + Delete file request. + + :ivar team_log.FileRequestDeleteDetails.file_request_id: File request id. + Might be missing due to historical data gap. + :ivar team_log.FileRequestDeleteDetails.previous_details: Previous file + request details. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_file_request_id_value', + '_file_request_id_present', + '_previous_details_value', + '_previous_details_present', + ] + + _has_required_fields = False + + def __init__(self, + file_request_id=None, + previous_details=None): + self._file_request_id_value = None + self._file_request_id_present = False + self._previous_details_value = None + self._previous_details_present = False + if file_request_id is not None: + self.file_request_id = file_request_id + if previous_details is not None: + self.previous_details = previous_details + + @property + def file_request_id(self): + """ + File request id. Might be missing due to historical data gap. + + :rtype: str + """ + if self._file_request_id_present: + return self._file_request_id_value + else: + return None + + @file_request_id.setter + def file_request_id(self, val): + if val is None: + del self.file_request_id + return + val = self._file_request_id_validator.validate(val) + self._file_request_id_value = val + self._file_request_id_present = True + + @file_request_id.deleter + def file_request_id(self): + self._file_request_id_value = None + self._file_request_id_present = False + + @property + def previous_details(self): + """ + Previous file request details. Might be missing due to historical data + gap. + + :rtype: FileRequestDetails + """ + if self._previous_details_present: + return self._previous_details_value + else: + return None + + @previous_details.setter + def previous_details(self, val): + if val is None: + del self.previous_details + return + self._previous_details_validator.validate_type_only(val) + self._previous_details_value = val + self._previous_details_present = True + + @previous_details.deleter + def previous_details(self): + self._previous_details_value = None + self._previous_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestDeleteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestDeleteDetails(file_request_id={!r}, previous_details={!r})'.format( + self._file_request_id_value, + self._previous_details_value, + ) + +FileRequestDeleteDetails_validator = bv.Struct(FileRequestDeleteDetails) + +class FileRequestDeleteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestDeleteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestDeleteType(description={!r})'.format( + self._description_value, + ) + +FileRequestDeleteType_validator = bv.Struct(FileRequestDeleteType) + +class FileRequestDetails(bb.Struct): + """ + File request details + + :ivar team_log.FileRequestDetails.asset_index: Asset position in the Assets + list. + :ivar team_log.FileRequestDetails.deadline: File request deadline. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_asset_index_value', + '_asset_index_present', + '_deadline_value', + '_deadline_present', + ] + + _has_required_fields = True + + def __init__(self, + asset_index=None, + deadline=None): + self._asset_index_value = None + self._asset_index_present = False + self._deadline_value = None + self._deadline_present = False + if asset_index is not None: + self.asset_index = asset_index + if deadline is not None: + self.deadline = deadline + + @property + def asset_index(self): + """ + Asset position in the Assets list. + + :rtype: int + """ + if self._asset_index_present: + return self._asset_index_value + else: + raise AttributeError("missing required field 'asset_index'") + + @asset_index.setter + def asset_index(self, val): + val = self._asset_index_validator.validate(val) + self._asset_index_value = val + self._asset_index_present = True + + @asset_index.deleter + def asset_index(self): + self._asset_index_value = None + self._asset_index_present = False + + @property + def deadline(self): + """ + File request deadline. Might be missing due to historical data gap. + + :rtype: FileRequestDeadline + """ + if self._deadline_present: + return self._deadline_value + else: + return None + + @deadline.setter + def deadline(self, val): + if val is None: + del self.deadline + return + self._deadline_validator.validate_type_only(val) + self._deadline_value = val + self._deadline_present = True + + @deadline.deleter + def deadline(self): + self._deadline_value = None + self._deadline_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestDetails(asset_index={!r}, deadline={!r})'.format( + self._asset_index_value, + self._deadline_value, + ) + +FileRequestDetails_validator = bv.Struct(FileRequestDetails) + +class FileRequestReceiveFileDetails(bb.Struct): + """ + Received files for file request. + + :ivar team_log.FileRequestReceiveFileDetails.file_request_id: File request + id. Might be missing due to historical data gap. + :ivar team_log.FileRequestReceiveFileDetails.file_request_details: File + request details. Might be missing due to historical data gap. + :ivar team_log.FileRequestReceiveFileDetails.submitted_file_names: Submitted + file names. + :ivar team_log.FileRequestReceiveFileDetails.submitter_name: The name as + provided by the submitter. Might be missing due to historical data gap. + :ivar team_log.FileRequestReceiveFileDetails.submitter_email: The email as + provided by the submitter. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_file_request_id_value', + '_file_request_id_present', + '_file_request_details_value', + '_file_request_details_present', '_submitted_file_names_value', '_submitted_file_names_present', + '_submitter_name_value', + '_submitter_name_present', + '_submitter_email_value', + '_submitter_email_present', ] _has_required_fields = True def __init__(self, submitted_file_names=None, - request_title=None): - self._request_title_value = None - self._request_title_present = False + file_request_id=None, + file_request_details=None, + submitter_name=None, + submitter_email=None): + self._file_request_id_value = None + self._file_request_id_present = False + self._file_request_details_value = None + self._file_request_details_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 + self._submitter_name_value = None + self._submitter_name_present = False + self._submitter_email_value = None + self._submitter_email_present = False + if file_request_id is not None: + self.file_request_id = file_request_id + if file_request_details is not None: + self.file_request_details = file_request_details if submitted_file_names is not None: self.submitted_file_names = submitted_file_names + if submitter_name is not None: + self.submitter_name = submitter_name + if submitter_email is not None: + self.submitter_email = submitter_email @property - def request_title(self): + def file_request_id(self): """ - File request title. + File request id. Might be missing due to historical data gap. :rtype: str """ - if self._request_title_present: - return self._request_title_value + if self._file_request_id_present: + return self._file_request_id_value else: return None - @request_title.setter - def request_title(self, val): + @file_request_id.setter + def file_request_id(self, val): if val is None: - del self.request_title + del self.file_request_id return - val = self._request_title_validator.validate(val) - self._request_title_value = val - self._request_title_present = True + val = self._file_request_id_validator.validate(val) + self._file_request_id_value = val + self._file_request_id_present = True - @request_title.deleter - def request_title(self): - self._request_title_value = None - self._request_title_present = False + @file_request_id.deleter + def file_request_id(self): + self._file_request_id_value = None + self._file_request_id_present = False + + @property + def file_request_details(self): + """ + File request details. Might be missing due to historical data gap. + + :rtype: FileRequestDetails + """ + if self._file_request_details_present: + return self._file_request_details_value + else: + return None + + @file_request_details.setter + def file_request_details(self, val): + if val is None: + del self.file_request_details + return + self._file_request_details_validator.validate_type_only(val) + self._file_request_details_value = val + self._file_request_details_present = True + + @file_request_details.deleter + def file_request_details(self): + self._file_request_details_value = None + self._file_request_details_present = False @property def submitted_file_names(self): @@ -18518,129 +32657,129 @@ class FileRequestReceiveFileDetails(object): self._submitted_file_names_value = None self._submitted_file_names_present = False + @property + def submitter_name(self): + """ + The name as provided by the submitter. Might be missing due to + historical data gap. + + :rtype: str + """ + if self._submitter_name_present: + return self._submitter_name_value + else: + return None + + @submitter_name.setter + def submitter_name(self, val): + if val is None: + del self.submitter_name + return + val = self._submitter_name_validator.validate(val) + self._submitter_name_value = val + self._submitter_name_present = True + + @submitter_name.deleter + def submitter_name(self): + self._submitter_name_value = None + self._submitter_name_present = False + + @property + def submitter_email(self): + """ + The email as provided by the submitter. Might be missing due to + historical data gap. + + :rtype: str + """ + if self._submitter_email_present: + return self._submitter_email_value + else: + return None + + @submitter_email.setter + def submitter_email(self, val): + if val is None: + del self.submitter_email + return + val = self._submitter_email_validator.validate(val) + self._submitter_email_value = val + self._submitter_email_present = True + + @submitter_email.deleter + def submitter_email(self): + self._submitter_email_value = None + self._submitter_email_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestReceiveFileDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileRequestReceiveFileDetails(submitted_file_names={!r}, request_title={!r})'.format( + return 'FileRequestReceiveFileDetails(submitted_file_names={!r}, file_request_id={!r}, file_request_details={!r}, submitter_name={!r}, submitter_email={!r})'.format( self._submitted_file_names_value, - self._request_title_value, + self._file_request_id_value, + self._file_request_details_value, + self._submitter_name_value, + self._submitter_email_value, ) FileRequestReceiveFileDetails_validator = bv.Struct(FileRequestReceiveFileDetails) -class FileRequestRemoveDeadlineDetails(object): - """ - Removed the file request deadline. - - :ivar request_title: File request title. - """ +class FileRequestReceiveFileType(bb.Struct): __slots__ = [ - '_request_title_value', - '_request_title_present', + '_description_value', + '_description_present', ] - _has_required_fields = False + _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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def request_title(self): + def description(self): """ - File request title. - :rtype: str """ - if self._request_title_present: - return self._request_title_value + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @request_title.setter - def request_title(self, val): - if val is None: - del self.request_title - return - val = self._request_title_validator.validate(val) - self._request_title_value = val - self._request_title_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @request_title.deleter - def request_title(self): - self._request_title_value = None - self._request_title_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestReceiveFileType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'FileRequestRemoveDeadlineDetails(request_title={!r})'.format( - self._request_title_value, + return 'FileRequestReceiveFileType(description={!r})'.format( + self._description_value, ) -FileRequestRemoveDeadlineDetails_validator = bv.Struct(FileRequestRemoveDeadlineDetails) +FileRequestReceiveFileType_validator = bv.Struct(FileRequestReceiveFileType) -class FileRequestSendDetails(object): +class FileRequestsChangePolicyDetails(bb.Struct): """ - Sent file request to users via email. + Enabled/disabled file requests. - :ivar request_title: File request title. - """ - - __slots__ = [ - '_request_title_value', - '_request_title_present', - ] - - _has_required_fields = False - - 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: - return None - - @request_title.setter - def request_title(self, val): - if val is None: - del self.request_title - return - 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. + :ivar team_log.FileRequestsChangePolicyDetails.new_value: New file requests + policy. + :ivar team_log.FileRequestsChangePolicyDetails.previous_value: Previous file + requests policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -18714,6 +32853,9 @@ class FileRequestsChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestsChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRequestsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -18722,7 +32864,54 @@ class FileRequestsChangePolicyDetails(object): FileRequestsChangePolicyDetails_validator = bv.Struct(FileRequestsChangePolicyDetails) -class FileRequestsEmailsEnabledDetails(object): +class FileRequestsChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestsChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestsChangePolicyType(description={!r})'.format( + self._description_value, + ) + +FileRequestsChangePolicyType_validator = bv.Struct(FileRequestsChangePolicyType) + +class FileRequestsEmailsEnabledDetails(bb.Struct): """ Enabled file request emails for everyone. """ @@ -18735,14 +32924,64 @@ class FileRequestsEmailsEnabledDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestsEmailsEnabledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRequestsEmailsEnabledDetails()' FileRequestsEmailsEnabledDetails_validator = bv.Struct(FileRequestsEmailsEnabledDetails) -class FileRequestsEmailsRestrictedToTeamOnlyDetails(object): +class FileRequestsEmailsEnabledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestsEmailsEnabledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestsEmailsEnabledType(description={!r})'.format( + self._description_value, + ) + +FileRequestsEmailsEnabledType_validator = bv.Struct(FileRequestsEmailsEnabledType) + +class FileRequestsEmailsRestrictedToTeamOnlyDetails(bb.Struct): """ - Allowed file request emails for the team. + Enabled file request emails for team. """ __slots__ = [ @@ -18753,11 +32992,61 @@ class FileRequestsEmailsRestrictedToTeamOnlyDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestsEmailsRestrictedToTeamOnlyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRequestsEmailsRestrictedToTeamOnlyDetails()' FileRequestsEmailsRestrictedToTeamOnlyDetails_validator = bv.Struct(FileRequestsEmailsRestrictedToTeamOnlyDetails) +class FileRequestsEmailsRestrictedToTeamOnlyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestsEmailsRestrictedToTeamOnlyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRequestsEmailsRestrictedToTeamOnlyType(description={!r})'.format( + self._description_value, + ) + +FileRequestsEmailsRestrictedToTeamOnlyType_validator = bv.Struct(FileRequestsEmailsRestrictedToTeamOnlyType) + class FileRequestsPolicy(bb.Union): """ File requests policy @@ -18799,64 +33088,36 @@ class FileRequestsPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRequestsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRequestsPolicy(%r, %r)' % (self._tag, self._value) FileRequestsPolicy_validator = bv.Union(FileRequestsPolicy) -class FileResolveCommentDetails(object): +class FileResolveCommentDetails(bb.Struct): """ - Resolved a file comment. + Resolved file comment. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. + :ivar team_log.FileResolveCommentDetails.comment_text: Comment text. Might + be missing due to historical data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', '_comment_text_value', '_comment_text_present', ] - _has_required_fields = True + _has_required_fields = False def __init__(self, - target_asset_index=None, comment_text=None): - self._target_asset_index_value = None - self._target_asset_index_present = False self._comment_text_value = None self._comment_text_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index if comment_text is not None: self.comment_text = comment_text - @property - def target_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False - @property def comment_text(self): """ @@ -18883,15 +33144,64 @@ class FileResolveCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileResolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileResolveCommentDetails(target_asset_index={!r}, comment_text={!r})'.format( - self._target_asset_index_value, + return 'FileResolveCommentDetails(comment_text={!r})'.format( self._comment_text_value, ) FileResolveCommentDetails_validator = bv.Struct(FileResolveCommentDetails) -class FileRestoreDetails(object): +class FileResolveCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileResolveCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileResolveCommentType(description={!r})'.format( + self._description_value, + ) + +FileResolveCommentType_validator = bv.Struct(FileResolveCommentType) + +class FileRestoreDetails(bb.Struct): """ Restored deleted files and/or folders. """ @@ -18904,14 +33214,64 @@ class FileRestoreDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRestoreDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRestoreDetails()' FileRestoreDetails_validator = bv.Struct(FileRestoreDetails) -class FileRevertDetails(object): +class FileRestoreType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRestoreType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRestoreType(description={!r})'.format( + self._description_value, + ) + +FileRestoreType_validator = bv.Struct(FileRestoreType) + +class FileRevertDetails(bb.Struct): """ - Reverted files to a previous version. + Reverted files to previous version. """ __slots__ = [ @@ -18922,14 +33282,64 @@ class FileRevertDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRevertDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRevertDetails()' FileRevertDetails_validator = bv.Struct(FileRevertDetails) -class FileRollbackChangesDetails(object): +class FileRevertType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRevertType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRevertType(description={!r})'.format( + self._description_value, + ) + +FileRevertType_validator = bv.Struct(FileRevertType) + +class FileRollbackChangesDetails(bb.Struct): """ - Rolled back file change location changes. + Rolled back file actions. """ __slots__ = [ @@ -18940,16 +33350,67 @@ class FileRollbackChangesDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRollbackChangesDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileRollbackChangesDetails()' FileRollbackChangesDetails_validator = bv.Struct(FileRollbackChangesDetails) -class FileSaveCopyReferenceDetails(object): - """ - Save a file or folder using a copy reference. +class FileRollbackChangesType(bb.Struct): - :ivar relocate_action_details: Relocate action details. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileRollbackChangesType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileRollbackChangesType(description={!r})'.format( + self._description_value, + ) + +FileRollbackChangesType_validator = bv.Struct(FileRollbackChangesType) + +class FileSaveCopyReferenceDetails(bb.Struct): + """ + Saved file/folder using copy reference. + + :ivar team_log.FileSaveCopyReferenceDetails.relocate_action_details: + Relocate action details. """ __slots__ = [ @@ -18989,6 +33450,9 @@ class FileSaveCopyReferenceDetails(object): self._relocate_action_details_value = None self._relocate_action_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileSaveCopyReferenceDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FileSaveCopyReferenceDetails(relocate_action_details={!r})'.format( self._relocate_action_details_value, @@ -18996,58 +33460,74 @@ class FileSaveCopyReferenceDetails(object): FileSaveCopyReferenceDetails_validator = bv.Struct(FileSaveCopyReferenceDetails) -class FileUnlikeCommentDetails(object): - """ - Unliked a file comment. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. - """ +class FileSaveCopyReferenceType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_comment_text_value', - '_comment_text_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - comment_text=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._comment_text_value = None - self._comment_text_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if comment_text is not None: - self.comment_text = comment_text + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long + :rtype: str """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'description'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileSaveCopyReferenceType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileSaveCopyReferenceType(description={!r})'.format( + self._description_value, + ) + +FileSaveCopyReferenceType_validator = bv.Struct(FileSaveCopyReferenceType) + +class FileUnlikeCommentDetails(bb.Struct): + """ + Unliked file comment. + + :ivar team_log.FileUnlikeCommentDetails.comment_text: Comment text. Might be + missing due to historical data gap. + """ + + __slots__ = [ + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = False + + def __init__(self, + comment_text=None): + self._comment_text_value = None + self._comment_text_present = False + if comment_text is not None: + self.comment_text = comment_text @property def comment_text(self): @@ -19075,66 +33555,84 @@ class FileUnlikeCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileUnlikeCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileUnlikeCommentDetails(target_asset_index={!r}, comment_text={!r})'.format( - self._target_asset_index_value, + return 'FileUnlikeCommentDetails(comment_text={!r})'.format( self._comment_text_value, ) FileUnlikeCommentDetails_validator = bv.Struct(FileUnlikeCommentDetails) -class FileUnresolveCommentDetails(object): - """ - Unresolved a file comment. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. - """ +class FileUnlikeCommentType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_comment_text_value', - '_comment_text_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - comment_text=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._comment_text_value = None - self._comment_text_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if comment_text is not None: - self.comment_text = comment_text + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long + :rtype: str """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'description'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileUnlikeCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileUnlikeCommentType(description={!r})'.format( + self._description_value, + ) + +FileUnlikeCommentType_validator = bv.Struct(FileUnlikeCommentType) + +class FileUnresolveCommentDetails(bb.Struct): + """ + Unresolved file comment. + + :ivar team_log.FileUnresolveCommentDetails.comment_text: Comment text. Might + be missing due to historical data gap. + """ + + __slots__ = [ + '_comment_text_value', + '_comment_text_present', + ] + + _has_required_fields = False + + def __init__(self, + comment_text=None): + self._comment_text_value = None + self._comment_text_present = False + if comment_text is not None: + self.comment_text = comment_text @property def comment_text(self): @@ -19162,14 +33660,63 @@ class FileUnresolveCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileUnresolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FileUnresolveCommentDetails(target_asset_index={!r}, comment_text={!r})'.format( - self._target_asset_index_value, + return 'FileUnresolveCommentDetails(comment_text={!r})'.format( self._comment_text_value, ) FileUnresolveCommentDetails_validator = bv.Struct(FileUnresolveCommentDetails) +class FileUnresolveCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FileUnresolveCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'FileUnresolveCommentType(description={!r})'.format( + self._description_value, + ) + +FileUnresolveCommentType_validator = bv.Struct(FileUnresolveCommentType) + class FolderLogInfo(FileOrFolderLogInfo): """ Folder's logged information. @@ -19188,6 +33735,9 @@ class FolderLogInfo(FileOrFolderLogInfo): display_name, file_id) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FolderLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FolderLogInfo(path={!r}, display_name={!r}, file_id={!r})'.format( self._path_value, @@ -19197,14 +33747,14 @@ class FolderLogInfo(FileOrFolderLogInfo): FolderLogInfo_validator = bv.Struct(FolderLogInfo) -class GeoLocationLogInfo(object): +class GeoLocationLogInfo(bb.Struct): """ Geographic location details. - :ivar city: City name. - :ivar region: Region name. - :ivar country: Country code. - :ivar ip_address: IP address. + :ivar team_log.GeoLocationLogInfo.city: City name. + :ivar team_log.GeoLocationLogInfo.region: Region name. + :ivar team_log.GeoLocationLogInfo.country: Country code. + :ivar team_log.GeoLocationLogInfo.ip_address: IP address. """ __slots__ = [ @@ -19343,6 +33893,9 @@ class GeoLocationLogInfo(object): self._ip_address_value = None self._ip_address_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GeoLocationLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GeoLocationLogInfo(ip_address={!r}, city={!r}, region={!r}, country={!r})'.format( self._ip_address_value, @@ -19353,13 +33906,19 @@ class GeoLocationLogInfo(object): GeoLocationLogInfo_validator = bv.Struct(GeoLocationLogInfo) -class GetTeamEventsArg(object): +class GetTeamEventsArg(bb.Struct): """ - :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. - :ivar category: Filter the returned events to a single category. + :ivar team_log.GetTeamEventsArg.limit: The maximal number of results to + return per call. Note that some calls may not return ``limit`` number of + events, and may even return no events, even with `has_more` set to true. + In this case, callers should fetch again using + :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue`. + :ivar team_log.GetTeamEventsArg.account_id: Filter the events by account ID. + Return ony events with this account_id as either Actor, Context, or + Participants. + :ivar team_log.GetTeamEventsArg.time: Filter by time range. + :ivar team_log.GetTeamEventsArg.category: Filter the returned events to a + single category. """ __slots__ = [ @@ -19400,9 +33959,13 @@ class GetTeamEventsArg(object): @property def limit(self): """ - Number of results to return per call. + The maximal number of results to return per call. Note that some calls + may not return ``limit`` number of events, and may even return no + events, even with `has_more` set to true. In this case, callers should + fetch again using + :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue`. - :rtype: long + :rtype: int """ if self._limit_present: return self._limit_value @@ -19452,7 +34015,7 @@ class GetTeamEventsArg(object): """ Filter by time range. - :rtype: team_common.TimeRange_validator + :rtype: team_common.TimeRange """ if self._time_present: return self._time_value @@ -19499,6 +34062,9 @@ class GetTeamEventsArg(object): self._category_value = None self._category_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTeamEventsArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTeamEventsArg(limit={!r}, account_id={!r}, time={!r}, category={!r})'.format( self._limit_value, @@ -19509,9 +34075,10 @@ class GetTeamEventsArg(object): GetTeamEventsArg_validator = bv.Struct(GetTeamEventsArg) -class GetTeamEventsContinueArg(object): +class GetTeamEventsContinueArg(bb.Struct): """ - :ivar cursor: Indicates from what point to get the next set of events. + :ivar team_log.GetTeamEventsContinueArg.cursor: Indicates from what point to + get the next set of events. """ __slots__ = [ @@ -19551,6 +34118,9 @@ class GetTeamEventsContinueArg(object): self._cursor_value = None self._cursor_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTeamEventsContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTeamEventsContinueArg(cursor={!r})'.format( self._cursor_value, @@ -19567,7 +34137,15 @@ class GetTeamEventsContinueError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar bad_cursor: Bad cursor. + :ivar team_log.GetTeamEventsContinueError.bad_cursor: Bad cursor. + :ivar datetime.datetime team_log.GetTeamEventsContinueError.reset: Cursors + are intended to be used quickly. Individual cursor values are normally + valid for days, but in rare cases may be reset sooner. Cursor reset + errors should be handled by fetching a new cursor from + :route:`get_events`. The associated value is the approximate timestamp + of the most recent event returned by the cursor. This should be used as + a resumption point when calling :route:`get_events` to obtain a new + cursor. """ _catch_all = 'other' @@ -19576,6 +34154,17 @@ class GetTeamEventsContinueError(bb.Union): # Attribute is overwritten below the class definition other = None + @classmethod + def reset(cls, val): + """ + Create an instance of this class set to the ``reset`` tag with value + ``val``. + + :param datetime.datetime val: + :rtype: GetTeamEventsContinueError + """ + return cls('reset', val) + def is_bad_cursor(self): """ Check if the union tag is ``bad_cursor``. @@ -19584,6 +34173,14 @@ class GetTeamEventsContinueError(bb.Union): """ return self._tag == 'bad_cursor' + def is_reset(self): + """ + Check if the union tag is ``reset``. + + :rtype: bool + """ + return self._tag == 'reset' + def is_other(self): """ Check if the union tag is ``other``. @@ -19592,6 +34189,28 @@ class GetTeamEventsContinueError(bb.Union): """ return self._tag == 'other' + def get_reset(self): + """ + Cursors are intended to be used quickly. Individual cursor values are + normally valid for days, but in rare cases may be reset sooner. Cursor + reset errors should be handled by fetching a new cursor from + :meth:`dropbox.dropbox.Dropbox.team_log_get_events`. The associated + value is the approximate timestamp of the most recent event returned by + the cursor. This should be used as a resumption point when calling + :meth:`dropbox.dropbox.Dropbox.team_log_get_events` to obtain a new + cursor. + + Only call this if :meth:`is_reset` is true. + + :rtype: datetime.datetime + """ + if not self.is_reset(): + raise AttributeError("tag 'reset' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTeamEventsContinueError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTeamEventsContinueError(%r, %r)' % (self._tag, self._value) @@ -19606,8 +34225,9 @@ class GetTeamEventsError(bb.Union): 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. + :ivar team_log.GetTeamEventsError.account_id_not_found: No user found + matching the provided account_id. + :ivar team_log.GetTeamEventsError.invalid_time_range: Invalid time range. """ _catch_all = 'other' @@ -19642,21 +34262,32 @@ class GetTeamEventsError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTeamEventsError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTeamEventsError(%r, %r)' % (self._tag, self._value) GetTeamEventsError_validator = bv.Union(GetTeamEventsError) -class GetTeamEventsResult(object): +class GetTeamEventsResult(bb.Struct): """ - :ivar events: List of events. - :ivar cursor: Pass the cursor into + :ivar team_log.GetTeamEventsResult.events: List of events. Note that events + are not guaranteed to be sorted by their timestamp value. + :ivar team_log.GetTeamEventsResult.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 + additional events. The value of ``cursor`` may change for each response + from :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue`, + regardless of the value of ``has_more``; older cursor strings may + expire. Thus, callers should ensure that they update their cursor based + on the latest value of ``cursor`` after each call, and poll regularly if + they wish to poll for new events. Callers should handle reset exceptions + for expired cursors. + :ivar team_log.GetTeamEventsResult.has_more: Is true if there may be + additional events that have not been returned yet. An additional call to :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` can - retrieve them. + retrieve them. Note that ``has_more`` may be ``True``, even if + ``events`` is empty. """ __slots__ = [ @@ -19690,7 +34321,8 @@ class GetTeamEventsResult(object): @property def events(self): """ - List of events. + List of events. Note that events are not guaranteed to be sorted by + their timestamp value. :rtype: list of [TeamEvent] """ @@ -19715,7 +34347,13 @@ class GetTeamEventsResult(object): """ Pass the cursor into :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` to obtain - additional events. + additional events. The value of ``cursor`` may change for each response + from :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue`, + regardless of the value of ``has_more``; older cursor strings may + expire. Thus, callers should ensure that they update their cursor based + on the latest value of ``cursor`` after each call, and poll regularly if + they wish to poll for new events. Callers should handle reset exceptions + for expired cursors. :rtype: str """ @@ -19738,10 +34376,11 @@ class GetTeamEventsResult(object): @property def has_more(self): """ - Is true if there are additional events that have not been returned yet. - An additional call to + Is true if there may be additional events that have not been returned + yet. An additional call to :meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` can - retrieve them. + retrieve them. Note that ``has_more`` may be ``True``, even if + ``events`` is empty. :rtype: bool """ @@ -19761,6 +34400,9 @@ class GetTeamEventsResult(object): self._has_more_value = None self._has_more_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetTeamEventsResult, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetTeamEventsResult(events={!r}, cursor={!r}, has_more={!r})'.format( self._events_value, @@ -19770,13 +34412,14 @@ class GetTeamEventsResult(object): GetTeamEventsResult_validator = bv.Struct(GetTeamEventsResult) -class GoogleSsoChangePolicyDetails(object): +class GoogleSsoChangePolicyDetails(bb.Struct): """ - Enabled or disabled Google single sign-on for the team. + Enabled/disabled Google single sign-on for 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. + :ivar team_log.GoogleSsoChangePolicyDetails.new_value: New Google single + sign-on policy. + :ivar team_log.GoogleSsoChangePolicyDetails.previous_value: Previous Google + single sign-on policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -19850,6 +34493,9 @@ class GoogleSsoChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GoogleSsoChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GoogleSsoChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -19858,6 +34504,53 @@ class GoogleSsoChangePolicyDetails(object): GoogleSsoChangePolicyDetails_validator = bv.Struct(GoogleSsoChangePolicyDetails) +class GoogleSsoChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GoogleSsoChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GoogleSsoChangePolicyType(description={!r})'.format( + self._description_value, + ) + +GoogleSsoChangePolicyType_validator = bv.Struct(GoogleSsoChangePolicyType) + class GoogleSsoPolicy(bb.Union): """ Google SSO policy @@ -19899,16 +34592,19 @@ class GoogleSsoPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GoogleSsoPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GoogleSsoPolicy(%r, %r)' % (self._tag, self._value) GoogleSsoPolicy_validator = bv.Union(GoogleSsoPolicy) -class GroupAddExternalIdDetails(object): +class GroupAddExternalIdDetails(bb.Struct): """ - Added an external ID for group. + Added external ID for group. - :ivar new_value: Current external id. + :ivar team_log.GroupAddExternalIdDetails.new_value: Current external id. """ __slots__ = [ @@ -19948,6 +34644,9 @@ class GroupAddExternalIdDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupAddExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupAddExternalIdDetails(new_value={!r})'.format( self._new_value_value, @@ -19955,11 +34654,58 @@ class GroupAddExternalIdDetails(object): GroupAddExternalIdDetails_validator = bv.Struct(GroupAddExternalIdDetails) -class GroupAddMemberDetails(object): - """ - Added team members to a group. +class GroupAddExternalIdType(bb.Struct): - :ivar is_group_owner: Is group owner. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupAddExternalIdType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupAddExternalIdType(description={!r})'.format( + self._description_value, + ) + +GroupAddExternalIdType_validator = bv.Struct(GroupAddExternalIdType) + +class GroupAddMemberDetails(bb.Struct): + """ + Added team members to group. + + :ivar team_log.GroupAddMemberDetails.is_group_owner: Is group owner. """ __slots__ = [ @@ -19999,6 +34745,9 @@ class GroupAddMemberDetails(object): self._is_group_owner_value = None self._is_group_owner_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupAddMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupAddMemberDetails(is_group_owner={!r})'.format( self._is_group_owner_value, @@ -20006,12 +34755,59 @@ class GroupAddMemberDetails(object): GroupAddMemberDetails_validator = bv.Struct(GroupAddMemberDetails) -class GroupChangeExternalIdDetails(object): - """ - Changed the external ID for group. +class GroupAddMemberType(bb.Struct): - :ivar new_value: Current external id. - :ivar previous_value: Old external id. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupAddMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupAddMemberType(description={!r})'.format( + self._description_value, + ) + +GroupAddMemberType_validator = bv.Struct(GroupAddMemberType) + +class GroupChangeExternalIdDetails(bb.Struct): + """ + Changed external ID for group. + + :ivar team_log.GroupChangeExternalIdDetails.new_value: Current external id. + :ivar team_log.GroupChangeExternalIdDetails.previous_value: Old external id. """ __slots__ = [ @@ -20081,6 +34877,9 @@ class GroupChangeExternalIdDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupChangeExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupChangeExternalIdDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -20089,13 +34888,61 @@ class GroupChangeExternalIdDetails(object): GroupChangeExternalIdDetails_validator = bv.Struct(GroupChangeExternalIdDetails) -class GroupChangeManagementTypeDetails(object): +class GroupChangeExternalIdType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupChangeExternalIdType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupChangeExternalIdType(description={!r})'.format( + self._description_value, + ) + +GroupChangeExternalIdType_validator = bv.Struct(GroupChangeExternalIdType) + +class GroupChangeManagementTypeDetails(bb.Struct): """ Changed group management type. - :ivar new_value: New group management type. - :ivar previous_value: Previous group management type. Might be missing due - to historical data gap. + :ivar team_log.GroupChangeManagementTypeDetails.new_value: New group + management type. + :ivar team_log.GroupChangeManagementTypeDetails.previous_value: Previous + group management type. Might be missing due to historical data gap. """ __slots__ = [ @@ -20124,7 +34971,7 @@ class GroupChangeManagementTypeDetails(object): """ New group management type. - :rtype: team_common.GroupManagementType_validator + :rtype: team_common.GroupManagementType """ if self._new_value_present: return self._new_value_value @@ -20148,7 +34995,7 @@ class GroupChangeManagementTypeDetails(object): Previous group management type. Might be missing due to historical data gap. - :rtype: team_common.GroupManagementType_validator + :rtype: team_common.GroupManagementType """ if self._previous_value_present: return self._previous_value_value @@ -20169,6 +35016,9 @@ class GroupChangeManagementTypeDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupChangeManagementTypeDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupChangeManagementTypeDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -20177,11 +35027,58 @@ class GroupChangeManagementTypeDetails(object): GroupChangeManagementTypeDetails_validator = bv.Struct(GroupChangeManagementTypeDetails) -class GroupChangeMemberRoleDetails(object): - """ - Changed the manager permissions belonging to a group member. +class GroupChangeManagementTypeType(bb.Struct): - :ivar is_group_owner: Is group owner. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupChangeManagementTypeType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupChangeManagementTypeType(description={!r})'.format( + self._description_value, + ) + +GroupChangeManagementTypeType_validator = bv.Struct(GroupChangeManagementTypeType) + +class GroupChangeMemberRoleDetails(bb.Struct): + """ + Changed manager permissions of group member. + + :ivar team_log.GroupChangeMemberRoleDetails.is_group_owner: Is group owner. """ __slots__ = [ @@ -20221,6 +35118,9 @@ class GroupChangeMemberRoleDetails(object): self._is_group_owner_value = None self._is_group_owner_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupChangeMemberRoleDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupChangeMemberRoleDetails(is_group_owner={!r})'.format( self._is_group_owner_value, @@ -20228,13 +35128,60 @@ class GroupChangeMemberRoleDetails(object): GroupChangeMemberRoleDetails_validator = bv.Struct(GroupChangeMemberRoleDetails) -class GroupCreateDetails(object): - """ - Created a group. +class GroupChangeMemberRoleType(bb.Struct): - :ivar is_company_managed: Is company managed group. Might be missing due to - historical data gap. - :ivar join_policy: Group join policy. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupChangeMemberRoleType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupChangeMemberRoleType(description={!r})'.format( + self._description_value, + ) + +GroupChangeMemberRoleType_validator = bv.Struct(GroupChangeMemberRoleType) + +class GroupCreateDetails(bb.Struct): + """ + Created group. + + :ivar team_log.GroupCreateDetails.is_company_managed: Is company managed + group. Might be missing due to historical data gap. + :ivar team_log.GroupCreateDetails.join_policy: Group join policy. """ __slots__ = [ @@ -20244,11 +35191,11 @@ class GroupCreateDetails(object): '_join_policy_present', ] - _has_required_fields = True + _has_required_fields = False def __init__(self, - join_policy=None, - is_company_managed=None): + is_company_managed=None, + join_policy=None): self._is_company_managed_value = None self._is_company_managed_present = False self._join_policy_value = None @@ -20294,10 +35241,13 @@ class GroupCreateDetails(object): if self._join_policy_present: return self._join_policy_value else: - raise AttributeError("missing required field 'join_policy'") + return None @join_policy.setter def join_policy(self, val): + if val is None: + del self.join_policy + return self._join_policy_validator.validate_type_only(val) self._join_policy_value = val self._join_policy_present = True @@ -20307,20 +35257,70 @@ class GroupCreateDetails(object): self._join_policy_value = None self._join_policy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'GroupCreateDetails(join_policy={!r}, is_company_managed={!r})'.format( - self._join_policy_value, + return 'GroupCreateDetails(is_company_managed={!r}, join_policy={!r})'.format( self._is_company_managed_value, + self._join_policy_value, ) GroupCreateDetails_validator = bv.Struct(GroupCreateDetails) -class GroupDeleteDetails(object): - """ - Deleted a group. +class GroupCreateType(bb.Struct): - :ivar is_company_managed: Is company managed group. Might be missing due to - historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupCreateType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupCreateType(description={!r})'.format( + self._description_value, + ) + +GroupCreateType_validator = bv.Struct(GroupCreateType) + +class GroupDeleteDetails(bb.Struct): + """ + Deleted group. + + :ivar team_log.GroupDeleteDetails.is_company_managed: Is company managed + group. Might be missing due to historical data gap. """ __slots__ = [ @@ -20363,6 +35363,9 @@ class GroupDeleteDetails(object): self._is_company_managed_value = None self._is_company_managed_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupDeleteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupDeleteDetails(is_company_managed={!r})'.format( self._is_company_managed_value, @@ -20370,6 +35373,121 @@ class GroupDeleteDetails(object): GroupDeleteDetails_validator = bv.Struct(GroupDeleteDetails) +class GroupDeleteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupDeleteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupDeleteType(description={!r})'.format( + self._description_value, + ) + +GroupDeleteType_validator = bv.Struct(GroupDeleteType) + +class GroupDescriptionUpdatedDetails(bb.Struct): + """ + Updated group. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupDescriptionUpdatedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupDescriptionUpdatedDetails()' + +GroupDescriptionUpdatedDetails_validator = bv.Struct(GroupDescriptionUpdatedDetails) + +class GroupDescriptionUpdatedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupDescriptionUpdatedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupDescriptionUpdatedType(description={!r})'.format( + self._description_value, + ) + +GroupDescriptionUpdatedType_validator = bv.Struct(GroupDescriptionUpdatedType) + class GroupJoinPolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -20409,20 +35527,163 @@ class GroupJoinPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupJoinPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupJoinPolicy(%r, %r)' % (self._tag, self._value) GroupJoinPolicy_validator = bv.Union(GroupJoinPolicy) -class GroupLogInfo(object): +class GroupJoinPolicyUpdatedDetails(bb.Struct): + """ + Updated group join policy. + + :ivar team_log.GroupJoinPolicyUpdatedDetails.is_company_managed: Is company + managed group. Might be missing due to historical data gap. + :ivar team_log.GroupJoinPolicyUpdatedDetails.join_policy: Group join policy. + """ + + __slots__ = [ + '_is_company_managed_value', + '_is_company_managed_present', + '_join_policy_value', + '_join_policy_present', + ] + + _has_required_fields = False + + def __init__(self, + is_company_managed=None, + join_policy=None): + self._is_company_managed_value = None + self._is_company_managed_present = False + self._join_policy_value = None + self._join_policy_present = False + if is_company_managed is not None: + self.is_company_managed = is_company_managed + if join_policy is not None: + self.join_policy = join_policy + + @property + def is_company_managed(self): + """ + Is company managed group. Might be missing due to historical data gap. + + :rtype: bool + """ + if self._is_company_managed_present: + return self._is_company_managed_value + else: + return None + + @is_company_managed.setter + def is_company_managed(self, val): + if val is None: + del self.is_company_managed + return + val = self._is_company_managed_validator.validate(val) + self._is_company_managed_value = val + self._is_company_managed_present = True + + @is_company_managed.deleter + def is_company_managed(self): + self._is_company_managed_value = None + self._is_company_managed_present = False + + @property + def join_policy(self): + """ + Group join policy. + + :rtype: GroupJoinPolicy + """ + if self._join_policy_present: + return self._join_policy_value + else: + return None + + @join_policy.setter + def join_policy(self, val): + if val is None: + del self.join_policy + return + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupJoinPolicyUpdatedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupJoinPolicyUpdatedDetails(is_company_managed={!r}, join_policy={!r})'.format( + self._is_company_managed_value, + self._join_policy_value, + ) + +GroupJoinPolicyUpdatedDetails_validator = bv.Struct(GroupJoinPolicyUpdatedDetails) + +class GroupJoinPolicyUpdatedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupJoinPolicyUpdatedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupJoinPolicyUpdatedType(description={!r})'.format( + self._description_value, + ) + +GroupJoinPolicyUpdatedType_validator = bv.Struct(GroupJoinPolicyUpdatedType) + +class GroupLogInfo(bb.Struct): """ 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. + :ivar team_log.GroupLogInfo.group_id: The unique id of this group. Might be + missing due to historical data gap. + :ivar team_log.GroupLogInfo.display_name: The name of this group. + :ivar team_log.GroupLogInfo.external_id: External group ID. Might be missing + due to historical data gap. """ __slots__ = [ @@ -20529,6 +35790,9 @@ class GroupLogInfo(object): self._external_id_value = None self._external_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupLogInfo(display_name={!r}, group_id={!r}, external_id={!r})'.format( self._display_name_value, @@ -20538,9 +35802,9 @@ class GroupLogInfo(object): GroupLogInfo_validator = bv.Struct(GroupLogInfo) -class GroupMovedDetails(object): +class GroupMovedDetails(bb.Struct): """ - Moved a group. + Moved group. """ __slots__ = [ @@ -20551,16 +35815,66 @@ class GroupMovedDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMovedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupMovedDetails()' GroupMovedDetails_validator = bv.Struct(GroupMovedDetails) -class GroupRemoveExternalIdDetails(object): - """ - Removed the external ID for group. +class GroupMovedType(bb.Struct): - :ivar previous_value: Old external id. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupMovedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupMovedType(description={!r})'.format( + self._description_value, + ) + +GroupMovedType_validator = bv.Struct(GroupMovedType) + +class GroupRemoveExternalIdDetails(bb.Struct): + """ + Removed external ID for group. + + :ivar team_log.GroupRemoveExternalIdDetails.previous_value: Old external id. """ __slots__ = [ @@ -20600,6 +35914,9 @@ class GroupRemoveExternalIdDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupRemoveExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupRemoveExternalIdDetails(previous_value={!r})'.format( self._previous_value_value, @@ -20607,9 +35924,56 @@ class GroupRemoveExternalIdDetails(object): GroupRemoveExternalIdDetails_validator = bv.Struct(GroupRemoveExternalIdDetails) -class GroupRemoveMemberDetails(object): +class GroupRemoveExternalIdType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupRemoveExternalIdType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupRemoveExternalIdType(description={!r})'.format( + self._description_value, + ) + +GroupRemoveExternalIdType_validator = bv.Struct(GroupRemoveExternalIdType) + +class GroupRemoveMemberDetails(bb.Struct): """ - Removed team members from a group. + Removed team members from group. """ __slots__ = [ @@ -20620,17 +35984,67 @@ class GroupRemoveMemberDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupRemoveMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupRemoveMemberDetails()' GroupRemoveMemberDetails_validator = bv.Struct(GroupRemoveMemberDetails) -class GroupRenameDetails(object): - """ - Renamed a group. +class GroupRemoveMemberType(bb.Struct): - :ivar previous_value: Previous display name. - :ivar new_value: New display name. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupRemoveMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupRemoveMemberType(description={!r})'.format( + self._description_value, + ) + +GroupRemoveMemberType_validator = bv.Struct(GroupRemoveMemberType) + +class GroupRenameDetails(bb.Struct): + """ + Renamed group. + + :ivar team_log.GroupRenameDetails.previous_value: Previous display name. + :ivar team_log.GroupRenameDetails.new_value: New display name. """ __slots__ = [ @@ -20700,6 +36114,9 @@ class GroupRenameDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupRenameDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupRenameDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -20708,13 +36125,62 @@ class GroupRenameDetails(object): GroupRenameDetails_validator = bv.Struct(GroupRenameDetails) -class GroupUserManagementChangePolicyDetails(object): +class GroupRenameType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupRenameType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupRenameType(description={!r})'.format( + self._description_value, + ) + +GroupRenameType_validator = bv.Struct(GroupRenameType) + +class GroupUserManagementChangePolicyDetails(bb.Struct): """ 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. + :ivar team_log.GroupUserManagementChangePolicyDetails.new_value: New group + users management policy. + :ivar team_log.GroupUserManagementChangePolicyDetails.previous_value: + Previous group users management policy. Might be missing due to + historical data gap. """ __slots__ = [ @@ -20743,7 +36209,7 @@ class GroupUserManagementChangePolicyDetails(object): """ New group users management policy. - :rtype: GroupUserManagementPolicy + :rtype: team_policies.GroupCreation """ if self._new_value_present: return self._new_value_value @@ -20767,7 +36233,7 @@ class GroupUserManagementChangePolicyDetails(object): Previous group users management policy. Might be missing due to historical data gap. - :rtype: GroupUserManagementPolicy + :rtype: team_policies.GroupCreation """ if self._previous_value_present: return self._previous_value_value @@ -20788,6 +36254,9 @@ class GroupUserManagementChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupUserManagementChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GroupUserManagementChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -20796,7 +36265,607 @@ class GroupUserManagementChangePolicyDetails(object): GroupUserManagementChangePolicyDetails_validator = bv.Struct(GroupUserManagementChangePolicyDetails) -class GroupUserManagementPolicy(bb.Union): +class GroupUserManagementChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupUserManagementChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupUserManagementChangePolicyType(description={!r})'.format( + self._description_value, + ) + +GroupUserManagementChangePolicyType_validator = bv.Struct(GroupUserManagementChangePolicyType) + +class GuestAdminChangeStatusDetails(bb.Struct): + """ + Changed guest team admin status. + + :ivar team_log.GuestAdminChangeStatusDetails.is_guest: True for guest, false + for host. + :ivar team_log.GuestAdminChangeStatusDetails.guest_team_name: The name of + the guest team. + :ivar team_log.GuestAdminChangeStatusDetails.host_team_name: The name of the + host team. + :ivar team_log.GuestAdminChangeStatusDetails.previous_value: Previous + request state. + :ivar team_log.GuestAdminChangeStatusDetails.new_value: New request state. + :ivar team_log.GuestAdminChangeStatusDetails.action_details: Action details. + """ + + __slots__ = [ + '_is_guest_value', + '_is_guest_present', + '_guest_team_name_value', + '_guest_team_name_present', + '_host_team_name_value', + '_host_team_name_present', + '_previous_value_value', + '_previous_value_present', + '_new_value_value', + '_new_value_present', + '_action_details_value', + '_action_details_present', + ] + + _has_required_fields = True + + def __init__(self, + is_guest=None, + previous_value=None, + new_value=None, + action_details=None, + guest_team_name=None, + host_team_name=None): + self._is_guest_value = None + self._is_guest_present = False + self._guest_team_name_value = None + self._guest_team_name_present = False + self._host_team_name_value = None + self._host_team_name_present = False + self._previous_value_value = None + self._previous_value_present = False + self._new_value_value = None + self._new_value_present = False + self._action_details_value = None + self._action_details_present = False + if is_guest is not None: + self.is_guest = is_guest + if guest_team_name is not None: + self.guest_team_name = guest_team_name + if host_team_name is not None: + self.host_team_name = host_team_name + if previous_value is not None: + self.previous_value = previous_value + if new_value is not None: + self.new_value = new_value + if action_details is not None: + self.action_details = action_details + + @property + def is_guest(self): + """ + True for guest, false for host. + + :rtype: bool + """ + if self._is_guest_present: + return self._is_guest_value + else: + raise AttributeError("missing required field 'is_guest'") + + @is_guest.setter + def is_guest(self, val): + val = self._is_guest_validator.validate(val) + self._is_guest_value = val + self._is_guest_present = True + + @is_guest.deleter + def is_guest(self): + self._is_guest_value = None + self._is_guest_present = False + + @property + def guest_team_name(self): + """ + The name of the guest team. + + :rtype: str + """ + if self._guest_team_name_present: + return self._guest_team_name_value + else: + return None + + @guest_team_name.setter + def guest_team_name(self, val): + if val is None: + del self.guest_team_name + return + val = self._guest_team_name_validator.validate(val) + self._guest_team_name_value = val + self._guest_team_name_present = True + + @guest_team_name.deleter + def guest_team_name(self): + self._guest_team_name_value = None + self._guest_team_name_present = False + + @property + def host_team_name(self): + """ + The name of the host team. + + :rtype: str + """ + if self._host_team_name_present: + return self._host_team_name_value + else: + return None + + @host_team_name.setter + def host_team_name(self, val): + if val is None: + del self.host_team_name + return + val = self._host_team_name_validator.validate(val) + self._host_team_name_value = val + self._host_team_name_present = True + + @host_team_name.deleter + def host_team_name(self): + self._host_team_name_value = None + self._host_team_name_present = False + + @property + def previous_value(self): + """ + Previous request state. + + :rtype: TrustedTeamsRequestState + """ + 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 request state. + + :rtype: TrustedTeamsRequestState + """ + 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 action_details(self): + """ + Action details. + + :rtype: TrustedTeamsRequestAction + """ + if self._action_details_present: + return self._action_details_value + else: + raise AttributeError("missing required field 'action_details'") + + @action_details.setter + def action_details(self, val): + self._action_details_validator.validate_type_only(val) + self._action_details_value = val + self._action_details_present = True + + @action_details.deleter + def action_details(self): + self._action_details_value = None + self._action_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GuestAdminChangeStatusDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GuestAdminChangeStatusDetails(is_guest={!r}, previous_value={!r}, new_value={!r}, action_details={!r}, guest_team_name={!r}, host_team_name={!r})'.format( + self._is_guest_value, + self._previous_value_value, + self._new_value_value, + self._action_details_value, + self._guest_team_name_value, + self._host_team_name_value, + ) + +GuestAdminChangeStatusDetails_validator = bv.Struct(GuestAdminChangeStatusDetails) + +class GuestAdminChangeStatusType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GuestAdminChangeStatusType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GuestAdminChangeStatusType(description={!r})'.format( + self._description_value, + ) + +GuestAdminChangeStatusType_validator = bv.Struct(GuestAdminChangeStatusType) + +class GuestAdminSignedInViaTrustedTeamsDetails(bb.Struct): + """ + Started trusted team admin session. + + :ivar team_log.GuestAdminSignedInViaTrustedTeamsDetails.team_name: Host team + name. + :ivar team_log.GuestAdminSignedInViaTrustedTeamsDetails.trusted_team_name: + Trusted team name. + """ + + __slots__ = [ + '_team_name_value', + '_team_name_present', + '_trusted_team_name_value', + '_trusted_team_name_present', + ] + + _has_required_fields = False + + def __init__(self, + team_name=None, + trusted_team_name=None): + self._team_name_value = None + self._team_name_present = False + self._trusted_team_name_value = None + self._trusted_team_name_present = False + if team_name is not None: + self.team_name = team_name + if trusted_team_name is not None: + self.trusted_team_name = trusted_team_name + + @property + def team_name(self): + """ + Host team name. + + :rtype: str + """ + if self._team_name_present: + return self._team_name_value + else: + return None + + @team_name.setter + def team_name(self, val): + if val is None: + del self.team_name + return + 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 + + @property + def trusted_team_name(self): + """ + Trusted team name. + + :rtype: str + """ + if self._trusted_team_name_present: + return self._trusted_team_name_value + else: + return None + + @trusted_team_name.setter + def trusted_team_name(self, val): + if val is None: + del self.trusted_team_name + return + val = self._trusted_team_name_validator.validate(val) + self._trusted_team_name_value = val + self._trusted_team_name_present = True + + @trusted_team_name.deleter + def trusted_team_name(self): + self._trusted_team_name_value = None + self._trusted_team_name_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GuestAdminSignedInViaTrustedTeamsDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GuestAdminSignedInViaTrustedTeamsDetails(team_name={!r}, trusted_team_name={!r})'.format( + self._team_name_value, + self._trusted_team_name_value, + ) + +GuestAdminSignedInViaTrustedTeamsDetails_validator = bv.Struct(GuestAdminSignedInViaTrustedTeamsDetails) + +class GuestAdminSignedInViaTrustedTeamsType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GuestAdminSignedInViaTrustedTeamsType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GuestAdminSignedInViaTrustedTeamsType(description={!r})'.format( + self._description_value, + ) + +GuestAdminSignedInViaTrustedTeamsType_validator = bv.Struct(GuestAdminSignedInViaTrustedTeamsType) + +class GuestAdminSignedOutViaTrustedTeamsDetails(bb.Struct): + """ + Ended trusted team admin session. + + :ivar team_log.GuestAdminSignedOutViaTrustedTeamsDetails.team_name: Host + team name. + :ivar team_log.GuestAdminSignedOutViaTrustedTeamsDetails.trusted_team_name: + Trusted team name. + """ + + __slots__ = [ + '_team_name_value', + '_team_name_present', + '_trusted_team_name_value', + '_trusted_team_name_present', + ] + + _has_required_fields = False + + def __init__(self, + team_name=None, + trusted_team_name=None): + self._team_name_value = None + self._team_name_present = False + self._trusted_team_name_value = None + self._trusted_team_name_present = False + if team_name is not None: + self.team_name = team_name + if trusted_team_name is not None: + self.trusted_team_name = trusted_team_name + + @property + def team_name(self): + """ + Host team name. + + :rtype: str + """ + if self._team_name_present: + return self._team_name_value + else: + return None + + @team_name.setter + def team_name(self, val): + if val is None: + del self.team_name + return + 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 + + @property + def trusted_team_name(self): + """ + Trusted team name. + + :rtype: str + """ + if self._trusted_team_name_present: + return self._trusted_team_name_value + else: + return None + + @trusted_team_name.setter + def trusted_team_name(self, val): + if val is None: + del self.trusted_team_name + return + val = self._trusted_team_name_validator.validate(val) + self._trusted_team_name_value = val + self._trusted_team_name_present = True + + @trusted_team_name.deleter + def trusted_team_name(self): + self._trusted_team_name_value = None + self._trusted_team_name_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GuestAdminSignedOutViaTrustedTeamsDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GuestAdminSignedOutViaTrustedTeamsDetails(team_name={!r}, trusted_team_name={!r})'.format( + self._team_name_value, + self._trusted_team_name_value, + ) + +GuestAdminSignedOutViaTrustedTeamsDetails_validator = bv.Struct(GuestAdminSignedOutViaTrustedTeamsDetails) + +class GuestAdminSignedOutViaTrustedTeamsType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GuestAdminSignedOutViaTrustedTeamsType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GuestAdminSignedOutViaTrustedTeamsType(description={!r})'.format( + self._description_value, + ) + +GuestAdminSignedOutViaTrustedTeamsType_validator = bv.Struct(GuestAdminSignedOutViaTrustedTeamsType) + +class IdentifierType(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 @@ -20805,27 +36874,27 @@ class GroupUserManagementPolicy(bb.Union): _catch_all = 'other' # Attribute is overwritten below the class definition - admins_only = None + email = None # Attribute is overwritten below the class definition - all_users = None + facebook_profile_name = None # Attribute is overwritten below the class definition other = None - def is_admins_only(self): + def is_email(self): """ - Check if the union tag is ``admins_only``. + Check if the union tag is ``email``. :rtype: bool """ - return self._tag == 'admins_only' + return self._tag == 'email' - def is_all_users(self): + def is_facebook_profile_name(self): """ - Check if the union tag is ``all_users``. + Check if the union tag is ``facebook_profile_name``. :rtype: bool """ - return self._tag == 'all_users' + return self._tag == 'facebook_profile_name' def is_other(self): """ @@ -20835,107 +36904,443 @@ class GroupUserManagementPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IdentifierType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'GroupUserManagementPolicy(%r, %r)' % (self._tag, self._value) + return 'IdentifierType(%r, %r)' % (self._tag, self._value) -GroupUserManagementPolicy_validator = bv.Union(GroupUserManagementPolicy) +IdentifierType_validator = bv.Union(IdentifierType) -class HostLogInfo(object): +class IntegrationConnectedDetails(bb.Struct): """ - Host details. + Connected integration for member. - :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. + :ivar team_log.IntegrationConnectedDetails.integration_name: Name of the + third-party integration. """ __slots__ = [ - '_host_id_value', - '_host_id_present', - '_host_name_value', - '_host_name_present', + '_integration_name_value', + '_integration_name_present', ] - _has_required_fields = False + _has_required_fields = True 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 + integration_name=None): + self._integration_name_value = None + self._integration_name_present = False + if integration_name is not None: + self.integration_name = integration_name @property - def host_id(self): + def integration_name(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. + Name of the third-party integration. :rtype: str """ - if self._host_name_present: - return self._host_name_value + if self._integration_name_present: + return self._integration_name_value else: - return None + raise AttributeError("missing required field 'integration_name'") - @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 + @integration_name.setter + def integration_name(self, val): + val = self._integration_name_validator.validate(val) + self._integration_name_value = val + self._integration_name_present = True - @host_name.deleter - def host_name(self): - self._host_name_value = None - self._host_name_present = False + @integration_name.deleter + def integration_name(self): + self._integration_name_value = None + self._integration_name_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IntegrationConnectedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'HostLogInfo(host_id={!r}, host_name={!r})'.format( - self._host_id_value, - self._host_name_value, + return 'IntegrationConnectedDetails(integration_name={!r})'.format( + self._integration_name_value, ) -HostLogInfo_validator = bv.Struct(HostLogInfo) +IntegrationConnectedDetails_validator = bv.Struct(IntegrationConnectedDetails) -class JoinTeamDetails(object): +class IntegrationConnectedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IntegrationConnectedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'IntegrationConnectedType(description={!r})'.format( + self._description_value, + ) + +IntegrationConnectedType_validator = bv.Struct(IntegrationConnectedType) + +class IntegrationDisconnectedDetails(bb.Struct): + """ + Disconnected integration for member. + + :ivar team_log.IntegrationDisconnectedDetails.integration_name: Name of the + third-party integration. + """ + + __slots__ = [ + '_integration_name_value', + '_integration_name_present', + ] + + _has_required_fields = True + + def __init__(self, + integration_name=None): + self._integration_name_value = None + self._integration_name_present = False + if integration_name is not None: + self.integration_name = integration_name + + @property + def integration_name(self): + """ + Name of the third-party integration. + + :rtype: str + """ + if self._integration_name_present: + return self._integration_name_value + else: + raise AttributeError("missing required field 'integration_name'") + + @integration_name.setter + def integration_name(self, val): + val = self._integration_name_validator.validate(val) + self._integration_name_value = val + self._integration_name_present = True + + @integration_name.deleter + def integration_name(self): + self._integration_name_value = None + self._integration_name_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IntegrationDisconnectedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'IntegrationDisconnectedDetails(integration_name={!r})'.format( + self._integration_name_value, + ) + +IntegrationDisconnectedDetails_validator = bv.Struct(IntegrationDisconnectedDetails) + +class IntegrationDisconnectedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IntegrationDisconnectedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'IntegrationDisconnectedType(description={!r})'.format( + self._description_value, + ) + +IntegrationDisconnectedType_validator = bv.Struct(IntegrationDisconnectedType) + +class IntegrationPolicy(bb.Union): + """ + Policy for controlling whether a service integration is enabled for the + team. + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(IntegrationPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'IntegrationPolicy(%r, %r)' % (self._tag, self._value) + +IntegrationPolicy_validator = bv.Union(IntegrationPolicy) + +class IntegrationPolicyChangedDetails(bb.Struct): + """ + Changed integration policy for team. + + :ivar team_log.IntegrationPolicyChangedDetails.integration_name: Name of the + third-party integration. + :ivar team_log.IntegrationPolicyChangedDetails.new_value: New integration + policy. + :ivar team_log.IntegrationPolicyChangedDetails.previous_value: Previous + integration policy. + """ + + __slots__ = [ + '_integration_name_value', + '_integration_name_present', + '_new_value_value', + '_new_value_present', + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + integration_name=None, + new_value=None, + previous_value=None): + self._integration_name_value = None + self._integration_name_present = False + self._new_value_value = None + self._new_value_present = False + self._previous_value_value = None + self._previous_value_present = False + if integration_name is not None: + self.integration_name = integration_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 integration_name(self): + """ + Name of the third-party integration. + + :rtype: str + """ + if self._integration_name_present: + return self._integration_name_value + else: + raise AttributeError("missing required field 'integration_name'") + + @integration_name.setter + def integration_name(self, val): + val = self._integration_name_validator.validate(val) + self._integration_name_value = val + self._integration_name_present = True + + @integration_name.deleter + def integration_name(self): + self._integration_name_value = None + self._integration_name_present = False + + @property + def new_value(self): + """ + New integration policy. + + :rtype: IntegrationPolicy + """ + 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 integration policy. + + :rtype: IntegrationPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(IntegrationPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'IntegrationPolicyChangedDetails(integration_name={!r}, new_value={!r}, previous_value={!r})'.format( + self._integration_name_value, + self._new_value_value, + self._previous_value_value, + ) + +IntegrationPolicyChangedDetails_validator = bv.Struct(IntegrationPolicyChangedDetails) + +class IntegrationPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IntegrationPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'IntegrationPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +IntegrationPolicyChangedType_validator = bv.Struct(IntegrationPolicyChangedType) + +class JoinTeamDetails(bb.Struct): """ Additional information relevant when a new member joins the team. - :ivar linked_apps: Linked applications. - :ivar linked_devices: Linked devices. - :ivar linked_shared_folders: Linked shared folders. + :ivar team_log.JoinTeamDetails.linked_apps: Linked applications. + :ivar team_log.JoinTeamDetails.linked_devices: Linked devices. + :ivar team_log.JoinTeamDetails.linked_shared_folders: Linked shared folders. """ __slots__ = [ @@ -20971,7 +37376,7 @@ class JoinTeamDetails(object): """ Linked applications. - :rtype: list of [AppLogInfo] + :rtype: list of [UserLinkedAppLogInfo] """ if self._linked_apps_present: return self._linked_apps_value @@ -20994,7 +37399,7 @@ class JoinTeamDetails(object): """ Linked devices. - :rtype: list of [DeviceLogInfo] + :rtype: list of [LinkedDeviceLogInfo] """ if self._linked_devices_present: return self._linked_devices_value @@ -21035,6 +37440,9 @@ class JoinTeamDetails(object): self._linked_shared_folders_value = None self._linked_shared_folders_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(JoinTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'JoinTeamDetails(linked_apps={!r}, linked_devices={!r}, linked_shared_folders={!r})'.format( self._linked_apps_value, @@ -21044,46 +37452,465 @@ class JoinTeamDetails(object): JoinTeamDetails_validator = bv.Struct(JoinTeamDetails) -class LinkAudience(bb.Union): +class LegacyDeviceSessionLogInfo(DeviceSessionLogInfo): """ + Information on sessions, in legacy format + + :ivar team_log.LegacyDeviceSessionLogInfo.session_info: Session unique id. + Might be missing due to historical data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.display_name: The device name. + Might be missing due to historical data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.is_emm_managed: Is device managed + by emm. Might be missing due to historical data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.platform: Information on the + hosting platform. Might be missing due to historical data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.mac_address: The mac address of + the last activity from this session. Might be missing due to historical + data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.os_version: The hosting OS + version. Might be missing due to historical data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.device_type: Information on the + hosting device type. Might be missing due to historical data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.client_version: The Dropbox client + version. Might be missing due to historical data gap. + :ivar team_log.LegacyDeviceSessionLogInfo.legacy_uniq_id: Alternative unique + device session id, instead of session id field. Might be missing due to + historical data gap. + """ + + __slots__ = [ + '_session_info_value', + '_session_info_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', + '_client_version_value', + '_client_version_present', + '_legacy_uniq_id_value', + '_legacy_uniq_id_present', + ] + + _has_required_fields = False + + def __init__(self, + ip_address=None, + created=None, + updated=None, + session_info=None, + display_name=None, + is_emm_managed=None, + platform=None, + mac_address=None, + os_version=None, + device_type=None, + client_version=None, + legacy_uniq_id=None): + super(LegacyDeviceSessionLogInfo, self).__init__(ip_address, + created, + updated) + self._session_info_value = None + self._session_info_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._client_version_value = None + self._client_version_present = False + self._legacy_uniq_id_value = None + self._legacy_uniq_id_present = False + if session_info is not None: + self.session_info = session_info + 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 client_version is not None: + self.client_version = client_version + if legacy_uniq_id is not None: + self.legacy_uniq_id = legacy_uniq_id + + @property + def session_info(self): + """ + Session unique id. Might be missing due to historical data gap. + + :rtype: SessionLogInfo + """ + if self._session_info_present: + return self._session_info_value + else: + return None + + @session_info.setter + def session_info(self, val): + if val is None: + del self.session_info + return + self._session_info_validator.validate_type_only(val) + self._session_info_value = val + self._session_info_present = True + + @session_info.deleter + def session_info(self): + self._session_info_value = None + self._session_info_present = False + + @property + def display_name(self): + """ + The device 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): + """ + Is device managed by emm. 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): + """ + Information on the hosting platform. 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): + """ + The mac address of the last activity from this session. 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): + """ + The hosting 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): + """ + Information on the hosting 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 client_version(self): + """ + The Dropbox client version. Might be missing due to historical data gap. + + :rtype: str + """ + if self._client_version_present: + return self._client_version_value + else: + return None + + @client_version.setter + def client_version(self, val): + if val is None: + del self.client_version + return + val = self._client_version_validator.validate(val) + self._client_version_value = val + self._client_version_present = True + + @client_version.deleter + def client_version(self): + self._client_version_value = None + self._client_version_present = False + + @property + def legacy_uniq_id(self): + """ + Alternative unique device session id, instead of session id field. Might + be missing due to historical data gap. + + :rtype: str + """ + if self._legacy_uniq_id_present: + return self._legacy_uniq_id_value + else: + return None + + @legacy_uniq_id.setter + def legacy_uniq_id(self, val): + if val is None: + del self.legacy_uniq_id + return + val = self._legacy_uniq_id_validator.validate(val) + self._legacy_uniq_id_value = val + self._legacy_uniq_id_present = True + + @legacy_uniq_id.deleter + def legacy_uniq_id(self): + self._legacy_uniq_id_value = None + self._legacy_uniq_id_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LegacyDeviceSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LegacyDeviceSessionLogInfo(ip_address={!r}, created={!r}, updated={!r}, session_info={!r}, display_name={!r}, is_emm_managed={!r}, platform={!r}, mac_address={!r}, os_version={!r}, device_type={!r}, client_version={!r}, legacy_uniq_id={!r})'.format( + self._ip_address_value, + self._created_value, + self._updated_value, + self._session_info_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._client_version_value, + self._legacy_uniq_id_value, + ) + +LegacyDeviceSessionLogInfo_validator = bv.Struct(LegacyDeviceSessionLogInfo) + +class LinkedDeviceLogInfo(bb.Union): + """ + The device sessions that user is linked to. + 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 MobileDeviceSessionLogInfo LinkedDeviceLogInfo.mobile_device_session: + mobile device session's details. + :ivar DesktopDeviceSessionLogInfo + LinkedDeviceLogInfo.desktop_device_session: desktop device session's + details. + :ivar WebDeviceSessionLogInfo LinkedDeviceLogInfo.web_device_session: web + device session's details. + :ivar LegacyDeviceSessionLogInfo LinkedDeviceLogInfo.legacy_device_session: + legacy device session's details. """ _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): + @classmethod + def mobile_device_session(cls, val): """ - Check if the union tag is ``public``. + Create an instance of this class set to the ``mobile_device_session`` + tag with value ``val``. + + :param MobileDeviceSessionLogInfo val: + :rtype: LinkedDeviceLogInfo + """ + return cls('mobile_device_session', val) + + @classmethod + def desktop_device_session(cls, val): + """ + Create an instance of this class set to the ``desktop_device_session`` + tag with value ``val``. + + :param DesktopDeviceSessionLogInfo val: + :rtype: LinkedDeviceLogInfo + """ + return cls('desktop_device_session', val) + + @classmethod + def web_device_session(cls, val): + """ + Create an instance of this class set to the ``web_device_session`` tag + with value ``val``. + + :param WebDeviceSessionLogInfo val: + :rtype: LinkedDeviceLogInfo + """ + return cls('web_device_session', val) + + @classmethod + def legacy_device_session(cls, val): + """ + Create an instance of this class set to the ``legacy_device_session`` + tag with value ``val``. + + :param LegacyDeviceSessionLogInfo val: + :rtype: LinkedDeviceLogInfo + """ + return cls('legacy_device_session', val) + + def is_mobile_device_session(self): + """ + Check if the union tag is ``mobile_device_session``. :rtype: bool """ - return self._tag == 'public' + return self._tag == 'mobile_device_session' - def is_team(self): + def is_desktop_device_session(self): """ - Check if the union tag is ``team``. + Check if the union tag is ``desktop_device_session``. :rtype: bool """ - return self._tag == 'team' + return self._tag == 'desktop_device_session' - def is_members(self): + def is_web_device_session(self): """ - Check if the union tag is ``members``. + Check if the union tag is ``web_device_session``. :rtype: bool """ - return self._tag == 'members' + return self._tag == 'web_device_session' + + def is_legacy_device_session(self): + """ + Check if the union tag is ``legacy_device_session``. + + :rtype: bool + """ + return self._tag == 'legacy_device_session' def is_other(self): """ @@ -21093,12 +37920,438 @@ class LinkAudience(bb.Union): """ return self._tag == 'other' + def get_mobile_device_session(self): + """ + mobile device session's details. + + Only call this if :meth:`is_mobile_device_session` is true. + + :rtype: MobileDeviceSessionLogInfo + """ + if not self.is_mobile_device_session(): + raise AttributeError("tag 'mobile_device_session' not set") + return self._value + + def get_desktop_device_session(self): + """ + desktop device session's details. + + Only call this if :meth:`is_desktop_device_session` is true. + + :rtype: DesktopDeviceSessionLogInfo + """ + if not self.is_desktop_device_session(): + raise AttributeError("tag 'desktop_device_session' not set") + return self._value + + def get_web_device_session(self): + """ + web device session's details. + + Only call this if :meth:`is_web_device_session` is true. + + :rtype: WebDeviceSessionLogInfo + """ + if not self.is_web_device_session(): + raise AttributeError("tag 'web_device_session' not set") + return self._value + + def get_legacy_device_session(self): + """ + legacy device session's details. + + Only call this if :meth:`is_legacy_device_session` is true. + + :rtype: LegacyDeviceSessionLogInfo + """ + if not self.is_legacy_device_session(): + raise AttributeError("tag 'legacy_device_session' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LinkedDeviceLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'LinkAudience(%r, %r)' % (self._tag, self._value) + return 'LinkedDeviceLogInfo(%r, %r)' % (self._tag, self._value) -LinkAudience_validator = bv.Union(LinkAudience) +LinkedDeviceLogInfo_validator = bv.Union(LinkedDeviceLogInfo) -class LogoutDetails(object): +class LoginFailDetails(bb.Struct): + """ + Failed to sign in. + + :ivar team_log.LoginFailDetails.is_emm_managed: Tells if the login device is + EMM managed. Might be missing due to historical data gap. + :ivar team_log.LoginFailDetails.login_method: Login method. + :ivar team_log.LoginFailDetails.error_details: Error details. + """ + + __slots__ = [ + '_is_emm_managed_value', + '_is_emm_managed_present', + '_login_method_value', + '_login_method_present', + '_error_details_value', + '_error_details_present', + ] + + _has_required_fields = True + + def __init__(self, + login_method=None, + error_details=None, + is_emm_managed=None): + self._is_emm_managed_value = None + self._is_emm_managed_present = False + self._login_method_value = None + self._login_method_present = False + self._error_details_value = None + self._error_details_present = False + if is_emm_managed is not None: + self.is_emm_managed = is_emm_managed + if login_method is not None: + self.login_method = login_method + if error_details is not None: + self.error_details = error_details + + @property + def is_emm_managed(self): + """ + Tells if the login device is EMM managed. 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 login_method(self): + """ + Login method. + + :rtype: LoginMethod + """ + if self._login_method_present: + return self._login_method_value + else: + raise AttributeError("missing required field 'login_method'") + + @login_method.setter + def login_method(self, val): + self._login_method_validator.validate_type_only(val) + self._login_method_value = val + self._login_method_present = True + + @login_method.deleter + def login_method(self): + self._login_method_value = None + self._login_method_present = False + + @property + def error_details(self): + """ + Error details. + + :rtype: FailureDetailsLogInfo + """ + if self._error_details_present: + return self._error_details_value + else: + raise AttributeError("missing required field 'error_details'") + + @error_details.setter + def error_details(self, val): + self._error_details_validator.validate_type_only(val) + self._error_details_value = val + self._error_details_present = True + + @error_details.deleter + def error_details(self): + self._error_details_value = None + self._error_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LoginFailDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LoginFailDetails(login_method={!r}, error_details={!r}, is_emm_managed={!r})'.format( + self._login_method_value, + self._error_details_value, + self._is_emm_managed_value, + ) + +LoginFailDetails_validator = bv.Struct(LoginFailDetails) + +class LoginFailType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LoginFailType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LoginFailType(description={!r})'.format( + self._description_value, + ) + +LoginFailType_validator = bv.Struct(LoginFailType) + +class LoginMethod(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 + password = None + # Attribute is overwritten below the class definition + two_factor_authentication = None + # Attribute is overwritten below the class definition + saml = None + # Attribute is overwritten below the class definition + google_oauth = None + # Attribute is overwritten below the class definition + other = None + + def is_password(self): + """ + Check if the union tag is ``password``. + + :rtype: bool + """ + return self._tag == 'password' + + def is_two_factor_authentication(self): + """ + Check if the union tag is ``two_factor_authentication``. + + :rtype: bool + """ + return self._tag == 'two_factor_authentication' + + def is_saml(self): + """ + Check if the union tag is ``saml``. + + :rtype: bool + """ + return self._tag == 'saml' + + def is_google_oauth(self): + """ + Check if the union tag is ``google_oauth``. + + :rtype: bool + """ + return self._tag == 'google_oauth' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LoginMethod, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LoginMethod(%r, %r)' % (self._tag, self._value) + +LoginMethod_validator = bv.Union(LoginMethod) + +class LoginSuccessDetails(bb.Struct): + """ + Signed in. + + :ivar team_log.LoginSuccessDetails.is_emm_managed: Tells if the login device + is EMM managed. Might be missing due to historical data gap. + :ivar team_log.LoginSuccessDetails.login_method: Login method. + """ + + __slots__ = [ + '_is_emm_managed_value', + '_is_emm_managed_present', + '_login_method_value', + '_login_method_present', + ] + + _has_required_fields = True + + def __init__(self, + login_method=None, + is_emm_managed=None): + self._is_emm_managed_value = None + self._is_emm_managed_present = False + self._login_method_value = None + self._login_method_present = False + if is_emm_managed is not None: + self.is_emm_managed = is_emm_managed + if login_method is not None: + self.login_method = login_method + + @property + def is_emm_managed(self): + """ + Tells if the login device is EMM managed. 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 login_method(self): + """ + Login method. + + :rtype: LoginMethod + """ + if self._login_method_present: + return self._login_method_value + else: + raise AttributeError("missing required field 'login_method'") + + @login_method.setter + def login_method(self, val): + self._login_method_validator.validate_type_only(val) + self._login_method_value = val + self._login_method_present = True + + @login_method.deleter + def login_method(self): + self._login_method_value = None + self._login_method_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LoginSuccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LoginSuccessDetails(login_method={!r}, is_emm_managed={!r})'.format( + self._login_method_value, + self._is_emm_managed_value, + ) + +LoginSuccessDetails_validator = bv.Struct(LoginSuccessDetails) + +class LoginSuccessType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LoginSuccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LoginSuccessType(description={!r})'.format( + self._description_value, + ) + +LoginSuccessType_validator = bv.Struct(LoginSuccessType) + +class LogoutDetails(bb.Struct): """ Signed out. """ @@ -21111,71 +38364,273 @@ class LogoutDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LogoutDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'LogoutDetails()' LogoutDetails_validator = bv.Struct(LogoutDetails) -class MemberAddNameDetails(object): - """ - Set team member name when joining team. - - :ivar value: User's name. - """ +class LogoutType(bb.Struct): __slots__ = [ - '_value_value', - '_value_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - value=None): - self._value_value = None - self._value_present = False - if value is not None: - self.value = value + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def value(self): + def description(self): """ - User's name. + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(LogoutType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'LogoutType(description={!r})'.format( + self._description_value, + ) + +LogoutType_validator = bv.Struct(LogoutType) + +class MemberAddExternalIdDetails(bb.Struct): + """ + Added an external ID for team member. + + :ivar team_log.MemberAddExternalIdDetails.new_value: Current external id. + """ + + __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): + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAddExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberAddExternalIdDetails(new_value={!r})'.format( + self._new_value_value, + ) + +MemberAddExternalIdDetails_validator = bv.Struct(MemberAddExternalIdDetails) + +class MemberAddExternalIdType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAddExternalIdType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberAddExternalIdType(description={!r})'.format( + self._description_value, + ) + +MemberAddExternalIdType_validator = bv.Struct(MemberAddExternalIdType) + +class MemberAddNameDetails(bb.Struct): + """ + Added team member name. + + :ivar team_log.MemberAddNameDetails.new_value: New 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): + """ + New user's name. :rtype: UserNameLogInfo """ - if self._value_present: - return self._value_value + if self._new_value_present: + return self._new_value_value else: - raise AttributeError("missing required field 'value'") + raise AttributeError("missing required field 'new_value'") - @value.setter - def value(self, val): - self._value_validator.validate_type_only(val) - self._value_value = val - self._value_present = True + @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 - @value.deleter - def value(self): - self._value_value = None - self._value_present = False + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAddNameDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'MemberAddNameDetails(value={!r})'.format( - self._value_value, + return 'MemberAddNameDetails(new_value={!r})'.format( + self._new_value_value, ) MemberAddNameDetails_validator = bv.Struct(MemberAddNameDetails) -class MemberChangeAdminRoleDetails(object): - """ - Change the admin role belonging to team member. +class MemberAddNameType(bb.Struct): - :ivar new_value: New admin role. This field is relevant when the admin role - is changed or whenthe user role changes from no admin rights to with - admin rights. - :ivar previous_value: Previous admin role. This field is relevant when the - admin role is changed or when the admin role is removed. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberAddNameType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberAddNameType(description={!r})'.format( + self._description_value, + ) + +MemberAddNameType_validator = bv.Struct(MemberAddNameType) + +class MemberChangeAdminRoleDetails(bb.Struct): + """ + Changed team member admin role. + + :ivar team_log.MemberChangeAdminRoleDetails.new_value: New admin role. This + field is relevant when the admin role is changed or whenthe user role + changes from no admin rights to with admin rights. + :ivar team_log.MemberChangeAdminRoleDetails.previous_value: Previous admin + role. This field is relevant when the admin role is changed or when the + admin role is removed. """ __slots__ = [ @@ -21253,6 +38708,9 @@ class MemberChangeAdminRoleDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeAdminRoleDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberChangeAdminRoleDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -21261,13 +38719,60 @@ class MemberChangeAdminRoleDetails(object): MemberChangeAdminRoleDetails_validator = bv.Struct(MemberChangeAdminRoleDetails) -class MemberChangeEmailDetails(object): - """ - Changed team member email address. +class MemberChangeAdminRoleType(bb.Struct): - :ivar new_value: New email. - :ivar previous_value: Previous email. Might be missing due to historical - data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeAdminRoleType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberChangeAdminRoleType(description={!r})'.format( + self._description_value, + ) + +MemberChangeAdminRoleType_validator = bv.Struct(MemberChangeAdminRoleType) + +class MemberChangeEmailDetails(bb.Struct): + """ + Changed team member email. + + :ivar team_log.MemberChangeEmailDetails.new_value: New email. + :ivar team_log.MemberChangeEmailDetails.previous_value: Previous email. + Might be missing due to historical data gap. """ __slots__ = [ @@ -21340,6 +38845,9 @@ class MemberChangeEmailDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeEmailDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberChangeEmailDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -21348,12 +38856,195 @@ class MemberChangeEmailDetails(object): MemberChangeEmailDetails_validator = bv.Struct(MemberChangeEmailDetails) -class MemberChangeMembershipTypeDetails(object): - """ - Changed the membership type (limited vs full) for team member. +class MemberChangeEmailType(bb.Struct): - :ivar prev_value: Previous membership type. - :ivar new_value: New membership type. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeEmailType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberChangeEmailType(description={!r})'.format( + self._description_value, + ) + +MemberChangeEmailType_validator = bv.Struct(MemberChangeEmailType) + +class MemberChangeExternalIdDetails(bb.Struct): + """ + Changed the external ID for team member. + + :ivar team_log.MemberChangeExternalIdDetails.new_value: Current external id. + :ivar team_log.MemberChangeExternalIdDetails.previous_value: Old external + id. + """ + + __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): + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberChangeExternalIdDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +MemberChangeExternalIdDetails_validator = bv.Struct(MemberChangeExternalIdDetails) + +class MemberChangeExternalIdType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeExternalIdType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberChangeExternalIdType(description={!r})'.format( + self._description_value, + ) + +MemberChangeExternalIdType_validator = bv.Struct(MemberChangeExternalIdType) + +class MemberChangeMembershipTypeDetails(bb.Struct): + """ + Changed membership type (limited/full) of member. + + :ivar team_log.MemberChangeMembershipTypeDetails.prev_value: Previous + membership type. + :ivar team_log.MemberChangeMembershipTypeDetails.new_value: New membership + type. """ __slots__ = [ @@ -21423,6 +39114,9 @@ class MemberChangeMembershipTypeDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeMembershipTypeDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberChangeMembershipTypeDetails(prev_value={!r}, new_value={!r})'.format( self._prev_value_value, @@ -21431,13 +39125,60 @@ class MemberChangeMembershipTypeDetails(object): MemberChangeMembershipTypeDetails_validator = bv.Struct(MemberChangeMembershipTypeDetails) -class MemberChangeNameDetails(object): +class MemberChangeMembershipTypeType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeMembershipTypeType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberChangeMembershipTypeType(description={!r})'.format( + self._description_value, + ) + +MemberChangeMembershipTypeType_validator = bv.Struct(MemberChangeMembershipTypeType) + +class MemberChangeNameDetails(bb.Struct): """ Changed team member name. - :ivar new_value: New user's name. - :ivar previous_value: Previous user's name. Might be missing due to - historical data gap. + :ivar team_log.MemberChangeNameDetails.new_value: New user's name. + :ivar team_log.MemberChangeNameDetails.previous_value: Previous user's name. + Might be missing due to historical data gap. """ __slots__ = [ @@ -21510,6 +39251,9 @@ class MemberChangeNameDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeNameDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberChangeNameDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -21518,15 +39262,62 @@ class MemberChangeNameDetails(object): MemberChangeNameDetails_validator = bv.Struct(MemberChangeNameDetails) -class MemberChangeStatusDetails(object): - """ - Changed the membership status of a team member. +class MemberChangeNameType(bb.Struct): - :ivar previous_value: Previous member status. Might be missing due to - historical data gap. - :ivar new_value: New member status. - :ivar team_join_details: Additional information relevant when a new member - joins the team. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeNameType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberChangeNameType(description={!r})'.format( + self._description_value, + ) + +MemberChangeNameType_validator = bv.Struct(MemberChangeNameType) + +class MemberChangeStatusDetails(bb.Struct): + """ + Changed member status (invited, joined, suspended, etc.). + + :ivar team_log.MemberChangeStatusDetails.previous_value: Previous member + status. Might be missing due to historical data gap. + :ivar team_log.MemberChangeStatusDetails.new_value: New member status. + :ivar team_log.MemberChangeStatusDetails.action: Additional information + indicating the action taken that caused status change. """ __slots__ = [ @@ -21534,8 +39325,8 @@ class MemberChangeStatusDetails(object): '_previous_value_present', '_new_value_value', '_new_value_present', - '_team_join_details_value', - '_team_join_details_present', + '_action_value', + '_action_present', ] _has_required_fields = True @@ -21543,19 +39334,19 @@ class MemberChangeStatusDetails(object): def __init__(self, new_value=None, previous_value=None, - team_join_details=None): + action=None): self._previous_value_value = None self._previous_value_present = False self._new_value_value = None self._new_value_present = False - self._team_join_details_value = None - self._team_join_details_present = False + self._action_value = None + self._action_present = False if previous_value is not None: self.previous_value = previous_value if new_value is not None: self.new_value = new_value - if team_join_details is not None: - self.team_join_details = team_join_details + if action is not None: + self.action = action @property def previous_value(self): @@ -21607,43 +39398,94 @@ class MemberChangeStatusDetails(object): self._new_value_present = False @property - def team_join_details(self): + def action(self): """ - Additional information relevant when a new member joins the team. + Additional information indicating the action taken that caused status + change. - :rtype: JoinTeamDetails + :rtype: ActionDetails """ - if self._team_join_details_present: - return self._team_join_details_value + if self._action_present: + return self._action_value else: return None - @team_join_details.setter - def team_join_details(self, val): + @action.setter + def action(self, val): if val is None: - del self.team_join_details + del self.action return - self._team_join_details_validator.validate_type_only(val) - self._team_join_details_value = val - self._team_join_details_present = True + self._action_validator.validate_type_only(val) + self._action_value = val + self._action_present = True - @team_join_details.deleter - def team_join_details(self): - self._team_join_details_value = None - self._team_join_details_present = False + @action.deleter + def action(self): + self._action_value = None + self._action_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeStatusDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'MemberChangeStatusDetails(new_value={!r}, previous_value={!r}, team_join_details={!r})'.format( + return 'MemberChangeStatusDetails(new_value={!r}, previous_value={!r}, action={!r})'.format( self._new_value_value, self._previous_value_value, - self._team_join_details_value, + self._action_value, ) MemberChangeStatusDetails_validator = bv.Struct(MemberChangeStatusDetails) -class MemberPermanentlyDeleteAccountContentsDetails(object): +class MemberChangeStatusType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberChangeStatusType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberChangeStatusType(description={!r})'.format( + self._description_value, + ) + +MemberChangeStatusType_validator = bv.Struct(MemberChangeStatusType) + +class MemberDeleteManualContactsDetails(bb.Struct): """ - Permanently deleted contents of a removed team member account. + Cleared manually added contacts. """ __slots__ = [ @@ -21654,18 +39496,307 @@ class MemberPermanentlyDeleteAccountContentsDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberDeleteManualContactsDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberDeleteManualContactsDetails()' + +MemberDeleteManualContactsDetails_validator = bv.Struct(MemberDeleteManualContactsDetails) + +class MemberDeleteManualContactsType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberDeleteManualContactsType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberDeleteManualContactsType(description={!r})'.format( + self._description_value, + ) + +MemberDeleteManualContactsType_validator = bv.Struct(MemberDeleteManualContactsType) + +class MemberPermanentlyDeleteAccountContentsDetails(bb.Struct): + """ + Permanently deleted contents of deleted team member account. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberPermanentlyDeleteAccountContentsDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberPermanentlyDeleteAccountContentsDetails()' MemberPermanentlyDeleteAccountContentsDetails_validator = bv.Struct(MemberPermanentlyDeleteAccountContentsDetails) -class MemberRequestsChangePolicyDetails(object): - """ - Changed whether users can find the team when not invited. +class MemberPermanentlyDeleteAccountContentsType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberPermanentlyDeleteAccountContentsType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberPermanentlyDeleteAccountContentsType(description={!r})'.format( + self._description_value, + ) + +MemberPermanentlyDeleteAccountContentsType_validator = bv.Struct(MemberPermanentlyDeleteAccountContentsType) + +class MemberRemoveActionType(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 + delete = None + # Attribute is overwritten below the class definition + offboard = None + # Attribute is overwritten below the class definition + leave = None + # Attribute is overwritten below the class definition + offboard_and_retain_team_folders = None + # Attribute is overwritten below the class definition + other = None + + def is_delete(self): + """ + Check if the union tag is ``delete``. + + :rtype: bool + """ + return self._tag == 'delete' + + def is_offboard(self): + """ + Check if the union tag is ``offboard``. + + :rtype: bool + """ + return self._tag == 'offboard' + + def is_leave(self): + """ + Check if the union tag is ``leave``. + + :rtype: bool + """ + return self._tag == 'leave' + + def is_offboard_and_retain_team_folders(self): + """ + Check if the union tag is ``offboard_and_retain_team_folders``. + + :rtype: bool + """ + return self._tag == 'offboard_and_retain_team_folders' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberRemoveActionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberRemoveActionType(%r, %r)' % (self._tag, self._value) + +MemberRemoveActionType_validator = bv.Union(MemberRemoveActionType) + +class MemberRemoveExternalIdDetails(bb.Struct): + """ + Removed the external ID for team member. + + :ivar team_log.MemberRemoveExternalIdDetails.previous_value: Old external + id. + """ + + __slots__ = [ + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_value=None): + self._previous_value_value = None + self._previous_value_present = False + if previous_value is not None: + self.previous_value = previous_value + + @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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberRemoveExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberRemoveExternalIdDetails(previous_value={!r})'.format( + self._previous_value_value, + ) + +MemberRemoveExternalIdDetails_validator = bv.Struct(MemberRemoveExternalIdDetails) + +class MemberRemoveExternalIdType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberRemoveExternalIdType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberRemoveExternalIdType(description={!r})'.format( + self._description_value, + ) + +MemberRemoveExternalIdType_validator = bv.Struct(MemberRemoveExternalIdType) + +class MemberRequestsChangePolicyDetails(bb.Struct): + """ + Changed whether users can find team when not invited. + + :ivar team_log.MemberRequestsChangePolicyDetails.new_value: New member + change requests policy. + :ivar team_log.MemberRequestsChangePolicyDetails.previous_value: Previous + member change requests policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -21739,6 +39870,9 @@ class MemberRequestsChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberRequestsChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberRequestsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -21747,6 +39881,53 @@ class MemberRequestsChangePolicyDetails(object): MemberRequestsChangePolicyDetails_validator = bv.Struct(MemberRequestsChangePolicyDetails) +class MemberRequestsChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberRequestsChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberRequestsChangePolicyType(description={!r})'.format( + self._description_value, + ) + +MemberRequestsChangePolicyType_validator = bv.Struct(MemberRequestsChangePolicyType) + class MemberRequestsPolicy(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -21796,15 +39977,119 @@ class MemberRequestsPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberRequestsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberRequestsPolicy(%r, %r)' % (self._tag, self._value) MemberRequestsPolicy_validator = bv.Union(MemberRequestsPolicy) -class MemberSpaceLimitsAddExceptionDetails(object): +class MemberSpaceLimitsAddCustomQuotaDetails(bb.Struct): """ - Added an exception for one or more team members to bypass space limits - imposed by policy. + Set custom member space limit. + + :ivar team_log.MemberSpaceLimitsAddCustomQuotaDetails.new_value: New custom + quota value in bytes. + """ + + __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): + """ + New custom quota value in bytes. + + :rtype: int + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsAddCustomQuotaDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsAddCustomQuotaDetails(new_value={!r})'.format( + self._new_value_value, + ) + +MemberSpaceLimitsAddCustomQuotaDetails_validator = bv.Struct(MemberSpaceLimitsAddCustomQuotaDetails) + +class MemberSpaceLimitsAddCustomQuotaType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsAddCustomQuotaType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsAddCustomQuotaType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsAddCustomQuotaType_validator = bv.Struct(MemberSpaceLimitsAddCustomQuotaType) + +class MemberSpaceLimitsAddExceptionDetails(bb.Struct): + """ + Added members to member space limit exception list. """ __slots__ = [ @@ -21815,17 +40100,69 @@ class MemberSpaceLimitsAddExceptionDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsAddExceptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSpaceLimitsAddExceptionDetails()' MemberSpaceLimitsAddExceptionDetails_validator = bv.Struct(MemberSpaceLimitsAddExceptionDetails) -class MemberSpaceLimitsChangePolicyDetails(object): - """ - Changed the storage limits applied to team members by policy. +class MemberSpaceLimitsAddExceptionType(bb.Struct): - :ivar previous_value: Previous storage limits policy. - :ivar new_value: New storage limits policy. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsAddExceptionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsAddExceptionType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsAddExceptionType_validator = bv.Struct(MemberSpaceLimitsAddExceptionType) + +class MemberSpaceLimitsChangeCapsTypePolicyDetails(bb.Struct): + """ + Changed member space limit type for team. + + :ivar team_log.MemberSpaceLimitsChangeCapsTypePolicyDetails.previous_value: + Previous space limit type. + :ivar team_log.MemberSpaceLimitsChangeCapsTypePolicyDetails.new_value: New + space limit type. """ __slots__ = [ @@ -21852,9 +40189,9 @@ class MemberSpaceLimitsChangePolicyDetails(object): @property def previous_value(self): """ - Previous storage limits policy. + Previous space limit type. - :rtype: SpaceLimitsLevel + :rtype: SpaceCapsType """ if self._previous_value_present: return self._previous_value_value @@ -21875,9 +40212,9 @@ class MemberSpaceLimitsChangePolicyDetails(object): @property def new_value(self): """ - New storage limits policy. + New space limit type. - :rtype: SpaceLimitsLevel + :rtype: SpaceCapsType """ if self._new_value_present: return self._new_value_value @@ -21895,6 +40232,289 @@ class MemberSpaceLimitsChangePolicyDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangeCapsTypePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsChangeCapsTypePolicyDetails(previous_value={!r}, new_value={!r})'.format( + self._previous_value_value, + self._new_value_value, + ) + +MemberSpaceLimitsChangeCapsTypePolicyDetails_validator = bv.Struct(MemberSpaceLimitsChangeCapsTypePolicyDetails) + +class MemberSpaceLimitsChangeCapsTypePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangeCapsTypePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsChangeCapsTypePolicyType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsChangeCapsTypePolicyType_validator = bv.Struct(MemberSpaceLimitsChangeCapsTypePolicyType) + +class MemberSpaceLimitsChangeCustomQuotaDetails(bb.Struct): + """ + Changed custom member space limit. + + :ivar team_log.MemberSpaceLimitsChangeCustomQuotaDetails.previous_value: + Previous custom quota value in bytes. + :ivar team_log.MemberSpaceLimitsChangeCustomQuotaDetails.new_value: New + custom quota value in bytes. + """ + + __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 custom quota value in bytes. + + :rtype: int + """ + 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 + + @property + def new_value(self): + """ + New custom quota value in bytes. + + :rtype: int + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangeCustomQuotaDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsChangeCustomQuotaDetails(previous_value={!r}, new_value={!r})'.format( + self._previous_value_value, + self._new_value_value, + ) + +MemberSpaceLimitsChangeCustomQuotaDetails_validator = bv.Struct(MemberSpaceLimitsChangeCustomQuotaDetails) + +class MemberSpaceLimitsChangeCustomQuotaType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangeCustomQuotaType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsChangeCustomQuotaType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsChangeCustomQuotaType_validator = bv.Struct(MemberSpaceLimitsChangeCustomQuotaType) + +class MemberSpaceLimitsChangePolicyDetails(bb.Struct): + """ + Changed team default member space limit. + + :ivar team_log.MemberSpaceLimitsChangePolicyDetails.previous_value: Previous + team default limit value in bytes. Might be missing due to historical + data gap. + :ivar team_log.MemberSpaceLimitsChangePolicyDetails.new_value: New team + default limit value in bytes. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_previous_value_value', + '_previous_value_present', + '_new_value_value', + '_new_value_present', + ] + + _has_required_fields = False + + 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 team default limit value in bytes. Might be missing due to + historical data gap. + + :rtype: int + """ + 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 + + @property + def new_value(self): + """ + New team default limit value in bytes. Might be missing due to + historical data gap. + + :rtype: int + """ + 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 + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSpaceLimitsChangePolicyDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -21903,13 +40523,61 @@ class MemberSpaceLimitsChangePolicyDetails(object): 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. +class MemberSpaceLimitsChangePolicyType(bb.Struct): - :ivar previous_value: Previous storage quota status. - :ivar new_value: New storage quota status. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsChangePolicyType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsChangePolicyType_validator = bv.Struct(MemberSpaceLimitsChangePolicyType) + +class MemberSpaceLimitsChangeStatusDetails(bb.Struct): + """ + Changed space limit status. + + :ivar team_log.MemberSpaceLimitsChangeStatusDetails.previous_value: Previous + storage quota status. + :ivar team_log.MemberSpaceLimitsChangeStatusDetails.new_value: New storage + quota status. """ __slots__ = [ @@ -21979,6 +40647,9 @@ class MemberSpaceLimitsChangeStatusDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangeStatusDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSpaceLimitsChangeStatusDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -21987,10 +40658,56 @@ class MemberSpaceLimitsChangeStatusDetails(object): MemberSpaceLimitsChangeStatusDetails_validator = bv.Struct(MemberSpaceLimitsChangeStatusDetails) -class MemberSpaceLimitsRemoveExceptionDetails(object): +class MemberSpaceLimitsChangeStatusType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsChangeStatusType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsChangeStatusType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsChangeStatusType_validator = bv.Struct(MemberSpaceLimitsChangeStatusType) + +class MemberSpaceLimitsRemoveCustomQuotaDetails(bb.Struct): """ - Removed an exception for one or more team members to bypass space limits - imposed by policy. + Removed custom member space limit. """ __slots__ = [ @@ -22001,11 +40718,129 @@ class MemberSpaceLimitsRemoveExceptionDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsRemoveCustomQuotaDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsRemoveCustomQuotaDetails()' + +MemberSpaceLimitsRemoveCustomQuotaDetails_validator = bv.Struct(MemberSpaceLimitsRemoveCustomQuotaDetails) + +class MemberSpaceLimitsRemoveCustomQuotaType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsRemoveCustomQuotaType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsRemoveCustomQuotaType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsRemoveCustomQuotaType_validator = bv.Struct(MemberSpaceLimitsRemoveCustomQuotaType) + +class MemberSpaceLimitsRemoveExceptionDetails(bb.Struct): + """ + Removed members from member space limit exception list. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsRemoveExceptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSpaceLimitsRemoveExceptionDetails()' MemberSpaceLimitsRemoveExceptionDetails_validator = bv.Struct(MemberSpaceLimitsRemoveExceptionDetails) +class MemberSpaceLimitsRemoveExceptionType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSpaceLimitsRemoveExceptionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSpaceLimitsRemoveExceptionType(description={!r})'.format( + self._description_value, + ) + +MemberSpaceLimitsRemoveExceptionType_validator = bv.Struct(MemberSpaceLimitsRemoveExceptionType) + class MemberStatus(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -22075,37 +40910,125 @@ class MemberStatus(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberStatus(%r, %r)' % (self._tag, self._value) MemberStatus_validator = bv.Union(MemberStatus) -class MemberSuggestDetails(object): +class MemberSuggestDetails(bb.Struct): """ - Suggested a new team member to be added to the team. + Suggested person to add to team. + + :ivar team_log.MemberSuggestDetails.suggested_members: suggested users + emails. """ __slots__ = [ + '_suggested_members_value', + '_suggested_members_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + def __init__(self, + suggested_members=None): + self._suggested_members_value = None + self._suggested_members_present = False + if suggested_members is not None: + self.suggested_members = suggested_members + + @property + def suggested_members(self): + """ + suggested users emails. + + :rtype: list of [str] + """ + if self._suggested_members_present: + return self._suggested_members_value + else: + raise AttributeError("missing required field 'suggested_members'") + + @suggested_members.setter + def suggested_members(self, val): + val = self._suggested_members_validator.validate(val) + self._suggested_members_value = val + self._suggested_members_present = True + + @suggested_members.deleter + def suggested_members(self): + self._suggested_members_value = None + self._suggested_members_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSuggestDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'MemberSuggestDetails()' + return 'MemberSuggestDetails(suggested_members={!r})'.format( + self._suggested_members_value, + ) 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. +class MemberSuggestType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSuggestType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSuggestType(description={!r})'.format( + self._description_value, + ) + +MemberSuggestType_validator = bv.Struct(MemberSuggestType) + +class MemberSuggestionsChangePolicyDetails(bb.Struct): + """ + Enabled/disabled option for team members to suggest people to add to team. + + :ivar team_log.MemberSuggestionsChangePolicyDetails.new_value: New team + member suggestions policy. + :ivar team_log.MemberSuggestionsChangePolicyDetails.previous_value: Previous + team member suggestions policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -22179,6 +41102,9 @@ class MemberSuggestionsChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSuggestionsChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSuggestionsChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -22187,6 +41113,53 @@ class MemberSuggestionsChangePolicyDetails(object): MemberSuggestionsChangePolicyDetails_validator = bv.Struct(MemberSuggestionsChangePolicyDetails) +class MemberSuggestionsChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSuggestionsChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberSuggestionsChangePolicyType(description={!r})'.format( + self._description_value, + ) + +MemberSuggestionsChangePolicyType_validator = bv.Struct(MemberSuggestionsChangePolicyType) + class MemberSuggestionsPolicy(bb.Union): """ Member suggestions policy @@ -22228,104 +41201,91 @@ class MemberSuggestionsPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberSuggestionsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MemberSuggestionsPolicy(%r, %r)' % (self._tag, self._value) MemberSuggestionsPolicy_validator = bv.Union(MemberSuggestionsPolicy) -class MemberTransferAccountContentsDetails(object): +class MemberTransferAccountContentsDetails(bb.Struct): """ - Transferred contents of a removed team member account to another member. - - :ivar src_participant_index: Source participant position in the Participants - list. - :ivar dest_participant_index: Destination participant position in the - Participants list. + Transferred contents of deleted member account to another member. """ __slots__ = [ - '_src_participant_index_value', - '_src_participant_index_present', - '_dest_participant_index_value', - '_dest_participant_index_present', + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberTransferAccountContentsDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MemberTransferAccountContentsDetails()' + +MemberTransferAccountContentsDetails_validator = bv.Struct(MemberTransferAccountContentsDetails) + +class MemberTransferAccountContentsType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - src_participant_index=None, - dest_participant_index=None): - self._src_participant_index_value = None - self._src_participant_index_present = False - self._dest_participant_index_value = None - self._dest_participant_index_present = False - if src_participant_index is not None: - self.src_participant_index = src_participant_index - if dest_participant_index is not None: - self.dest_participant_index = dest_participant_index + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def src_participant_index(self): + def description(self): """ - Source participant position in the Participants list. - - :rtype: long + :rtype: str """ - if self._src_participant_index_present: - return self._src_participant_index_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'src_participant_index'") + raise AttributeError("missing required field 'description'") - @src_participant_index.setter - def src_participant_index(self, val): - val = self._src_participant_index_validator.validate(val) - self._src_participant_index_value = val - self._src_participant_index_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @src_participant_index.deleter - def src_participant_index(self): - self._src_participant_index_value = None - self._src_participant_index_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False - @property - def dest_participant_index(self): - """ - Destination participant position in the Participants list. - - :rtype: long - """ - if self._dest_participant_index_present: - return self._dest_participant_index_value - else: - raise AttributeError("missing required field 'dest_participant_index'") - - @dest_participant_index.setter - def dest_participant_index(self, val): - val = self._dest_participant_index_validator.validate(val) - self._dest_participant_index_value = val - self._dest_participant_index_present = True - - @dest_participant_index.deleter - def dest_participant_index(self): - self._dest_participant_index_value = None - self._dest_participant_index_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MemberTransferAccountContentsType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'MemberTransferAccountContentsDetails(src_participant_index={!r}, dest_participant_index={!r})'.format( - self._src_participant_index_value, - self._dest_participant_index_value, + return 'MemberTransferAccountContentsType(description={!r})'.format( + self._description_value, ) -MemberTransferAccountContentsDetails_validator = bv.Struct(MemberTransferAccountContentsDetails) +MemberTransferAccountContentsType_validator = bv.Struct(MemberTransferAccountContentsType) -class MicrosoftOfficeAddinChangePolicyDetails(object): +class MicrosoftOfficeAddinChangePolicyDetails(bb.Struct): """ - Enabled or disabled the Microsoft Office add-in, which lets team members - save files to Dropbox directly from Microsoft Office. + Enabled/disabled Microsoft Office add-in. - :ivar new_value: New Microsoft Office addin policy. - :ivar previous_value: Previous Microsoft Office addin policy. Might be - missing due to historical data gap. + :ivar team_log.MicrosoftOfficeAddinChangePolicyDetails.new_value: New + Microsoft Office addin policy. + :ivar team_log.MicrosoftOfficeAddinChangePolicyDetails.previous_value: + Previous Microsoft Office addin policy. Might be missing due to + historical data gap. """ __slots__ = [ @@ -22399,6 +41359,9 @@ class MicrosoftOfficeAddinChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MicrosoftOfficeAddinChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MicrosoftOfficeAddinChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -22407,6 +41370,53 @@ class MicrosoftOfficeAddinChangePolicyDetails(object): MicrosoftOfficeAddinChangePolicyDetails_validator = bv.Struct(MicrosoftOfficeAddinChangePolicyDetails) +class MicrosoftOfficeAddinChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MicrosoftOfficeAddinChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MicrosoftOfficeAddinChangePolicyType(description={!r})'.format( + self._description_value, + ) + +MicrosoftOfficeAddinChangePolicyType_validator = bv.Struct(MicrosoftOfficeAddinChangePolicyType) + class MicrosoftOfficeAddinPolicy(bb.Union): """ Microsoft Office addin policy @@ -22448,29 +41458,314 @@ class MicrosoftOfficeAddinPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MicrosoftOfficeAddinPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MicrosoftOfficeAddinPolicy(%r, %r)' % (self._tag, self._value) MicrosoftOfficeAddinPolicy_validator = bv.Union(MicrosoftOfficeAddinPolicy) -class MissingDetails(object): +class MissingDetails(bb.Struct): """ - An indication that an event was returned with missing details + An indication that an error occurred while retrieving the event. Some + attributes of the event may be omitted as a result. + + :ivar team_log.MissingDetails.source_event_fields: All the data that could + be retrieved and converted from the source event. """ __slots__ = [ + '_source_event_fields_value', + '_source_event_fields_present', ] _has_required_fields = False - def __init__(self): - pass + def __init__(self, + source_event_fields=None): + self._source_event_fields_value = None + self._source_event_fields_present = False + if source_event_fields is not None: + self.source_event_fields = source_event_fields + + @property + def source_event_fields(self): + """ + All the data that could be retrieved and converted from the source + event. + + :rtype: str + """ + if self._source_event_fields_present: + return self._source_event_fields_value + else: + return None + + @source_event_fields.setter + def source_event_fields(self, val): + if val is None: + del self.source_event_fields + return + val = self._source_event_fields_validator.validate(val) + self._source_event_fields_value = val + self._source_event_fields_present = True + + @source_event_fields.deleter + def source_event_fields(self): + self._source_event_fields_value = None + self._source_event_fields_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MissingDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'MissingDetails()' + return 'MissingDetails(source_event_fields={!r})'.format( + self._source_event_fields_value, + ) MissingDetails_validator = bv.Struct(MissingDetails) +class MobileDeviceSessionLogInfo(DeviceSessionLogInfo): + """ + Information about linked Dropbox mobile client sessions + + :ivar team_log.MobileDeviceSessionLogInfo.session_info: Mobile session + unique id. Might be missing due to historical data gap. + :ivar team_log.MobileDeviceSessionLogInfo.device_name: The device name. + :ivar team_log.MobileDeviceSessionLogInfo.client_type: The mobile + application type. + :ivar team_log.MobileDeviceSessionLogInfo.client_version: The Dropbox client + version. + :ivar team_log.MobileDeviceSessionLogInfo.os_version: The hosting OS + version. + :ivar team_log.MobileDeviceSessionLogInfo.last_carrier: last carrier used by + the device. + """ + + __slots__ = [ + '_session_info_value', + '_session_info_present', + '_device_name_value', + '_device_name_present', + '_client_type_value', + '_client_type_present', + '_client_version_value', + '_client_version_present', + '_os_version_value', + '_os_version_present', + '_last_carrier_value', + '_last_carrier_present', + ] + + _has_required_fields = True + + def __init__(self, + device_name=None, + client_type=None, + ip_address=None, + created=None, + updated=None, + session_info=None, + client_version=None, + os_version=None, + last_carrier=None): + super(MobileDeviceSessionLogInfo, self).__init__(ip_address, + created, + updated) + self._session_info_value = None + self._session_info_present = False + self._device_name_value = None + self._device_name_present = False + self._client_type_value = None + self._client_type_present = False + self._client_version_value = None + self._client_version_present = False + self._os_version_value = None + self._os_version_present = False + self._last_carrier_value = None + self._last_carrier_present = False + if session_info is not None: + self.session_info = session_info + if device_name is not None: + self.device_name = device_name + if client_type is not None: + self.client_type = client_type + if client_version is not None: + self.client_version = client_version + if os_version is not None: + self.os_version = os_version + if last_carrier is not None: + self.last_carrier = last_carrier + + @property + def session_info(self): + """ + Mobile session unique id. Might be missing due to historical data gap. + + :rtype: MobileSessionLogInfo + """ + if self._session_info_present: + return self._session_info_value + else: + return None + + @session_info.setter + def session_info(self, val): + if val is None: + del self.session_info + return + self._session_info_validator.validate_type_only(val) + self._session_info_value = val + self._session_info_present = True + + @session_info.deleter + def session_info(self): + self._session_info_value = None + self._session_info_present = False + + @property + def device_name(self): + """ + The device name. + + :rtype: str + """ + if self._device_name_present: + return self._device_name_value + else: + raise AttributeError("missing required field 'device_name'") + + @device_name.setter + def device_name(self, val): + val = self._device_name_validator.validate(val) + self._device_name_value = val + self._device_name_present = True + + @device_name.deleter + def device_name(self): + self._device_name_value = None + self._device_name_present = False + + @property + def client_type(self): + """ + The mobile application type. + + :rtype: team.MobileClientPlatform + """ + if self._client_type_present: + return self._client_type_value + else: + raise AttributeError("missing required field 'client_type'") + + @client_type.setter + def client_type(self, val): + self._client_type_validator.validate_type_only(val) + self._client_type_value = val + self._client_type_present = True + + @client_type.deleter + def client_type(self): + self._client_type_value = None + self._client_type_present = False + + @property + def client_version(self): + """ + The Dropbox client version. + + :rtype: str + """ + if self._client_version_present: + return self._client_version_value + else: + return None + + @client_version.setter + def client_version(self, val): + if val is None: + del self.client_version + return + val = self._client_version_validator.validate(val) + self._client_version_value = val + self._client_version_present = True + + @client_version.deleter + def client_version(self): + self._client_version_value = None + self._client_version_present = False + + @property + def os_version(self): + """ + The hosting OS version. + + :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 last_carrier(self): + """ + last carrier used by the device. + + :rtype: str + """ + if self._last_carrier_present: + return self._last_carrier_value + else: + return None + + @last_carrier.setter + def last_carrier(self, val): + if val is None: + del self.last_carrier + return + val = self._last_carrier_validator.validate(val) + self._last_carrier_value = val + self._last_carrier_present = True + + @last_carrier.deleter + def last_carrier(self): + self._last_carrier_value = None + self._last_carrier_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MobileDeviceSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'MobileDeviceSessionLogInfo(device_name={!r}, client_type={!r}, ip_address={!r}, created={!r}, updated={!r}, session_info={!r}, client_version={!r}, os_version={!r}, last_carrier={!r})'.format( + self._device_name_value, + self._client_type_value, + self._ip_address_value, + self._created_value, + self._updated_value, + self._session_info_value, + self._client_version_value, + self._os_version_value, + self._last_carrier_value, + ) + +MobileDeviceSessionLogInfo_validator = bv.Struct(MobileDeviceSessionLogInfo) + class MobileSessionLogInfo(SessionLogInfo): """ Mobile session. @@ -22485,6 +41780,9 @@ class MobileSessionLogInfo(SessionLogInfo): session_id=None): super(MobileSessionLogInfo, self).__init__(session_id) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(MobileSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'MobileSessionLogInfo(session_id={!r})'.format( self._session_id_value, @@ -22492,13 +41790,15 @@ class MobileSessionLogInfo(SessionLogInfo): MobileSessionLogInfo_validator = bv.Struct(MobileSessionLogInfo) -class NamespaceRelativePathLogInfo(object): +class NamespaceRelativePathLogInfo(bb.Struct): """ 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 + :ivar team_log.NamespaceRelativePathLogInfo.ns_id: Namespace ID. Might be missing due to historical data gap. + :ivar team_log.NamespaceRelativePathLogInfo.relative_path: A path relative + to the specified namespace ID. Might be missing due to historical data + gap. """ __slots__ = [ @@ -22575,6 +41875,9 @@ class NamespaceRelativePathLogInfo(object): self._relative_path_value = None self._relative_path_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NamespaceRelativePathLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NamespaceRelativePathLogInfo(ns_id={!r}, relative_path={!r})'.format( self._ns_id_value, @@ -22583,13 +41886,14 @@ class NamespaceRelativePathLogInfo(object): NamespaceRelativePathLogInfo_validator = bv.Struct(NamespaceRelativePathLogInfo) -class NetworkControlChangePolicyDetails(object): +class NetworkControlChangePolicyDetails(bb.Struct): """ - Enabled or disabled network control. + Enabled/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. + :ivar team_log.NetworkControlChangePolicyDetails.new_value: New network + control policy. + :ivar team_log.NetworkControlChangePolicyDetails.previous_value: Previous + network control policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -22663,6 +41967,9 @@ class NetworkControlChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NetworkControlChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NetworkControlChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -22671,6 +41978,53 @@ class NetworkControlChangePolicyDetails(object): NetworkControlChangePolicyDetails_validator = bv.Struct(NetworkControlChangePolicyDetails) +class NetworkControlChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NetworkControlChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'NetworkControlChangePolicyType(description={!r})'.format( + self._description_value, + ) + +NetworkControlChangePolicyType_validator = bv.Struct(NetworkControlChangePolicyType) + class NetworkControlPolicy(bb.Union): """ Network control policy @@ -22712,21 +42066,24 @@ class NetworkControlPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NetworkControlPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NetworkControlPolicy(%r, %r)' % (self._tag, self._value) NetworkControlPolicy_validator = bv.Union(NetworkControlPolicy) -class UserLogInfo(object): +class UserLogInfo(bb.Struct): """ 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. + :ivar team_log.UserLogInfo.account_id: User unique ID. Might be missing due + to historical data gap. + :ivar team_log.UserLogInfo.display_name: User display name. Might be missing + due to historical data gap. + :ivar team_log.UserLogInfo.email: User email address. Might be missing due + to historical data gap. """ __slots__ = [ @@ -22835,6 +42192,9 @@ class UserLogInfo(object): self._email_value = None self._email_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserLogInfo(account_id={!r}, display_name={!r}, email={!r})'.format( self._account_id_value, @@ -22862,6 +42222,9 @@ class NonTeamMemberLogInfo(UserLogInfo): display_name, email) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NonTeamMemberLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NonTeamMemberLogInfo(account_id={!r}, display_name={!r}, email={!r})'.format( self._account_id_value, @@ -22871,9 +42234,9 @@ class NonTeamMemberLogInfo(UserLogInfo): NonTeamMemberLogInfo_validator = bv.Struct(NonTeamMemberLogInfo) -class NoteAclInviteOnlyDetails(object): +class NoteAclInviteOnlyDetails(bb.Struct): """ - Changed a Paper document to be invite-only. + Changed Paper doc to invite-only. """ __slots__ = [ @@ -22884,14 +42247,64 @@ class NoteAclInviteOnlyDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteAclInviteOnlyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NoteAclInviteOnlyDetails()' NoteAclInviteOnlyDetails_validator = bv.Struct(NoteAclInviteOnlyDetails) -class NoteAclLinkDetails(object): +class NoteAclInviteOnlyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteAclInviteOnlyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'NoteAclInviteOnlyType(description={!r})'.format( + self._description_value, + ) + +NoteAclInviteOnlyType_validator = bv.Struct(NoteAclInviteOnlyType) + +class NoteAclLinkDetails(bb.Struct): """ - Changed a Paper document to be link accessible. + Changed Paper doc to link-accessible. """ __slots__ = [ @@ -22902,14 +42315,64 @@ class NoteAclLinkDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteAclLinkDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NoteAclLinkDetails()' NoteAclLinkDetails_validator = bv.Struct(NoteAclLinkDetails) -class NoteAclTeamLinkDetails(object): +class NoteAclLinkType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteAclLinkType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'NoteAclLinkType(description={!r})'.format( + self._description_value, + ) + +NoteAclLinkType_validator = bv.Struct(NoteAclLinkType) + +class NoteAclTeamLinkDetails(bb.Struct): """ - Changed a Paper document to be link accessible for the team. + Changed Paper doc to link-accessible for team. """ __slots__ = [ @@ -22920,14 +42383,64 @@ class NoteAclTeamLinkDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteAclTeamLinkDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NoteAclTeamLinkDetails()' NoteAclTeamLinkDetails_validator = bv.Struct(NoteAclTeamLinkDetails) -class NoteShareReceiveDetails(object): +class NoteAclTeamLinkType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteAclTeamLinkType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'NoteAclTeamLinkType(description={!r})'.format( + self._description_value, + ) + +NoteAclTeamLinkType_validator = bv.Struct(NoteAclTeamLinkType) + +class NoteShareReceiveDetails(bb.Struct): """ - Shared Paper document received. + Shared received Paper doc. """ __slots__ = [ @@ -22938,14 +42451,64 @@ class NoteShareReceiveDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteShareReceiveDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NoteShareReceiveDetails()' NoteShareReceiveDetails_validator = bv.Struct(NoteShareReceiveDetails) -class NoteSharedDetails(object): +class NoteShareReceiveType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteShareReceiveType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'NoteShareReceiveType(description={!r})'.format( + self._description_value, + ) + +NoteShareReceiveType_validator = bv.Struct(NoteShareReceiveType) + +class NoteSharedDetails(bb.Struct): """ - Shared a Paper doc. + Shared Paper doc. """ __slots__ = [ @@ -22956,14 +42519,64 @@ class NoteSharedDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteSharedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'NoteSharedDetails()' NoteSharedDetails_validator = bv.Struct(NoteSharedDetails) -class OpenNoteSharedDetails(object): +class NoteSharedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(NoteSharedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'NoteSharedType(description={!r})'.format( + self._description_value, + ) + +NoteSharedType_validator = bv.Struct(NoteSharedType) + +class OpenNoteSharedDetails(bb.Struct): """ - Opened a shared Paper doc. + Opened shared Paper doc. """ __slots__ = [ @@ -22974,25 +42587,73 @@ class OpenNoteSharedDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(OpenNoteSharedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'OpenNoteSharedDetails()' OpenNoteSharedDetails_validator = bv.Struct(OpenNoteSharedDetails) -class OriginLogInfo(object): +class OpenNoteSharedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(OpenNoteSharedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'OpenNoteSharedType(description={!r})'.format( + self._description_value, + ) + +OpenNoteSharedType_validator = bv.Struct(OpenNoteSharedType) + +class OriginLogInfo(bb.Struct): """ 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. + :ivar team_log.OriginLogInfo.geo_location: Geographic location details. + :ivar team_log.OriginLogInfo.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', ] @@ -23001,18 +42662,13 @@ class OriginLogInfo(object): def __init__(self, access_method=None, - geo_location=None, - host=None): + geo_location=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 @@ -23042,32 +42698,6 @@ class OriginLogInfo(object): 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): """ @@ -23091,11 +42721,13 @@ class OriginLogInfo(object): self._access_method_value = None self._access_method_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(OriginLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'OriginLogInfo(access_method={!r}, geo_location={!r}, host={!r})'.format( + return 'OriginLogInfo(access_method={!r}, geo_location={!r})'.format( self._access_method_value, self._geo_location_value, - self._host_value, ) OriginLogInfo_validator = bv.Struct(OriginLogInfo) @@ -23149,14 +42781,17 @@ class PaperAccessType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperAccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperAccessType(%r, %r)' % (self._tag, self._value) PaperAccessType_validator = bv.Union(PaperAccessType) -class PaperAdminExportStartDetails(object): +class PaperAdminExportStartDetails(bb.Struct): """ - Exported all Paper documents in the team. + Exported all team Paper docs. """ __slots__ = [ @@ -23167,19 +42802,71 @@ class PaperAdminExportStartDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperAdminExportStartDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperAdminExportStartDetails()' PaperAdminExportStartDetails_validator = bv.Struct(PaperAdminExportStartDetails) -class PaperChangeDeploymentPolicyDetails(object): - """ - Changed whether Dropbox Paper, when enabled, is deployed to all teams or to - specific members of the team. +class PaperAdminExportStartType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperAdminExportStartType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperAdminExportStartType(description={!r})'.format( + self._description_value, + ) + +PaperAdminExportStartType_validator = bv.Struct(PaperAdminExportStartType) + +class PaperChangeDeploymentPolicyDetails(bb.Struct): + """ + Changed whether Dropbox Paper, when enabled, is deployed to all members or + to specific members. + + :ivar team_log.PaperChangeDeploymentPolicyDetails.new_value: New Dropbox + Paper deployment policy. + :ivar team_log.PaperChangeDeploymentPolicyDetails.previous_value: Previous + Dropbox Paper deployment policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -23208,7 +42895,7 @@ class PaperChangeDeploymentPolicyDetails(object): """ New Dropbox Paper deployment policy. - :rtype: team_policies.PaperDeploymentPolicy_validator + :rtype: team_policies.PaperDeploymentPolicy """ if self._new_value_present: return self._new_value_value @@ -23232,7 +42919,7 @@ class PaperChangeDeploymentPolicyDetails(object): Previous Dropbox Paper deployment policy. Might be missing due to historical data gap. - :rtype: team_policies.PaperDeploymentPolicy_validator + :rtype: team_policies.PaperDeploymentPolicy """ if self._previous_value_present: return self._previous_value_value @@ -23253,6 +42940,9 @@ class PaperChangeDeploymentPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangeDeploymentPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperChangeDeploymentPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -23261,11 +42951,59 @@ class PaperChangeDeploymentPolicyDetails(object): PaperChangeDeploymentPolicyDetails_validator = bv.Struct(PaperChangeDeploymentPolicyDetails) -class PaperChangeMemberLinkPolicyDetails(object): - """ - Changed whether non team members can view Paper documents using a link. +class PaperChangeDeploymentPolicyType(bb.Struct): - :ivar new_value: New paper external link accessibility policy. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangeDeploymentPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperChangeDeploymentPolicyType(description={!r})'.format( + self._description_value, + ) + +PaperChangeDeploymentPolicyType_validator = bv.Struct(PaperChangeDeploymentPolicyType) + +class PaperChangeMemberLinkPolicyDetails(bb.Struct): + """ + Changed whether non-members can view Paper docs with link. + + :ivar team_log.PaperChangeMemberLinkPolicyDetails.new_value: New paper + external link accessibility policy. """ __slots__ = [ @@ -23305,6 +43043,9 @@ class PaperChangeMemberLinkPolicyDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangeMemberLinkPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperChangeMemberLinkPolicyDetails(new_value={!r})'.format( self._new_value_value, @@ -23312,15 +43053,63 @@ class PaperChangeMemberLinkPolicyDetails(object): PaperChangeMemberLinkPolicyDetails_validator = bv.Struct(PaperChangeMemberLinkPolicyDetails) -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. +class PaperChangeMemberLinkPolicyType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangeMemberLinkPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperChangeMemberLinkPolicyType(description={!r})'.format( + self._description_value, + ) + +PaperChangeMemberLinkPolicyType_validator = bv.Struct(PaperChangeMemberLinkPolicyType) + +class PaperChangeMemberPolicyDetails(bb.Struct): + """ + Changed whether members can share Paper docs outside team, and if docs are + accessible only by team members or anyone by default. + + :ivar team_log.PaperChangeMemberPolicyDetails.new_value: New paper external + accessibility policy. + :ivar team_log.PaperChangeMemberPolicyDetails.previous_value: Previous paper + external accessibility policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -23394,6 +43183,9 @@ class PaperChangeMemberPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangeMemberPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperChangeMemberPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -23402,13 +43194,60 @@ class PaperChangeMemberPolicyDetails(object): PaperChangeMemberPolicyDetails_validator = bv.Struct(PaperChangeMemberPolicyDetails) -class PaperChangePolicyDetails(object): - """ - Enabled or disabled Dropbox Paper for the team. +class PaperChangeMemberPolicyType(bb.Struct): - :ivar new_value: New Dropbox Paper policy. - :ivar previous_value: Previous Dropbox Paper policy. Might be missing due to - historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangeMemberPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperChangeMemberPolicyType(description={!r})'.format( + self._description_value, + ) + +PaperChangeMemberPolicyType_validator = bv.Struct(PaperChangeMemberPolicyType) + +class PaperChangePolicyDetails(bb.Struct): + """ + Enabled/disabled Dropbox Paper for team. + + :ivar team_log.PaperChangePolicyDetails.new_value: New Dropbox Paper policy. + :ivar team_log.PaperChangePolicyDetails.previous_value: Previous Dropbox + Paper policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -23437,7 +43276,7 @@ class PaperChangePolicyDetails(object): """ New Dropbox Paper policy. - :rtype: team_policies.PaperEnabledPolicy_validator + :rtype: team_policies.PaperEnabledPolicy """ if self._new_value_present: return self._new_value_value @@ -23461,7 +43300,7 @@ class PaperChangePolicyDetails(object): Previous Dropbox Paper policy. Might be missing due to historical data gap. - :rtype: team_policies.PaperEnabledPolicy_validator + :rtype: team_policies.PaperEnabledPolicy """ if self._previous_value_present: return self._previous_value_value @@ -23482,6 +43321,9 @@ class PaperChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -23490,11 +43332,59 @@ class PaperChangePolicyDetails(object): PaperChangePolicyDetails_validator = bv.Struct(PaperChangePolicyDetails) -class PaperContentAddMemberDetails(object): - """ - Added users to the membership of a Paper doc or folder. +class PaperChangePolicyType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperChangePolicyType(description={!r})'.format( + self._description_value, + ) + +PaperChangePolicyType_validator = bv.Struct(PaperChangePolicyType) + +class PaperContentAddMemberDetails(bb.Struct): + """ + Added team member to Paper doc/folder. + + :ivar team_log.PaperContentAddMemberDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -23534,6 +43424,9 @@ class PaperContentAddMemberDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentAddMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentAddMemberDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -23541,13 +43434,63 @@ class PaperContentAddMemberDetails(object): PaperContentAddMemberDetails_validator = bv.Struct(PaperContentAddMemberDetails) -class PaperContentAddToFolderDetails(object): - """ - Added Paper doc or folder to a folder. +class PaperContentAddMemberType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar parent_asset_index: Parent asset position in the Assets list. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentAddMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentAddMemberType(description={!r})'.format( + self._description_value, + ) + +PaperContentAddMemberType_validator = bv.Struct(PaperContentAddMemberType) + +class PaperContentAddToFolderDetails(bb.Struct): + """ + Added Paper doc/folder to folder. + + :ivar team_log.PaperContentAddToFolderDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperContentAddToFolderDetails.target_asset_index: Target + asset position in the Assets list. + :ivar team_log.PaperContentAddToFolderDetails.parent_asset_index: Parent + asset position in the Assets list. """ __slots__ = [ @@ -23606,7 +43549,7 @@ class PaperContentAddToFolderDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -23629,7 +43572,7 @@ class PaperContentAddToFolderDetails(object): """ Parent asset position in the Assets list. - :rtype: long + :rtype: int """ if self._parent_asset_index_present: return self._parent_asset_index_value @@ -23647,6 +43590,9 @@ class PaperContentAddToFolderDetails(object): self._parent_asset_index_value = None self._parent_asset_index_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentAddToFolderDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentAddToFolderDetails(event_uuid={!r}, target_asset_index={!r}, parent_asset_index={!r})'.format( self._event_uuid_value, @@ -23656,11 +43602,59 @@ class PaperContentAddToFolderDetails(object): PaperContentAddToFolderDetails_validator = bv.Struct(PaperContentAddToFolderDetails) -class PaperContentArchiveDetails(object): - """ - Archived Paper doc or folder. +class PaperContentAddToFolderType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentAddToFolderType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentAddToFolderType(description={!r})'.format( + self._description_value, + ) + +PaperContentAddToFolderType_validator = bv.Struct(PaperContentAddToFolderType) + +class PaperContentArchiveDetails(bb.Struct): + """ + Archived Paper doc/folder. + + :ivar team_log.PaperContentArchiveDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -23700,6 +43694,9 @@ class PaperContentArchiveDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentArchiveDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentArchiveDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -23707,11 +43704,59 @@ class PaperContentArchiveDetails(object): PaperContentArchiveDetails_validator = bv.Struct(PaperContentArchiveDetails) -class PaperContentCreateDetails(object): - """ - Created a Paper doc or folder. +class PaperContentArchiveType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentArchiveType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentArchiveType(description={!r})'.format( + self._description_value, + ) + +PaperContentArchiveType_validator = bv.Struct(PaperContentArchiveType) + +class PaperContentCreateDetails(bb.Struct): + """ + Created Paper doc/folder. + + :ivar team_log.PaperContentCreateDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -23751,6 +43796,9 @@ class PaperContentCreateDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentCreateDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -23758,11 +43806,59 @@ class PaperContentCreateDetails(object): PaperContentCreateDetails_validator = bv.Struct(PaperContentCreateDetails) -class PaperContentPermanentlyDeleteDetails(object): - """ - Permanently deleted a Paper doc or folder. +class PaperContentCreateType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentCreateType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentCreateType(description={!r})'.format( + self._description_value, + ) + +PaperContentCreateType_validator = bv.Struct(PaperContentCreateType) + +class PaperContentPermanentlyDeleteDetails(bb.Struct): + """ + Permanently deleted Paper doc/folder. + + :ivar team_log.PaperContentPermanentlyDeleteDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -23802,6 +43898,9 @@ class PaperContentPermanentlyDeleteDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentPermanentlyDeleteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentPermanentlyDeleteDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -23809,26 +43908,92 @@ class PaperContentPermanentlyDeleteDetails(object): PaperContentPermanentlyDeleteDetails_validator = bv.Struct(PaperContentPermanentlyDeleteDetails) -class PaperContentRemoveFromFolderDetails(object): - """ - Removed Paper doc or folder from a folder. - - :ivar event_uuid: Event unique identifier. - """ +class PaperContentPermanentlyDeleteType(bb.Struct): __slots__ = [ - '_event_uuid_value', - '_event_uuid_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - event_uuid=None): + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentPermanentlyDeleteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentPermanentlyDeleteType(description={!r})'.format( + self._description_value, + ) + +PaperContentPermanentlyDeleteType_validator = bv.Struct(PaperContentPermanentlyDeleteType) + +class PaperContentRemoveFromFolderDetails(bb.Struct): + """ + Removed Paper doc/folder from folder. + + :ivar team_log.PaperContentRemoveFromFolderDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperContentRemoveFromFolderDetails.target_asset_index: + Target asset position in the Assets list. + :ivar team_log.PaperContentRemoveFromFolderDetails.parent_asset_index: + Parent asset position in the Assets list. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_target_asset_index_value', + '_target_asset_index_present', + '_parent_asset_index_value', + '_parent_asset_index_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + target_asset_index=None, + parent_asset_index=None): self._event_uuid_value = None self._event_uuid_present = False + self._target_asset_index_value = None + self._target_asset_index_present = False + self._parent_asset_index_value = None + self._parent_asset_index_present = False if event_uuid is not None: self.event_uuid = event_uuid + if target_asset_index is not None: + self.target_asset_index = target_asset_index + if parent_asset_index is not None: + self.parent_asset_index = parent_asset_index @property def event_uuid(self): @@ -23853,18 +44018,117 @@ class PaperContentRemoveFromFolderDetails(object): self._event_uuid_value = None self._event_uuid_present = False + @property + def target_asset_index(self): + """ + Target asset position in the Assets list. + + :rtype: int + """ + if self._target_asset_index_present: + return self._target_asset_index_value + else: + raise AttributeError("missing required field 'target_asset_index'") + + @target_asset_index.setter + def target_asset_index(self, val): + val = self._target_asset_index_validator.validate(val) + self._target_asset_index_value = val + self._target_asset_index_present = True + + @target_asset_index.deleter + def target_asset_index(self): + self._target_asset_index_value = None + self._target_asset_index_present = False + + @property + def parent_asset_index(self): + """ + Parent asset position in the Assets list. + + :rtype: int + """ + if self._parent_asset_index_present: + return self._parent_asset_index_value + else: + raise AttributeError("missing required field 'parent_asset_index'") + + @parent_asset_index.setter + def parent_asset_index(self, val): + val = self._parent_asset_index_validator.validate(val) + self._parent_asset_index_value = val + self._parent_asset_index_present = True + + @parent_asset_index.deleter + def parent_asset_index(self): + self._parent_asset_index_value = None + self._parent_asset_index_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRemoveFromFolderDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'PaperContentRemoveFromFolderDetails(event_uuid={!r})'.format( + return 'PaperContentRemoveFromFolderDetails(event_uuid={!r}, target_asset_index={!r}, parent_asset_index={!r})'.format( self._event_uuid_value, + self._target_asset_index_value, + self._parent_asset_index_value, ) PaperContentRemoveFromFolderDetails_validator = bv.Struct(PaperContentRemoveFromFolderDetails) -class PaperContentRemoveMemberDetails(object): - """ - Removed a user from the membership of a Paper doc or folder. +class PaperContentRemoveFromFolderType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRemoveFromFolderType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentRemoveFromFolderType(description={!r})'.format( + self._description_value, + ) + +PaperContentRemoveFromFolderType_validator = bv.Struct(PaperContentRemoveFromFolderType) + +class PaperContentRemoveMemberDetails(bb.Struct): + """ + Removed team member from Paper doc/folder. + + :ivar team_log.PaperContentRemoveMemberDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -23904,6 +44168,9 @@ class PaperContentRemoveMemberDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRemoveMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentRemoveMemberDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -23911,11 +44178,59 @@ class PaperContentRemoveMemberDetails(object): PaperContentRemoveMemberDetails_validator = bv.Struct(PaperContentRemoveMemberDetails) -class PaperContentRenameDetails(object): - """ - Renamed Paper doc or folder. +class PaperContentRemoveMemberType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRemoveMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentRemoveMemberType(description={!r})'.format( + self._description_value, + ) + +PaperContentRemoveMemberType_validator = bv.Struct(PaperContentRemoveMemberType) + +class PaperContentRenameDetails(bb.Struct): + """ + Renamed Paper doc/folder. + + :ivar team_log.PaperContentRenameDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -23955,6 +44270,9 @@ class PaperContentRenameDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRenameDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentRenameDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -23962,11 +44280,59 @@ class PaperContentRenameDetails(object): PaperContentRenameDetails_validator = bv.Struct(PaperContentRenameDetails) -class PaperContentRestoreDetails(object): - """ - Restored an archived Paper doc or folder. +class PaperContentRenameType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRenameType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentRenameType(description={!r})'.format( + self._description_value, + ) + +PaperContentRenameType_validator = bv.Struct(PaperContentRenameType) + +class PaperContentRestoreDetails(bb.Struct): + """ + Restored archived Paper doc/folder. + + :ivar team_log.PaperContentRestoreDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -24006,6 +44372,9 @@ class PaperContentRestoreDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRestoreDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperContentRestoreDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -24013,13 +44382,429 @@ class PaperContentRestoreDetails(object): PaperContentRestoreDetails_validator = bv.Struct(PaperContentRestoreDetails) -class PaperDocAddCommentDetails(object): - """ - Added a Paper doc comment. +class PaperContentRestoreType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperContentRestoreType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperContentRestoreType(description={!r})'.format( + self._description_value, + ) + +PaperContentRestoreType_validator = bv.Struct(PaperContentRestoreType) + +class PaperDefaultFolderPolicy(bb.Union): + """ + Policy to set default access for newly created Paper folders. + + 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 + everyone_in_team = None + # Attribute is overwritten below the class definition + invite_only = None + # Attribute is overwritten below the class definition + other = None + + def is_everyone_in_team(self): + """ + Check if the union tag is ``everyone_in_team``. + + :rtype: bool + """ + return self._tag == 'everyone_in_team' + + def is_invite_only(self): + """ + Check if the union tag is ``invite_only``. + + :rtype: bool + """ + return self._tag == 'invite_only' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDefaultFolderPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDefaultFolderPolicy(%r, %r)' % (self._tag, self._value) + +PaperDefaultFolderPolicy_validator = bv.Union(PaperDefaultFolderPolicy) + +class PaperDefaultFolderPolicyChangedDetails(bb.Struct): + """ + Changed Paper Default Folder Policy setting for team. + + :ivar team_log.PaperDefaultFolderPolicyChangedDetails.new_value: New Paper + Default Folder Policy. + :ivar team_log.PaperDefaultFolderPolicyChangedDetails.previous_value: + Previous Paper Default Folder 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 Paper Default Folder Policy. + + :rtype: PaperDefaultFolderPolicy + """ + 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 Default Folder Policy. + + :rtype: PaperDefaultFolderPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDefaultFolderPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDefaultFolderPolicyChangedDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +PaperDefaultFolderPolicyChangedDetails_validator = bv.Struct(PaperDefaultFolderPolicyChangedDetails) + +class PaperDefaultFolderPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDefaultFolderPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDefaultFolderPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +PaperDefaultFolderPolicyChangedType_validator = bv.Struct(PaperDefaultFolderPolicyChangedType) + +class PaperDesktopPolicy(bb.Union): + """ + Policy for controlling if team members can use Paper Desktop + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDesktopPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDesktopPolicy(%r, %r)' % (self._tag, self._value) + +PaperDesktopPolicy_validator = bv.Union(PaperDesktopPolicy) + +class PaperDesktopPolicyChangedDetails(bb.Struct): + """ + Enabled/disabled Paper Desktop for team. + + :ivar team_log.PaperDesktopPolicyChangedDetails.new_value: New Paper Desktop + policy. + :ivar team_log.PaperDesktopPolicyChangedDetails.previous_value: Previous + Paper Desktop 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 Paper Desktop policy. + + :rtype: PaperDesktopPolicy + """ + 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 Desktop policy. + + :rtype: PaperDesktopPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDesktopPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDesktopPolicyChangedDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +PaperDesktopPolicyChangedDetails_validator = bv.Struct(PaperDesktopPolicyChangedDetails) + +class PaperDesktopPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDesktopPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDesktopPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +PaperDesktopPolicyChangedType_validator = bv.Struct(PaperDesktopPolicyChangedType) + +class PaperDocAddCommentDetails(bb.Struct): + """ + Added Paper doc comment. + + :ivar team_log.PaperDocAddCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocAddCommentDetails.comment_text: Comment text. Might + be missing due to historical data gap. """ __slots__ = [ @@ -24092,6 +44877,9 @@ class PaperDocAddCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocAddCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocAddCommentDetails(event_uuid={!r}, comment_text={!r})'.format( self._event_uuid_value, @@ -24100,12 +44888,61 @@ class PaperDocAddCommentDetails(object): PaperDocAddCommentDetails_validator = bv.Struct(PaperDocAddCommentDetails) -class PaperDocChangeMemberRoleDetails(object): - """ - Changed the access type of a Paper doc member. +class PaperDocAddCommentType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar access_type: Paper doc access type. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocAddCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocAddCommentType(description={!r})'.format( + self._description_value, + ) + +PaperDocAddCommentType_validator = bv.Struct(PaperDocAddCommentType) + +class PaperDocChangeMemberRoleDetails(bb.Struct): + """ + Changed team member permissions for Paper doc. + + :ivar team_log.PaperDocChangeMemberRoleDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocChangeMemberRoleDetails.access_type: Paper doc access + type. """ __slots__ = [ @@ -24175,6 +45012,9 @@ class PaperDocChangeMemberRoleDetails(object): self._access_type_value = None self._access_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocChangeMemberRoleDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocChangeMemberRoleDetails(event_uuid={!r}, access_type={!r})'.format( self._event_uuid_value, @@ -24183,15 +45023,64 @@ class PaperDocChangeMemberRoleDetails(object): PaperDocChangeMemberRoleDetails_validator = bv.Struct(PaperDocChangeMemberRoleDetails) -class PaperDocChangeSharingPolicyDetails(object): - """ - Changed the sharing policy for Paper doc. +class PaperDocChangeMemberRoleType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocChangeMemberRoleType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocChangeMemberRoleType(description={!r})'.format( + self._description_value, + ) + +PaperDocChangeMemberRoleType_validator = bv.Struct(PaperDocChangeMemberRoleType) + +class PaperDocChangeSharingPolicyDetails(bb.Struct): + """ + Changed sharing setting for Paper doc. + + :ivar team_log.PaperDocChangeSharingPolicyDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocChangeSharingPolicyDetails.public_sharing_policy: + Sharing policy with external users. Might be missing due to historical + data gap. + :ivar team_log.PaperDocChangeSharingPolicyDetails.team_sharing_policy: + Sharing policy with team. Might be missing due to historical data gap. """ __slots__ = [ @@ -24298,6 +45187,9 @@ class PaperDocChangeSharingPolicyDetails(object): self._team_sharing_policy_value = None self._team_sharing_policy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocChangeSharingPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocChangeSharingPolicyDetails(event_uuid={!r}, public_sharing_policy={!r}, team_sharing_policy={!r})'.format( self._event_uuid_value, @@ -24307,14 +45199,65 @@ class PaperDocChangeSharingPolicyDetails(object): PaperDocChangeSharingPolicyDetails_validator = bv.Struct(PaperDocChangeSharingPolicyDetails) -class PaperDocChangeSubscriptionDetails(object): - """ - Followed or unfollowed a Paper doc. +class PaperDocChangeSharingPolicyType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar new_subscription_level: New doc subscription level. - :ivar previous_subscription_level: Previous doc subscription level. Might be - missing due to historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocChangeSharingPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocChangeSharingPolicyType(description={!r})'.format( + self._description_value, + ) + +PaperDocChangeSharingPolicyType_validator = bv.Struct(PaperDocChangeSharingPolicyType) + +class PaperDocChangeSubscriptionDetails(bb.Struct): + """ + Followed/unfollowed Paper doc. + + :ivar team_log.PaperDocChangeSubscriptionDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocChangeSubscriptionDetails.new_subscription_level: New + doc subscription level. + :ivar + team_log.PaperDocChangeSubscriptionDetails.previous_subscription_level: + Previous doc subscription level. Might be missing due to historical data + gap. """ __slots__ = [ @@ -24418,6 +45361,9 @@ class PaperDocChangeSubscriptionDetails(object): self._previous_subscription_level_value = None self._previous_subscription_level_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocChangeSubscriptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocChangeSubscriptionDetails(event_uuid={!r}, new_subscription_level={!r}, previous_subscription_level={!r})'.format( self._event_uuid_value, @@ -24427,13 +45373,61 @@ class PaperDocChangeSubscriptionDetails(object): PaperDocChangeSubscriptionDetails_validator = bv.Struct(PaperDocChangeSubscriptionDetails) -class PaperDocDeleteCommentDetails(object): - """ - Deleted a Paper doc comment. +class PaperDocChangeSubscriptionType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocChangeSubscriptionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocChangeSubscriptionType(description={!r})'.format( + self._description_value, + ) + +PaperDocChangeSubscriptionType_validator = bv.Struct(PaperDocChangeSubscriptionType) + +class PaperDocDeleteCommentDetails(bb.Struct): + """ + Deleted Paper doc comment. + + :ivar team_log.PaperDocDeleteCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocDeleteCommentDetails.comment_text: Comment text. + Might be missing due to historical data gap. """ __slots__ = [ @@ -24506,6 +45500,9 @@ class PaperDocDeleteCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocDeleteCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocDeleteCommentDetails(event_uuid={!r}, comment_text={!r})'.format( self._event_uuid_value, @@ -24514,11 +45511,58 @@ class PaperDocDeleteCommentDetails(object): PaperDocDeleteCommentDetails_validator = bv.Struct(PaperDocDeleteCommentDetails) -class PaperDocDeletedDetails(object): - """ - Paper doc archived. +class PaperDocDeleteCommentType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocDeleteCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocDeleteCommentType(description={!r})'.format( + self._description_value, + ) + +PaperDocDeleteCommentType_validator = bv.Struct(PaperDocDeleteCommentType) + +class PaperDocDeletedDetails(bb.Struct): + """ + Archived Paper doc. + + :ivar team_log.PaperDocDeletedDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -24558,6 +45602,9 @@ class PaperDocDeletedDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocDeletedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocDeletedDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -24565,12 +45612,60 @@ class PaperDocDeletedDetails(object): PaperDocDeletedDetails_validator = bv.Struct(PaperDocDeletedDetails) -class PaperDocDownloadDetails(object): - """ - Downloaded a Paper doc in a particular output format. +class PaperDocDeletedType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar export_file_format: Export file format. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocDeletedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocDeletedType(description={!r})'.format( + self._description_value, + ) + +PaperDocDeletedType_validator = bv.Struct(PaperDocDeletedType) + +class PaperDocDownloadDetails(bb.Struct): + """ + Downloaded Paper doc in specific format. + + :ivar team_log.PaperDocDownloadDetails.event_uuid: Event unique identifier. + :ivar team_log.PaperDocDownloadDetails.export_file_format: Export file + format. """ __slots__ = [ @@ -24640,6 +45735,9 @@ class PaperDocDownloadDetails(object): self._export_file_format_value = None self._export_file_format_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocDownloadDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocDownloadDetails(event_uuid={!r}, export_file_format={!r})'.format( self._event_uuid_value, @@ -24648,13 +45746,61 @@ class PaperDocDownloadDetails(object): PaperDocDownloadDetails_validator = bv.Struct(PaperDocDownloadDetails) -class PaperDocEditCommentDetails(object): - """ - Edited a Paper doc comment. +class PaperDocDownloadType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocDownloadType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocDownloadType(description={!r})'.format( + self._description_value, + ) + +PaperDocDownloadType_validator = bv.Struct(PaperDocDownloadType) + +class PaperDocEditCommentDetails(bb.Struct): + """ + Edited Paper doc comment. + + :ivar team_log.PaperDocEditCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocEditCommentDetails.comment_text: Comment text. Might + be missing due to historical data gap. """ __slots__ = [ @@ -24727,6 +45873,9 @@ class PaperDocEditCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocEditCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocEditCommentDetails(event_uuid={!r}, comment_text={!r})'.format( self._event_uuid_value, @@ -24735,11 +45884,58 @@ class PaperDocEditCommentDetails(object): PaperDocEditCommentDetails_validator = bv.Struct(PaperDocEditCommentDetails) -class PaperDocEditDetails(object): - """ - Edited a Paper doc. +class PaperDocEditCommentType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocEditCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocEditCommentType(description={!r})'.format( + self._description_value, + ) + +PaperDocEditCommentType_validator = bv.Struct(PaperDocEditCommentType) + +class PaperDocEditDetails(bb.Struct): + """ + Edited Paper doc. + + :ivar team_log.PaperDocEditDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -24779,6 +45975,9 @@ class PaperDocEditDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocEditDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocEditDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -24786,11 +45985,58 @@ class PaperDocEditDetails(object): PaperDocEditDetails_validator = bv.Struct(PaperDocEditDetails) -class PaperDocFollowedDetails(object): - """ - Followed a Paper doc. +class PaperDocEditType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocEditType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocEditType(description={!r})'.format( + self._description_value, + ) + +PaperDocEditType_validator = bv.Struct(PaperDocEditType) + +class PaperDocFollowedDetails(bb.Struct): + """ + Followed Paper doc. + + :ivar team_log.PaperDocFollowedDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -24830,6 +46076,9 @@ class PaperDocFollowedDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocFollowedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocFollowedDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -24837,11 +46086,58 @@ class PaperDocFollowedDetails(object): PaperDocFollowedDetails_validator = bv.Struct(PaperDocFollowedDetails) -class PaperDocMentionDetails(object): - """ - Mentioned a member in a Paper doc. +class PaperDocFollowedType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocFollowedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocFollowedType(description={!r})'.format( + self._description_value, + ) + +PaperDocFollowedType_validator = bv.Struct(PaperDocFollowedType) + +class PaperDocMentionDetails(bb.Struct): + """ + Mentioned team member in Paper doc. + + :ivar team_log.PaperDocMentionDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -24881,6 +46177,9 @@ class PaperDocMentionDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocMentionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocMentionDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -24888,11 +46187,229 @@ class PaperDocMentionDetails(object): PaperDocMentionDetails_validator = bv.Struct(PaperDocMentionDetails) -class PaperDocRequestAccessDetails(object): - """ - Requested to be a member on a Paper doc. +class PaperDocMentionType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocMentionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocMentionType(description={!r})'.format( + self._description_value, + ) + +PaperDocMentionType_validator = bv.Struct(PaperDocMentionType) + +class PaperDocOwnershipChangedDetails(bb.Struct): + """ + Transferred ownership of Paper doc. + + :ivar team_log.PaperDocOwnershipChangedDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocOwnershipChangedDetails.old_owner_user_id: Previous + owner. + :ivar team_log.PaperDocOwnershipChangedDetails.new_owner_user_id: New owner. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_old_owner_user_id_value', + '_old_owner_user_id_present', + '_new_owner_user_id_value', + '_new_owner_user_id_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + new_owner_user_id=None, + old_owner_user_id=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._old_owner_user_id_value = None + self._old_owner_user_id_present = False + self._new_owner_user_id_value = None + self._new_owner_user_id_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if old_owner_user_id is not None: + self.old_owner_user_id = old_owner_user_id + if new_owner_user_id is not None: + self.new_owner_user_id = new_owner_user_id + + @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 old_owner_user_id(self): + """ + Previous owner. + + :rtype: str + """ + if self._old_owner_user_id_present: + return self._old_owner_user_id_value + else: + return None + + @old_owner_user_id.setter + def old_owner_user_id(self, val): + if val is None: + del self.old_owner_user_id + return + val = self._old_owner_user_id_validator.validate(val) + self._old_owner_user_id_value = val + self._old_owner_user_id_present = True + + @old_owner_user_id.deleter + def old_owner_user_id(self): + self._old_owner_user_id_value = None + self._old_owner_user_id_present = False + + @property + def new_owner_user_id(self): + """ + New owner. + + :rtype: str + """ + if self._new_owner_user_id_present: + return self._new_owner_user_id_value + else: + raise AttributeError("missing required field 'new_owner_user_id'") + + @new_owner_user_id.setter + def new_owner_user_id(self, val): + val = self._new_owner_user_id_validator.validate(val) + self._new_owner_user_id_value = val + self._new_owner_user_id_present = True + + @new_owner_user_id.deleter + def new_owner_user_id(self): + self._new_owner_user_id_value = None + self._new_owner_user_id_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocOwnershipChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocOwnershipChangedDetails(event_uuid={!r}, new_owner_user_id={!r}, old_owner_user_id={!r})'.format( + self._event_uuid_value, + self._new_owner_user_id_value, + self._old_owner_user_id_value, + ) + +PaperDocOwnershipChangedDetails_validator = bv.Struct(PaperDocOwnershipChangedDetails) + +class PaperDocOwnershipChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocOwnershipChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocOwnershipChangedType(description={!r})'.format( + self._description_value, + ) + +PaperDocOwnershipChangedType_validator = bv.Struct(PaperDocOwnershipChangedType) + +class PaperDocRequestAccessDetails(bb.Struct): + """ + Requested access to Paper doc. + + :ivar team_log.PaperDocRequestAccessDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -24932,6 +46449,9 @@ class PaperDocRequestAccessDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocRequestAccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocRequestAccessDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -24939,13 +46459,61 @@ class PaperDocRequestAccessDetails(object): PaperDocRequestAccessDetails_validator = bv.Struct(PaperDocRequestAccessDetails) -class PaperDocResolveCommentDetails(object): - """ - Paper doc comment resolved. +class PaperDocRequestAccessType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocRequestAccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocRequestAccessType(description={!r})'.format( + self._description_value, + ) + +PaperDocRequestAccessType_validator = bv.Struct(PaperDocRequestAccessType) + +class PaperDocResolveCommentDetails(bb.Struct): + """ + Resolved Paper doc comment. + + :ivar team_log.PaperDocResolveCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocResolveCommentDetails.comment_text: Comment text. + Might be missing due to historical data gap. """ __slots__ = [ @@ -25018,6 +46586,9 @@ class PaperDocResolveCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocResolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocResolveCommentDetails(event_uuid={!r}, comment_text={!r})'.format( self._event_uuid_value, @@ -25026,11 +46597,58 @@ class PaperDocResolveCommentDetails(object): PaperDocResolveCommentDetails_validator = bv.Struct(PaperDocResolveCommentDetails) -class PaperDocRevertDetails(object): - """ - Restored a Paper doc to previous revision. +class PaperDocResolveCommentType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocResolveCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocResolveCommentType(description={!r})'.format( + self._description_value, + ) + +PaperDocResolveCommentType_validator = bv.Struct(PaperDocResolveCommentType) + +class PaperDocRevertDetails(bb.Struct): + """ + Restored Paper doc to previous version. + + :ivar team_log.PaperDocRevertDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -25070,6 +46688,9 @@ class PaperDocRevertDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocRevertDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocRevertDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25077,11 +46698,59 @@ class PaperDocRevertDetails(object): PaperDocRevertDetails_validator = bv.Struct(PaperDocRevertDetails) -class PaperDocSlackShareDetails(object): - """ - Paper doc link shared via slack. +class PaperDocRevertType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocRevertType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocRevertType(description={!r})'.format( + self._description_value, + ) + +PaperDocRevertType_validator = bv.Struct(PaperDocRevertType) + +class PaperDocSlackShareDetails(bb.Struct): + """ + Shared Paper doc via Slack. + + :ivar team_log.PaperDocSlackShareDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -25121,6 +46790,9 @@ class PaperDocSlackShareDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocSlackShareDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocSlackShareDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25128,11 +46800,59 @@ class PaperDocSlackShareDetails(object): PaperDocSlackShareDetails_validator = bv.Struct(PaperDocSlackShareDetails) -class PaperDocTeamInviteDetails(object): - """ - Paper doc shared with team member. +class PaperDocSlackShareType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocSlackShareType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocSlackShareType(description={!r})'.format( + self._description_value, + ) + +PaperDocSlackShareType_validator = bv.Struct(PaperDocSlackShareType) + +class PaperDocTeamInviteDetails(bb.Struct): + """ + Shared Paper doc with team member. + + :ivar team_log.PaperDocTeamInviteDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -25172,6 +46892,9 @@ class PaperDocTeamInviteDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocTeamInviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocTeamInviteDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25179,11 +46902,58 @@ class PaperDocTeamInviteDetails(object): PaperDocTeamInviteDetails_validator = bv.Struct(PaperDocTeamInviteDetails) -class PaperDocTrashedDetails(object): - """ - Paper doc trashed. +class PaperDocTeamInviteType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocTeamInviteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocTeamInviteType(description={!r})'.format( + self._description_value, + ) + +PaperDocTeamInviteType_validator = bv.Struct(PaperDocTeamInviteType) + +class PaperDocTrashedDetails(bb.Struct): + """ + Deleted Paper doc. + + :ivar team_log.PaperDocTrashedDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -25223,6 +46993,9 @@ class PaperDocTrashedDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocTrashedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocTrashedDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25230,13 +47003,61 @@ class PaperDocTrashedDetails(object): PaperDocTrashedDetails_validator = bv.Struct(PaperDocTrashedDetails) -class PaperDocUnresolveCommentDetails(object): - """ - Unresolved a Paper doc comment. +class PaperDocTrashedType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar comment_text: Comment text. Might be missing due to historical data - gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocTrashedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocTrashedType(description={!r})'.format( + self._description_value, + ) + +PaperDocTrashedType_validator = bv.Struct(PaperDocTrashedType) + +class PaperDocUnresolveCommentDetails(bb.Struct): + """ + Unresolved Paper doc comment. + + :ivar team_log.PaperDocUnresolveCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperDocUnresolveCommentDetails.comment_text: Comment text. + Might be missing due to historical data gap. """ __slots__ = [ @@ -25309,6 +47130,9 @@ class PaperDocUnresolveCommentDetails(object): self._comment_text_value = None self._comment_text_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocUnresolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocUnresolveCommentDetails(event_uuid={!r}, comment_text={!r})'.format( self._event_uuid_value, @@ -25317,11 +47141,58 @@ class PaperDocUnresolveCommentDetails(object): PaperDocUnresolveCommentDetails_validator = bv.Struct(PaperDocUnresolveCommentDetails) -class PaperDocUntrashedDetails(object): - """ - Paper doc untrashed. +class PaperDocUnresolveCommentType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocUnresolveCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocUnresolveCommentType(description={!r})'.format( + self._description_value, + ) + +PaperDocUnresolveCommentType_validator = bv.Struct(PaperDocUnresolveCommentType) + +class PaperDocUntrashedDetails(bb.Struct): + """ + Restored Paper doc. + + :ivar team_log.PaperDocUntrashedDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -25361,6 +47232,9 @@ class PaperDocUntrashedDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocUntrashedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocUntrashedDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25368,11 +47242,58 @@ class PaperDocUntrashedDetails(object): PaperDocUntrashedDetails_validator = bv.Struct(PaperDocUntrashedDetails) -class PaperDocViewDetails(object): +class PaperDocUntrashedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocUntrashedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocUntrashedType(description={!r})'.format( + self._description_value, + ) + +PaperDocUntrashedType_validator = bv.Struct(PaperDocUntrashedType) + +class PaperDocViewDetails(bb.Struct): """ Viewed Paper doc. - :ivar event_uuid: Event unique identifier. + :ivar team_log.PaperDocViewDetails.event_uuid: Event unique identifier. """ __slots__ = [ @@ -25412,6 +47333,9 @@ class PaperDocViewDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocViewDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocViewDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25419,12 +47343,59 @@ class PaperDocViewDetails(object): PaperDocViewDetails_validator = bv.Struct(PaperDocViewDetails) -class PaperDocumentLogInfo(object): +class PaperDocViewType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocViewType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDocViewType(description={!r})'.format( + self._description_value, + ) + +PaperDocViewType_validator = bv.Struct(PaperDocViewType) + +class PaperDocumentLogInfo(bb.Struct): """ Paper document's logged information. - :ivar doc_id: Papers document Id. - :ivar doc_title: Paper document title. + :ivar team_log.PaperDocumentLogInfo.doc_id: Papers document Id. + :ivar team_log.PaperDocumentLogInfo.doc_title: Paper document title. """ __slots__ = [ @@ -25494,6 +47465,9 @@ class PaperDocumentLogInfo(object): self._doc_title_value = None self._doc_title_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDocumentLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDocumentLogInfo(doc_id={!r}, doc_title={!r})'.format( self._doc_id_value, @@ -25517,6 +47491,8 @@ class PaperDownloadFormat(bb.Union): # Attribute is overwritten below the class definition markdown = None # Attribute is overwritten below the class definition + pdf = None + # Attribute is overwritten below the class definition other = None def is_docx(self): @@ -25543,6 +47519,14 @@ class PaperDownloadFormat(bb.Union): """ return self._tag == 'markdown' + def is_pdf(self): + """ + Check if the union tag is ``pdf``. + + :rtype: bool + """ + return self._tag == 'pdf' + def is_other(self): """ Check if the union tag is ``other``. @@ -25551,14 +47535,17 @@ class PaperDownloadFormat(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDownloadFormat, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDownloadFormat(%r, %r)' % (self._tag, self._value) PaperDownloadFormat_validator = bv.Union(PaperDownloadFormat) -class PaperEnabledUsersGroupAdditionDetails(object): +class PaperEnabledUsersGroupAdditionDetails(bb.Struct): """ - Users added to Paper enabled users list. + Added users to Paper-enabled users list. """ __slots__ = [ @@ -25569,14 +47556,64 @@ class PaperEnabledUsersGroupAdditionDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperEnabledUsersGroupAdditionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperEnabledUsersGroupAdditionDetails()' PaperEnabledUsersGroupAdditionDetails_validator = bv.Struct(PaperEnabledUsersGroupAdditionDetails) -class PaperEnabledUsersGroupRemovalDetails(object): +class PaperEnabledUsersGroupAdditionType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperEnabledUsersGroupAdditionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperEnabledUsersGroupAdditionType(description={!r})'.format( + self._description_value, + ) + +PaperEnabledUsersGroupAdditionType_validator = bv.Struct(PaperEnabledUsersGroupAdditionType) + +class PaperEnabledUsersGroupRemovalDetails(bb.Struct): """ - Users removed from Paper enabled users list. + Removed users from Paper-enabled users list. """ __slots__ = [ @@ -25587,73 +47624,379 @@ class PaperEnabledUsersGroupRemovalDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperEnabledUsersGroupRemovalDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperEnabledUsersGroupRemovalDetails()' PaperEnabledUsersGroupRemovalDetails_validator = bv.Struct(PaperEnabledUsersGroupRemovalDetails) -class PaperExternalViewAllowDetails(object): +class PaperEnabledUsersGroupRemovalType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperEnabledUsersGroupRemovalType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperEnabledUsersGroupRemovalType(description={!r})'.format( + self._description_value, + ) + +PaperEnabledUsersGroupRemovalType_validator = bv.Struct(PaperEnabledUsersGroupRemovalType) + +class PaperExternalViewAllowDetails(bb.Struct): """ - Paper external sharing policy changed: anyone. + Changed Paper external sharing setting to anyone. + + :ivar team_log.PaperExternalViewAllowDetails.event_uuid: Event unique + identifier. """ __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperExternalViewAllowDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'PaperExternalViewAllowDetails()' + return 'PaperExternalViewAllowDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) PaperExternalViewAllowDetails_validator = bv.Struct(PaperExternalViewAllowDetails) -class PaperExternalViewDefaultTeamDetails(object): +class PaperExternalViewAllowType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperExternalViewAllowType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperExternalViewAllowType(description={!r})'.format( + self._description_value, + ) + +PaperExternalViewAllowType_validator = bv.Struct(PaperExternalViewAllowType) + +class PaperExternalViewDefaultTeamDetails(bb.Struct): """ - Paper external sharing policy changed: default team. + Changed Paper external sharing setting to default team. + + :ivar team_log.PaperExternalViewDefaultTeamDetails.event_uuid: Event unique + identifier. """ __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperExternalViewDefaultTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'PaperExternalViewDefaultTeamDetails()' + return 'PaperExternalViewDefaultTeamDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) PaperExternalViewDefaultTeamDetails_validator = bv.Struct(PaperExternalViewDefaultTeamDetails) -class PaperExternalViewForbidDetails(object): +class PaperExternalViewDefaultTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperExternalViewDefaultTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperExternalViewDefaultTeamType(description={!r})'.format( + self._description_value, + ) + +PaperExternalViewDefaultTeamType_validator = bv.Struct(PaperExternalViewDefaultTeamType) + +class PaperExternalViewForbidDetails(bb.Struct): """ - Paper external sharing policy changed: team-only. + Changed Paper external sharing setting to team-only. + + :ivar team_log.PaperExternalViewForbidDetails.event_uuid: Event unique + identifier. """ __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperExternalViewForbidDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'PaperExternalViewForbidDetails()' + return 'PaperExternalViewForbidDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) PaperExternalViewForbidDetails_validator = bv.Struct(PaperExternalViewForbidDetails) -class PaperFolderChangeSubscriptionDetails(object): - """ - Followed or unfollowed a Paper folder. +class PaperExternalViewForbidType(bb.Struct): - :ivar event_uuid: Event unique identifier. - :ivar new_subscription_level: New folder subscription level. - :ivar previous_subscription_level: Previous folder subscription level. Might - be missing due to historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperExternalViewForbidType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperExternalViewForbidType(description={!r})'.format( + self._description_value, + ) + +PaperExternalViewForbidType_validator = bv.Struct(PaperExternalViewForbidType) + +class PaperFolderChangeSubscriptionDetails(bb.Struct): + """ + Followed/unfollowed Paper folder. + + :ivar team_log.PaperFolderChangeSubscriptionDetails.event_uuid: Event unique + identifier. + :ivar team_log.PaperFolderChangeSubscriptionDetails.new_subscription_level: + New folder subscription level. + :ivar + team_log.PaperFolderChangeSubscriptionDetails.previous_subscription_level: + Previous folder subscription level. Might be missing due to historical + data gap. """ __slots__ = [ @@ -25757,6 +48100,9 @@ class PaperFolderChangeSubscriptionDetails(object): self._previous_subscription_level_value = None self._previous_subscription_level_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderChangeSubscriptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperFolderChangeSubscriptionDetails(event_uuid={!r}, new_subscription_level={!r}, previous_subscription_level={!r})'.format( self._event_uuid_value, @@ -25766,11 +48112,59 @@ class PaperFolderChangeSubscriptionDetails(object): PaperFolderChangeSubscriptionDetails_validator = bv.Struct(PaperFolderChangeSubscriptionDetails) -class PaperFolderDeletedDetails(object): - """ - Paper folder archived. +class PaperFolderChangeSubscriptionType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderChangeSubscriptionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperFolderChangeSubscriptionType(description={!r})'.format( + self._description_value, + ) + +PaperFolderChangeSubscriptionType_validator = bv.Struct(PaperFolderChangeSubscriptionType) + +class PaperFolderDeletedDetails(bb.Struct): + """ + Archived Paper folder. + + :ivar team_log.PaperFolderDeletedDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -25810,6 +48204,9 @@ class PaperFolderDeletedDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderDeletedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperFolderDeletedDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25817,11 +48214,59 @@ class PaperFolderDeletedDetails(object): PaperFolderDeletedDetails_validator = bv.Struct(PaperFolderDeletedDetails) -class PaperFolderFollowedDetails(object): - """ - Followed a Paper folder. +class PaperFolderDeletedType(bb.Struct): - :ivar event_uuid: Event unique identifier. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderDeletedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperFolderDeletedType(description={!r})'.format( + self._description_value, + ) + +PaperFolderDeletedType_validator = bv.Struct(PaperFolderDeletedType) + +class PaperFolderFollowedDetails(bb.Struct): + """ + Followed Paper folder. + + :ivar team_log.PaperFolderFollowedDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -25861,6 +48306,9 @@ class PaperFolderFollowedDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderFollowedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperFolderFollowedDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -25868,12 +48316,59 @@ class PaperFolderFollowedDetails(object): PaperFolderFollowedDetails_validator = bv.Struct(PaperFolderFollowedDetails) -class PaperFolderLogInfo(object): +class PaperFolderFollowedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderFollowedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperFolderFollowedType(description={!r})'.format( + self._description_value, + ) + +PaperFolderFollowedType_validator = bv.Struct(PaperFolderFollowedType) + +class PaperFolderLogInfo(bb.Struct): """ Paper folder's logged information. - :ivar folder_id: Papers folder Id. - :ivar folder_name: Paper folder name. + :ivar team_log.PaperFolderLogInfo.folder_id: Papers folder Id. + :ivar team_log.PaperFolderLogInfo.folder_name: Paper folder name. """ __slots__ = [ @@ -25943,6 +48438,9 @@ class PaperFolderLogInfo(object): self._folder_name_value = None self._folder_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperFolderLogInfo(folder_id={!r}, folder_name={!r})'.format( self._folder_id_value, @@ -25951,11 +48449,12 @@ class PaperFolderLogInfo(object): PaperFolderLogInfo_validator = bv.Struct(PaperFolderLogInfo) -class PaperFolderTeamInviteDetails(object): +class PaperFolderTeamInviteDetails(bb.Struct): """ - Paper folder shared with team member. + Shared Paper folder with member. - :ivar event_uuid: Event unique identifier. + :ivar team_log.PaperFolderTeamInviteDetails.event_uuid: Event unique + identifier. """ __slots__ = [ @@ -25995,6 +48494,9 @@ class PaperFolderTeamInviteDetails(object): self._event_uuid_value = None self._event_uuid_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderTeamInviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperFolderTeamInviteDetails(event_uuid={!r})'.format( self._event_uuid_value, @@ -26002,6 +48504,53 @@ class PaperFolderTeamInviteDetails(object): PaperFolderTeamInviteDetails_validator = bv.Struct(PaperFolderTeamInviteDetails) +class PaperFolderTeamInviteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperFolderTeamInviteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperFolderTeamInviteType(description={!r})'.format( + self._description_value, + ) + +PaperFolderTeamInviteType_validator = bv.Struct(PaperFolderTeamInviteType) + class PaperMemberPolicy(bb.Union): """ Policy for controlling if team members can share Paper documents externally. @@ -26053,11 +48602,320 @@ class PaperMemberPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperMemberPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperMemberPolicy(%r, %r)' % (self._tag, self._value) PaperMemberPolicy_validator = bv.Union(PaperMemberPolicy) +class PaperPublishedLinkCreateDetails(bb.Struct): + """ + Published doc. + + :ivar team_log.PaperPublishedLinkCreateDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperPublishedLinkCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperPublishedLinkCreateDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperPublishedLinkCreateDetails_validator = bv.Struct(PaperPublishedLinkCreateDetails) + +class PaperPublishedLinkCreateType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperPublishedLinkCreateType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperPublishedLinkCreateType(description={!r})'.format( + self._description_value, + ) + +PaperPublishedLinkCreateType_validator = bv.Struct(PaperPublishedLinkCreateType) + +class PaperPublishedLinkDisabledDetails(bb.Struct): + """ + Unpublished doc. + + :ivar team_log.PaperPublishedLinkDisabledDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperPublishedLinkDisabledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperPublishedLinkDisabledDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperPublishedLinkDisabledDetails_validator = bv.Struct(PaperPublishedLinkDisabledDetails) + +class PaperPublishedLinkDisabledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperPublishedLinkDisabledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperPublishedLinkDisabledType(description={!r})'.format( + self._description_value, + ) + +PaperPublishedLinkDisabledType_validator = bv.Struct(PaperPublishedLinkDisabledType) + +class PaperPublishedLinkViewDetails(bb.Struct): + """ + Viewed published doc. + + :ivar team_log.PaperPublishedLinkViewDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperPublishedLinkViewDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperPublishedLinkViewDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +PaperPublishedLinkViewDetails_validator = bv.Struct(PaperPublishedLinkViewDetails) + +class PaperPublishedLinkViewType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperPublishedLinkViewType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperPublishedLinkViewType(description={!r})'.format( + self._description_value, + ) + +PaperPublishedLinkViewType_validator = bv.Struct(PaperPublishedLinkViewType) + class ParticipantLogInfo(bb.Union): """ A user or group @@ -26066,8 +48924,8 @@ class ParticipantLogInfo(bb.Union): 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. + :ivar UserLogInfo ParticipantLogInfo.user: A user with a Dropbox account. + :ivar GroupLogInfo ParticipantLogInfo.group: Group details. """ _catch_all = 'other' @@ -26122,7 +48980,7 @@ class ParticipantLogInfo(bb.Union): def get_user(self): """ - User details. + A user with a Dropbox account. Only call this if :meth:`is_user` is true. @@ -26144,12 +49002,72 @@ class ParticipantLogInfo(bb.Union): raise AttributeError("tag 'group' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ParticipantLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ParticipantLogInfo(%r, %r)' % (self._tag, self._value) ParticipantLogInfo_validator = bv.Union(ParticipantLogInfo) -class PasswordChangeDetails(object): +class PassPolicy(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 + enabled = None + # Attribute is overwritten below the class definition + allow = None + # Attribute is overwritten below the class definition + disabled = None + # Attribute is overwritten below the class definition + other = None + + def is_enabled(self): + """ + Check if the union tag is ``enabled``. + + :rtype: bool + """ + return self._tag == 'enabled' + + def is_allow(self): + """ + Check if the union tag is ``allow``. + + :rtype: bool + """ + return self._tag == 'allow' + + def is_disabled(self): + """ + Check if the union tag is ``disabled``. + + :rtype: bool + """ + return self._tag == 'disabled' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PassPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PassPolicy(%r, %r)' % (self._tag, self._value) + +PassPolicy_validator = bv.Union(PassPolicy) + +class PasswordChangeDetails(bb.Struct): """ Changed password. """ @@ -26162,81 +49080,62 @@ class PasswordChangeDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PasswordChangeDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PasswordChangeDetails()' PasswordChangeDetails_validator = bv.Struct(PasswordChangeDetails) -class PasswordLoginFailDetails(object): - """ - Failed to sign in using a password. - - :ivar error_details: Login failure details. - """ +class PasswordChangeType(bb.Struct): __slots__ = [ - '_error_details_value', - '_error_details_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - error_details=None): - self._error_details_value = None - self._error_details_present = False - if error_details is not None: - self.error_details = error_details + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def error_details(self): + def description(self): """ - Login failure details. - - :rtype: FailureDetailsLogInfo + :rtype: str """ - if self._error_details_present: - return self._error_details_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'error_details'") + raise AttributeError("missing required field 'description'") - @error_details.setter - def error_details(self, val): - self._error_details_validator.validate_type_only(val) - self._error_details_value = val - self._error_details_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @error_details.deleter - def error_details(self): - self._error_details_value = None - self._error_details_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PasswordChangeType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'PasswordLoginFailDetails(error_details={!r})'.format( - self._error_details_value, + return 'PasswordChangeType(description={!r})'.format( + self._description_value, ) -PasswordLoginFailDetails_validator = bv.Struct(PasswordLoginFailDetails) +PasswordChangeType_validator = bv.Struct(PasswordChangeType) -class PasswordLoginSuccessDetails(object): - """ - Signed in using a password. - """ - - __slots__ = [ - ] - - _has_required_fields = False - - def __init__(self): - pass - - def __repr__(self): - return 'PasswordLoginSuccessDetails()' - -PasswordLoginSuccessDetails_validator = bv.Struct(PasswordLoginSuccessDetails) - -class PasswordResetAllDetails(object): +class PasswordResetAllDetails(bb.Struct): """ Reset all team member passwords. """ @@ -26249,12 +49148,62 @@ class PasswordResetAllDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PasswordResetAllDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PasswordResetAllDetails()' PasswordResetAllDetails_validator = bv.Struct(PasswordResetAllDetails) -class PasswordResetDetails(object): +class PasswordResetAllType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PasswordResetAllType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PasswordResetAllType(description={!r})'.format( + self._description_value, + ) + +PasswordResetAllType_validator = bv.Struct(PasswordResetAllType) + +class PasswordResetDetails(bb.Struct): """ Reset password. """ @@ -26267,19 +49216,69 @@ class PasswordResetDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PasswordResetDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PasswordResetDetails()' PasswordResetDetails_validator = bv.Struct(PasswordResetDetails) -class PathLogInfo(object): +class PasswordResetType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PasswordResetType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PasswordResetType(description={!r})'.format( + self._description_value, + ) + +PasswordResetType_validator = bv.Struct(PasswordResetType) + +class PathLogInfo(bb.Struct): """ 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. + :ivar team_log.PathLogInfo.contextual: Fully qualified path relative to + event's context. Might be missing due to historical data gap. + :ivar team_log.PathLogInfo.namespace_relative: Path relative to the + namespace containing the content. """ __slots__ = [ @@ -26353,6 +49352,9 @@ class PathLogInfo(object): self._namespace_relative_value = None self._namespace_relative_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PathLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PathLogInfo(namespace_relative={!r}, contextual={!r})'.format( self._namespace_relative_value, @@ -26361,14 +49363,15 @@ class PathLogInfo(object): PathLogInfo_validator = bv.Struct(PathLogInfo) -class PermanentDeleteChangePolicyDetails(object): +class PermanentDeleteChangePolicyDetails(bb.Struct): """ - Enabled or disabled the ability of team members to permanently delete - content. + Enabled/disabled 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. + :ivar team_log.PermanentDeleteChangePolicyDetails.new_value: New permanent + delete content policy. + :ivar team_log.PermanentDeleteChangePolicyDetails.previous_value: Previous + permanent delete content policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -26442,6 +49445,9 @@ class PermanentDeleteChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PermanentDeleteChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PermanentDeleteChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -26450,6 +49456,53 @@ class PermanentDeleteChangePolicyDetails(object): PermanentDeleteChangePolicyDetails_validator = bv.Struct(PermanentDeleteChangePolicyDetails) +class PermanentDeleteChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PermanentDeleteChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PermanentDeleteChangePolicyType(description={!r})'.format( + self._description_value, + ) + +PermanentDeleteChangePolicyType_validator = bv.Struct(PermanentDeleteChangePolicyType) + class PlacementRestriction(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -26459,12 +49512,24 @@ class PlacementRestriction(bb.Union): _catch_all = 'other' # Attribute is overwritten below the class definition + australia_only = None + # Attribute is overwritten below the class definition europe_only = None # Attribute is overwritten below the class definition + japan_only = None + # Attribute is overwritten below the class definition none = None # Attribute is overwritten below the class definition other = None + def is_australia_only(self): + """ + Check if the union tag is ``australia_only``. + + :rtype: bool + """ + return self._tag == 'australia_only' + def is_europe_only(self): """ Check if the union tag is ``europe_only``. @@ -26473,6 +49538,14 @@ class PlacementRestriction(bb.Union): """ return self._tag == 'europe_only' + def is_japan_only(self): + """ + Check if the union tag is ``japan_only``. + + :rtype: bool + """ + return self._tag == 'japan_only' + def is_none(self): """ Check if the union tag is ``none``. @@ -26489,18 +49562,454 @@ class PlacementRestriction(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PlacementRestriction, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PlacementRestriction(%r, %r)' % (self._tag, self._value) PlacementRestriction_validator = bv.Union(PlacementRestriction) -class RelocateAssetReferencesLogInfo(object): +class PrimaryTeamRequestAcceptedDetails(bb.Struct): + """ + Team merge request acceptance details shown to the primary team + + :ivar team_log.PrimaryTeamRequestAcceptedDetails.secondary_team: The + secondary team name. + :ivar team_log.PrimaryTeamRequestAcceptedDetails.sent_by: The name of the + secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_by=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PrimaryTeamRequestAcceptedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PrimaryTeamRequestAcceptedDetails(secondary_team={!r}, sent_by={!r})'.format( + self._secondary_team_value, + self._sent_by_value, + ) + +PrimaryTeamRequestAcceptedDetails_validator = bv.Struct(PrimaryTeamRequestAcceptedDetails) + +class PrimaryTeamRequestCanceledDetails(bb.Struct): + """ + Team merge request cancellation details shown to the primary team + + :ivar team_log.PrimaryTeamRequestCanceledDetails.secondary_team: The + secondary team name. + :ivar team_log.PrimaryTeamRequestCanceledDetails.sent_by: The name of the + secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_by=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PrimaryTeamRequestCanceledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PrimaryTeamRequestCanceledDetails(secondary_team={!r}, sent_by={!r})'.format( + self._secondary_team_value, + self._sent_by_value, + ) + +PrimaryTeamRequestCanceledDetails_validator = bv.Struct(PrimaryTeamRequestCanceledDetails) + +class PrimaryTeamRequestExpiredDetails(bb.Struct): + """ + Team merge request expiration details shown to the primary team + + :ivar team_log.PrimaryTeamRequestExpiredDetails.secondary_team: The + secondary team name. + :ivar team_log.PrimaryTeamRequestExpiredDetails.sent_by: The name of the + secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_by=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PrimaryTeamRequestExpiredDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PrimaryTeamRequestExpiredDetails(secondary_team={!r}, sent_by={!r})'.format( + self._secondary_team_value, + self._sent_by_value, + ) + +PrimaryTeamRequestExpiredDetails_validator = bv.Struct(PrimaryTeamRequestExpiredDetails) + +class PrimaryTeamRequestReminderDetails(bb.Struct): + """ + Team merge request reminder details shown to the primary team + + :ivar team_log.PrimaryTeamRequestReminderDetails.secondary_team: The + secondary team name. + :ivar team_log.PrimaryTeamRequestReminderDetails.sent_to: The name of the + primary team admin the request was sent to. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_to=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_to_value = None + self._sent_to_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_to is not None: + self.sent_to = sent_to + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_to(self): + """ + The name of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PrimaryTeamRequestReminderDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PrimaryTeamRequestReminderDetails(secondary_team={!r}, sent_to={!r})'.format( + self._secondary_team_value, + self._sent_to_value, + ) + +PrimaryTeamRequestReminderDetails_validator = bv.Struct(PrimaryTeamRequestReminderDetails) + +class QuickActionType(bb.Union): + """ + Quick action 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. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + delete_shared_link = None + # Attribute is overwritten below the class definition + reset_password = None + # Attribute is overwritten below the class definition + restore_file_or_folder = None + # Attribute is overwritten below the class definition + unlink_app = None + # Attribute is overwritten below the class definition + unlink_session = None + # Attribute is overwritten below the class definition + other = None + + def is_delete_shared_link(self): + """ + Check if the union tag is ``delete_shared_link``. + + :rtype: bool + """ + return self._tag == 'delete_shared_link' + + def is_reset_password(self): + """ + Check if the union tag is ``reset_password``. + + :rtype: bool + """ + return self._tag == 'reset_password' + + def is_restore_file_or_folder(self): + """ + Check if the union tag is ``restore_file_or_folder``. + + :rtype: bool + """ + return self._tag == 'restore_file_or_folder' + + def is_unlink_app(self): + """ + Check if the union tag is ``unlink_app``. + + :rtype: bool + """ + return self._tag == 'unlink_app' + + def is_unlink_session(self): + """ + Check if the union tag is ``unlink_session``. + + :rtype: bool + """ + return self._tag == 'unlink_session' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(QuickActionType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'QuickActionType(%r, %r)' % (self._tag, self._value) + +QuickActionType_validator = bv.Union(QuickActionType) + +class RelocateAssetReferencesLogInfo(bb.Struct): """ Provides the indices of the source asset and the destination asset for a relocate action. - :ivar src_asset_index: Source asset position in the Assets list. - :ivar dest_asset_index: Destination asset position in the Assets list. + :ivar team_log.RelocateAssetReferencesLogInfo.src_asset_index: Source asset + position in the Assets list. + :ivar team_log.RelocateAssetReferencesLogInfo.dest_asset_index: Destination + asset position in the Assets list. """ __slots__ = [ @@ -26529,7 +50038,7 @@ class RelocateAssetReferencesLogInfo(object): """ Source asset position in the Assets list. - :rtype: long + :rtype: int """ if self._src_asset_index_present: return self._src_asset_index_value @@ -26552,7 +50061,7 @@ class RelocateAssetReferencesLogInfo(object): """ Destination asset position in the Assets list. - :rtype: long + :rtype: int """ if self._dest_asset_index_present: return self._dest_asset_index_value @@ -26570,6 +50079,9 @@ class RelocateAssetReferencesLogInfo(object): self._dest_asset_index_value = None self._dest_asset_index_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RelocateAssetReferencesLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RelocateAssetReferencesLogInfo(src_asset_index={!r}, dest_asset_index={!r})'.format( self._src_asset_index_value, @@ -26578,34 +50090,34 @@ class RelocateAssetReferencesLogInfo(object): RelocateAssetReferencesLogInfo_validator = bv.Struct(RelocateAssetReferencesLogInfo) -class ResellerLogInfo(object): +class ResellerLogInfo(bb.Struct): """ Reseller information. - :ivar reseller_name: Reseller name. - :ivar reseller_id: Reseller ID. + :ivar team_log.ResellerLogInfo.reseller_name: Reseller name. + :ivar team_log.ResellerLogInfo.reseller_email: Reseller email. """ __slots__ = [ '_reseller_name_value', '_reseller_name_present', - '_reseller_id_value', - '_reseller_id_present', + '_reseller_email_value', + '_reseller_email_present', ] _has_required_fields = True def __init__(self, reseller_name=None, - reseller_id=None): + reseller_email=None): self._reseller_name_value = None self._reseller_name_present = False - self._reseller_id_value = None - self._reseller_id_present = False + self._reseller_email_value = None + self._reseller_email_present = False if reseller_name is not None: self.reseller_name = reseller_name - if reseller_id is not None: - self.reseller_id = reseller_id + if reseller_email is not None: + self.reseller_email = reseller_email @property def reseller_name(self): @@ -26631,37 +50143,225 @@ class ResellerLogInfo(object): self._reseller_name_present = False @property - def reseller_id(self): + def reseller_email(self): """ - Reseller ID. + Reseller email. :rtype: str """ - if self._reseller_id_present: - return self._reseller_id_value + if self._reseller_email_present: + return self._reseller_email_value else: - raise AttributeError("missing required field 'reseller_id'") + raise AttributeError("missing required field 'reseller_email'") - @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_email.setter + def reseller_email(self, val): + val = self._reseller_email_validator.validate(val) + self._reseller_email_value = val + self._reseller_email_present = True - @reseller_id.deleter - def reseller_id(self): - self._reseller_id_value = None - self._reseller_id_present = False + @reseller_email.deleter + def reseller_email(self): + self._reseller_email_value = None + self._reseller_email_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'ResellerLogInfo(reseller_name={!r}, reseller_id={!r})'.format( + return 'ResellerLogInfo(reseller_name={!r}, reseller_email={!r})'.format( self._reseller_name_value, - self._reseller_id_value, + self._reseller_email_value, ) ResellerLogInfo_validator = bv.Struct(ResellerLogInfo) -class ResellerSupportSessionEndDetails(object): +class ResellerSupportChangePolicyDetails(bb.Struct): + """ + Enabled/disabled reseller support. + + :ivar team_log.ResellerSupportChangePolicyDetails.new_value: New Reseller + support policy. + :ivar team_log.ResellerSupportChangePolicyDetails.previous_value: Previous + Reseller support 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 Reseller support policy. + + :rtype: ResellerSupportPolicy + """ + 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 Reseller support policy. + + :rtype: ResellerSupportPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerSupportChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ResellerSupportChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +ResellerSupportChangePolicyDetails_validator = bv.Struct(ResellerSupportChangePolicyDetails) + +class ResellerSupportChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerSupportChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ResellerSupportChangePolicyType(description={!r})'.format( + self._description_value, + ) + +ResellerSupportChangePolicyType_validator = bv.Struct(ResellerSupportChangePolicyType) + +class ResellerSupportPolicy(bb.Union): + """ + Policy for controlling if reseller can access the admin console as + administrator + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerSupportPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ResellerSupportPolicy(%r, %r)' % (self._tag, self._value) + +ResellerSupportPolicy_validator = bv.Union(ResellerSupportPolicy) + +class ResellerSupportSessionEndDetails(bb.Struct): """ Ended reseller support session. """ @@ -26674,12 +50374,62 @@ class ResellerSupportSessionEndDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerSupportSessionEndDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ResellerSupportSessionEndDetails()' ResellerSupportSessionEndDetails_validator = bv.Struct(ResellerSupportSessionEndDetails) -class ResellerSupportSessionStartDetails(object): +class ResellerSupportSessionEndType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerSupportSessionEndType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ResellerSupportSessionEndType(description={!r})'.format( + self._description_value, + ) + +ResellerSupportSessionEndType_validator = bv.Struct(ResellerSupportSessionEndType) + +class ResellerSupportSessionStartDetails(bb.Struct): """ Started reseller support session. """ @@ -26692,20 +50442,540 @@ class ResellerSupportSessionStartDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerSupportSessionStartDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ResellerSupportSessionStartDetails()' ResellerSupportSessionStartDetails_validator = bv.Struct(ResellerSupportSessionStartDetails) -class SfAddGroupDetails(object): - """ - Added the team to a shared folder. +class ResellerSupportSessionStartType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ResellerSupportSessionStartType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ResellerSupportSessionStartType(description={!r})'.format( + self._description_value, + ) + +ResellerSupportSessionStartType_validator = bv.Struct(ResellerSupportSessionStartType) + +class SecondaryMailsPolicy(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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SecondaryMailsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SecondaryMailsPolicy(%r, %r)' % (self._tag, self._value) + +SecondaryMailsPolicy_validator = bv.Union(SecondaryMailsPolicy) + +class SecondaryMailsPolicyChangedDetails(bb.Struct): + """ + Secondary mails policy changed. + + :ivar team_log.SecondaryMailsPolicyChangedDetails.previous_value: Previous + secondary mails policy. + :ivar team_log.SecondaryMailsPolicyChangedDetails.new_value: New secondary + mails 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 secondary mails policy. + + :rtype: SecondaryMailsPolicy + """ + 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 secondary mails policy. + + :rtype: SecondaryMailsPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SecondaryMailsPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SecondaryMailsPolicyChangedDetails(previous_value={!r}, new_value={!r})'.format( + self._previous_value_value, + self._new_value_value, + ) + +SecondaryMailsPolicyChangedDetails_validator = bv.Struct(SecondaryMailsPolicyChangedDetails) + +class SecondaryMailsPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SecondaryMailsPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SecondaryMailsPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +SecondaryMailsPolicyChangedType_validator = bv.Struct(SecondaryMailsPolicyChangedType) + +class SecondaryTeamRequestAcceptedDetails(bb.Struct): + """ + Team merge request acceptance details shown to the secondary team + + :ivar team_log.SecondaryTeamRequestAcceptedDetails.primary_team: The primary + team name. + :ivar team_log.SecondaryTeamRequestAcceptedDetails.sent_by: The name of the + secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_primary_team_value', + '_primary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + primary_team=None, + sent_by=None): + self._primary_team_value = None + self._primary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if primary_team is not None: + self.primary_team = primary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def primary_team(self): + """ + The primary team name. + + :rtype: str + """ + if self._primary_team_present: + return self._primary_team_value + else: + raise AttributeError("missing required field 'primary_team'") + + @primary_team.setter + def primary_team(self, val): + val = self._primary_team_validator.validate(val) + self._primary_team_value = val + self._primary_team_present = True + + @primary_team.deleter + def primary_team(self): + self._primary_team_value = None + self._primary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SecondaryTeamRequestAcceptedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SecondaryTeamRequestAcceptedDetails(primary_team={!r}, sent_by={!r})'.format( + self._primary_team_value, + self._sent_by_value, + ) + +SecondaryTeamRequestAcceptedDetails_validator = bv.Struct(SecondaryTeamRequestAcceptedDetails) + +class SecondaryTeamRequestCanceledDetails(bb.Struct): + """ + Team merge request cancellation details shown to the secondary team + + :ivar team_log.SecondaryTeamRequestCanceledDetails.sent_to: The email of the + primary team admin that the request was sent to. + :ivar team_log.SecondaryTeamRequestCanceledDetails.sent_by: The name of the + secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_sent_to_value', + '_sent_to_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_to=None, + sent_by=None): + self._sent_to_value = None + self._sent_to_present = False + self._sent_by_value = None + self._sent_by_present = False + if sent_to is not None: + self.sent_to = sent_to + if sent_by is not None: + self.sent_by = sent_by + + @property + def sent_to(self): + """ + The email of the primary team admin that the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SecondaryTeamRequestCanceledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SecondaryTeamRequestCanceledDetails(sent_to={!r}, sent_by={!r})'.format( + self._sent_to_value, + self._sent_by_value, + ) + +SecondaryTeamRequestCanceledDetails_validator = bv.Struct(SecondaryTeamRequestCanceledDetails) + +class SecondaryTeamRequestExpiredDetails(bb.Struct): + """ + Team merge request expiration details shown to the secondary team + + :ivar team_log.SecondaryTeamRequestExpiredDetails.sent_to: The email of the + primary team admin the request was sent to. + """ + + __slots__ = [ + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_to=None): + self._sent_to_value = None + self._sent_to_present = False + if sent_to is not None: + self.sent_to = sent_to + + @property + def sent_to(self): + """ + The email of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SecondaryTeamRequestExpiredDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SecondaryTeamRequestExpiredDetails(sent_to={!r})'.format( + self._sent_to_value, + ) + +SecondaryTeamRequestExpiredDetails_validator = bv.Struct(SecondaryTeamRequestExpiredDetails) + +class SecondaryTeamRequestReminderDetails(bb.Struct): + """ + Team merge request reminder details shown to the secondary team + + :ivar team_log.SecondaryTeamRequestReminderDetails.sent_to: The email of the + primary team admin the request was sent to. + """ + + __slots__ = [ + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_to=None): + self._sent_to_value = None + self._sent_to_present = False + if sent_to is not None: + self.sent_to = sent_to + + @property + def sent_to(self): + """ + The email of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SecondaryTeamRequestReminderDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SecondaryTeamRequestReminderDetails(sent_to={!r})'.format( + self._sent_to_value, + ) + +SecondaryTeamRequestReminderDetails_validator = bv.Struct(SecondaryTeamRequestReminderDetails) + +class SfAddGroupDetails(bb.Struct): + """ + Added team to shared folder. + + :ivar team_log.SfAddGroupDetails.target_asset_index: Target asset position + in the Assets list. + :ivar team_log.SfAddGroupDetails.original_folder_name: Original shared + folder name. + :ivar team_log.SfAddGroupDetails.sharing_permission: Sharing permission. + Might be missing due to historical data gap. + :ivar team_log.SfAddGroupDetails.team_name: Team name. """ __slots__ = [ @@ -26748,7 +51018,7 @@ class SfAddGroupDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -26838,6 +51108,9 @@ class SfAddGroupDetails(object): self._team_name_value = None self._team_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfAddGroupDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SfAddGroupDetails(target_asset_index={!r}, original_folder_name={!r}, team_name={!r}, sharing_permission={!r})'.format( self._target_asset_index_value, @@ -26848,14 +51121,64 @@ class SfAddGroupDetails(object): SfAddGroupDetails_validator = bv.Struct(SfAddGroupDetails) -class SfAllowNonMembersToViewSharedLinksDetails(object): - """ - Allowed non collaborators to view links to files in a shared folder. +class SfAddGroupType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar shared_folder_type: Shared folder type. Might be missing due to - historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfAddGroupType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfAddGroupType(description={!r})'.format( + self._description_value, + ) + +SfAddGroupType_validator = bv.Struct(SfAddGroupType) + +class SfAllowNonMembersToViewSharedLinksDetails(bb.Struct): + """ + Allowed non-collaborators to view links to files in shared folder. + + :ivar team_log.SfAllowNonMembersToViewSharedLinksDetails.target_asset_index: + Target asset position in the Assets list. + :ivar + team_log.SfAllowNonMembersToViewSharedLinksDetails.original_folder_name: + Original shared folder name. + :ivar team_log.SfAllowNonMembersToViewSharedLinksDetails.shared_folder_type: + Shared folder type. Might be missing due to historical data gap. """ __slots__ = [ @@ -26891,7 +51214,7 @@ class SfAllowNonMembersToViewSharedLinksDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -26958,6 +51281,9 @@ class SfAllowNonMembersToViewSharedLinksDetails(object): self._shared_folder_type_value = None self._shared_folder_type_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfAllowNonMembersToViewSharedLinksDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SfAllowNonMembersToViewSharedLinksDetails(target_asset_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( self._target_asset_index_value, @@ -26967,408 +51293,66 @@ class SfAllowNonMembersToViewSharedLinksDetails(object): SfAllowNonMembersToViewSharedLinksDetails_validator = bv.Struct(SfAllowNonMembersToViewSharedLinksDetails) -class SfExternalInviteWarnDetails(object): - """ - Admin settings: team members see a warning before sharing folders outside - the team (DEPRECATED FEATURE). - """ +class SfAllowNonMembersToViewSharedLinksType(bb.Struct): __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_asset_index: Target asset position in the Assets list. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False - - def __repr__(self): - return 'SfInviteGroupDetails(target_asset_index={!r})'.format( - self._target_asset_index_value, - ) - -SfInviteGroupDetails_validator = bv.Struct(SfInviteGroupDetails) - -class SfNestDetails(object): - """ - Changed parent of shared folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :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_asset_index_value', - '_target_asset_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_asset_index=None, - original_folder_name=None, - prev_parent_ns_id=None, - new_parent_ns_id=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'original_folder_name'") + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False - @property - def prev_parent_ns_id(self): - """ - Previous parent namespace ID. Might be missing due to historical data + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfAllowNonMembersToViewSharedLinksType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfAllowNonMembersToViewSharedLinksType(description={!r})'.format( + self._description_value, + ) + +SfAllowNonMembersToViewSharedLinksType_validator = bv.Struct(SfAllowNonMembersToViewSharedLinksType) + +class SfExternalInviteWarnDetails(bb.Struct): + """ + Set team members to see warning before sharing folders outside team. + + :ivar team_log.SfExternalInviteWarnDetails.target_asset_index: Target asset + position in the Assets list. + :ivar team_log.SfExternalInviteWarnDetails.original_folder_name: Original + shared folder name. + :ivar team_log.SfExternalInviteWarnDetails.new_sharing_permission: New + sharing permission. Might be missing due to historical data gap. + :ivar team_log.SfExternalInviteWarnDetails.previous_sharing_permission: + Previous sharing permission. 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_asset_index={!r}, original_folder_name={!r}, prev_parent_ns_id={!r}, new_parent_ns_id={!r})'.format( - self._target_asset_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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - ] - - _has_required_fields = True - - def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name - - @property - def target_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - ) - -SfTeamDeclineDetails_validator = bv.Struct(SfTeamDeclineDetails) - -class SfTeamGrantAccessDetails(object): - """ - Granted access to a shared folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - ] - - _has_required_fields = True - - def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name - - @property - def target_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar new_sharing_permission: New 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__ = [ @@ -27411,7 +51395,7 @@ class SfTeamInviteChangeRoleDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -27505,24 +51489,285 @@ class SfTeamInviteChangeRoleDetails(object): self._previous_sharing_permission_value = None self._previous_sharing_permission_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfExternalInviteWarnDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SfTeamInviteChangeRoleDetails(target_asset_index={!r}, original_folder_name={!r}, new_sharing_permission={!r}, previous_sharing_permission={!r})'.format( + return 'SfExternalInviteWarnDetails(target_asset_index={!r}, original_folder_name={!r}, new_sharing_permission={!r}, previous_sharing_permission={!r})'.format( self._target_asset_index_value, self._original_folder_name_value, self._new_sharing_permission_value, self._previous_sharing_permission_value, ) -SfTeamInviteChangeRoleDetails_validator = bv.Struct(SfTeamInviteChangeRoleDetails) +SfExternalInviteWarnDetails_validator = bv.Struct(SfExternalInviteWarnDetails) -class SfTeamInviteDetails(object): +class SfExternalInviteWarnType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfExternalInviteWarnType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfExternalInviteWarnType(description={!r})'.format( + self._description_value, + ) + +SfExternalInviteWarnType_validator = bv.Struct(SfExternalInviteWarnType) + +class SfFbInviteChangeRoleDetails(bb.Struct): """ - Invited team members to a shared folder. + Changed Facebook user's role in shared folder. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar sharing_permission: Sharing permission. Might be missing due to - historical data gap. + :ivar team_log.SfFbInviteChangeRoleDetails.target_asset_index: Target asset + position in the Assets list. + :ivar team_log.SfFbInviteChangeRoleDetails.original_folder_name: Original + shared folder name. + :ivar team_log.SfFbInviteChangeRoleDetails.previous_sharing_permission: + Previous sharing permission. Might be missing due to historical data + gap. + :ivar team_log.SfFbInviteChangeRoleDetails.new_sharing_permission: New + sharing permission. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_target_asset_index_value', + '_target_asset_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_previous_sharing_permission_value', + '_previous_sharing_permission_present', + '_new_sharing_permission_value', + '_new_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_asset_index=None, + original_folder_name=None, + previous_sharing_permission=None, + new_sharing_permission=None): + self._target_asset_index_value = None + self._target_asset_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._new_sharing_permission_value = None + self._new_sharing_permission_present = False + if target_asset_index is not None: + self.target_asset_index = target_asset_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 new_sharing_permission is not None: + self.new_sharing_permission = new_sharing_permission + + @property + def target_asset_index(self): + """ + Target asset position in the Assets list. + + :rtype: int + """ + if self._target_asset_index_present: + return self._target_asset_index_value + else: + raise AttributeError("missing required field 'target_asset_index'") + + @target_asset_index.setter + def target_asset_index(self, val): + val = self._target_asset_index_validator.validate(val) + self._target_asset_index_value = val + self._target_asset_index_present = True + + @target_asset_index.deleter + def target_asset_index(self): + self._target_asset_index_value = None + self._target_asset_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 new_sharing_permission(self): + """ + New sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._new_sharing_permission_present: + return self._new_sharing_permission_value + else: + return None + + @new_sharing_permission.setter + def new_sharing_permission(self, val): + if val is None: + del self.new_sharing_permission + return + val = self._new_sharing_permission_validator.validate(val) + self._new_sharing_permission_value = val + self._new_sharing_permission_present = True + + @new_sharing_permission.deleter + def new_sharing_permission(self): + self._new_sharing_permission_value = None + self._new_sharing_permission_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfFbInviteChangeRoleDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfFbInviteChangeRoleDetails(target_asset_index={!r}, original_folder_name={!r}, previous_sharing_permission={!r}, new_sharing_permission={!r})'.format( + self._target_asset_index_value, + self._original_folder_name_value, + self._previous_sharing_permission_value, + self._new_sharing_permission_value, + ) + +SfFbInviteChangeRoleDetails_validator = bv.Struct(SfFbInviteChangeRoleDetails) + +class SfFbInviteChangeRoleType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfFbInviteChangeRoleType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfFbInviteChangeRoleType(description={!r})'.format( + self._description_value, + ) + +SfFbInviteChangeRoleType_validator = bv.Struct(SfFbInviteChangeRoleType) + +class SfFbInviteDetails(bb.Struct): + """ + Invited Facebook users to shared folder. + + :ivar team_log.SfFbInviteDetails.target_asset_index: Target asset position + in the Assets list. + :ivar team_log.SfFbInviteDetails.original_folder_name: Original shared + folder name. + :ivar team_log.SfFbInviteDetails.sharing_permission: Sharing permission. + Might be missing due to historical data gap. """ __slots__ = [ @@ -27558,7 +51803,7 @@ class SfTeamInviteDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -27625,21 +51870,73 @@ class SfTeamInviteDetails(object): self._sharing_permission_value = None self._sharing_permission_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfFbInviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SfTeamInviteDetails(target_asset_index={!r}, original_folder_name={!r}, sharing_permission={!r})'.format( + return 'SfFbInviteDetails(target_asset_index={!r}, original_folder_name={!r}, sharing_permission={!r})'.format( self._target_asset_index_value, self._original_folder_name_value, self._sharing_permission_value, ) -SfTeamInviteDetails_validator = bv.Struct(SfTeamInviteDetails) +SfFbInviteDetails_validator = bv.Struct(SfFbInviteDetails) -class SfTeamJoinDetails(object): +class SfFbInviteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfFbInviteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfFbInviteType(description={!r})'.format( + self._description_value, + ) + +SfFbInviteType_validator = bv.Struct(SfFbInviteType) + +class SfFbUninviteDetails(bb.Struct): """ - Joined a team member's shared folder. + Uninvited Facebook user from shared folder. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. + :ivar team_log.SfFbUninviteDetails.target_asset_index: Target asset position + in the Assets list. + :ivar team_log.SfFbUninviteDetails.original_folder_name: Original shared + folder name. """ __slots__ = [ @@ -27668,7 +51965,7 @@ class SfTeamJoinDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -27709,6 +52006,761 @@ class SfTeamJoinDetails(object): self._original_folder_name_value = None self._original_folder_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfFbUninviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfFbUninviteDetails(target_asset_index={!r}, original_folder_name={!r})'.format( + self._target_asset_index_value, + self._original_folder_name_value, + ) + +SfFbUninviteDetails_validator = bv.Struct(SfFbUninviteDetails) + +class SfFbUninviteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfFbUninviteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfFbUninviteType(description={!r})'.format( + self._description_value, + ) + +SfFbUninviteType_validator = bv.Struct(SfFbUninviteType) + +class SfInviteGroupDetails(bb.Struct): + """ + Invited group to shared folder. + + :ivar team_log.SfInviteGroupDetails.target_asset_index: Target asset + position in the Assets list. + """ + + __slots__ = [ + '_target_asset_index_value', + '_target_asset_index_present', + ] + + _has_required_fields = True + + def __init__(self, + target_asset_index=None): + self._target_asset_index_value = None + self._target_asset_index_present = False + if target_asset_index is not None: + self.target_asset_index = target_asset_index + + @property + def target_asset_index(self): + """ + Target asset position in the Assets list. + + :rtype: int + """ + if self._target_asset_index_present: + return self._target_asset_index_value + else: + raise AttributeError("missing required field 'target_asset_index'") + + @target_asset_index.setter + def target_asset_index(self, val): + val = self._target_asset_index_validator.validate(val) + self._target_asset_index_value = val + self._target_asset_index_present = True + + @target_asset_index.deleter + def target_asset_index(self): + self._target_asset_index_value = None + self._target_asset_index_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfInviteGroupDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfInviteGroupDetails(target_asset_index={!r})'.format( + self._target_asset_index_value, + ) + +SfInviteGroupDetails_validator = bv.Struct(SfInviteGroupDetails) + +class SfInviteGroupType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfInviteGroupType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfInviteGroupType(description={!r})'.format( + self._description_value, + ) + +SfInviteGroupType_validator = bv.Struct(SfInviteGroupType) + +class SfTeamGrantAccessDetails(bb.Struct): + """ + Granted access to shared folder. + + :ivar team_log.SfTeamGrantAccessDetails.target_asset_index: Target asset + position in the Assets list. + :ivar team_log.SfTeamGrantAccessDetails.original_folder_name: Original + shared folder name. + """ + + __slots__ = [ + '_target_asset_index_value', + '_target_asset_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_asset_index=None, + original_folder_name=None): + self._target_asset_index_value = None + self._target_asset_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_asset_index is not None: + self.target_asset_index = target_asset_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_asset_index(self): + """ + Target asset position in the Assets list. + + :rtype: int + """ + if self._target_asset_index_present: + return self._target_asset_index_value + else: + raise AttributeError("missing required field 'target_asset_index'") + + @target_asset_index.setter + def target_asset_index(self, val): + val = self._target_asset_index_validator.validate(val) + self._target_asset_index_value = val + self._target_asset_index_present = True + + @target_asset_index.deleter + def target_asset_index(self): + self._target_asset_index_value = None + self._target_asset_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamGrantAccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamGrantAccessDetails(target_asset_index={!r}, original_folder_name={!r})'.format( + self._target_asset_index_value, + self._original_folder_name_value, + ) + +SfTeamGrantAccessDetails_validator = bv.Struct(SfTeamGrantAccessDetails) + +class SfTeamGrantAccessType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamGrantAccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamGrantAccessType(description={!r})'.format( + self._description_value, + ) + +SfTeamGrantAccessType_validator = bv.Struct(SfTeamGrantAccessType) + +class SfTeamInviteChangeRoleDetails(bb.Struct): + """ + Changed team member's role in shared folder. + + :ivar team_log.SfTeamInviteChangeRoleDetails.target_asset_index: Target + asset position in the Assets list. + :ivar team_log.SfTeamInviteChangeRoleDetails.original_folder_name: Original + shared folder name. + :ivar team_log.SfTeamInviteChangeRoleDetails.new_sharing_permission: New + sharing permission. Might be missing due to historical data gap. + :ivar team_log.SfTeamInviteChangeRoleDetails.previous_sharing_permission: + Previous sharing permission. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_target_asset_index_value', + '_target_asset_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_new_sharing_permission_value', + '_new_sharing_permission_present', + '_previous_sharing_permission_value', + '_previous_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_asset_index=None, + original_folder_name=None, + new_sharing_permission=None, + previous_sharing_permission=None): + self._target_asset_index_value = None + self._target_asset_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + self._new_sharing_permission_value = None + self._new_sharing_permission_present = False + self._previous_sharing_permission_value = None + self._previous_sharing_permission_present = False + if target_asset_index is not None: + self.target_asset_index = target_asset_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + if new_sharing_permission is not None: + self.new_sharing_permission = new_sharing_permission + if previous_sharing_permission is not None: + self.previous_sharing_permission = previous_sharing_permission + + @property + def target_asset_index(self): + """ + Target asset position in the Assets list. + + :rtype: int + """ + if self._target_asset_index_present: + return self._target_asset_index_value + else: + raise AttributeError("missing required field 'target_asset_index'") + + @target_asset_index.setter + def target_asset_index(self, val): + val = self._target_asset_index_validator.validate(val) + self._target_asset_index_value = val + self._target_asset_index_present = True + + @target_asset_index.deleter + def target_asset_index(self): + self._target_asset_index_value = None + self._target_asset_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_sharing_permission(self): + """ + New sharing permission. Might be missing due to historical data gap. + + :rtype: str + """ + if self._new_sharing_permission_present: + return self._new_sharing_permission_value + else: + return None + + @new_sharing_permission.setter + def new_sharing_permission(self, val): + if val is None: + del self.new_sharing_permission + return + val = self._new_sharing_permission_validator.validate(val) + self._new_sharing_permission_value = val + self._new_sharing_permission_present = True + + @new_sharing_permission.deleter + def new_sharing_permission(self): + self._new_sharing_permission_value = None + self._new_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamInviteChangeRoleDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamInviteChangeRoleDetails(target_asset_index={!r}, original_folder_name={!r}, new_sharing_permission={!r}, previous_sharing_permission={!r})'.format( + self._target_asset_index_value, + self._original_folder_name_value, + self._new_sharing_permission_value, + self._previous_sharing_permission_value, + ) + +SfTeamInviteChangeRoleDetails_validator = bv.Struct(SfTeamInviteChangeRoleDetails) + +class SfTeamInviteChangeRoleType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamInviteChangeRoleType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamInviteChangeRoleType(description={!r})'.format( + self._description_value, + ) + +SfTeamInviteChangeRoleType_validator = bv.Struct(SfTeamInviteChangeRoleType) + +class SfTeamInviteDetails(bb.Struct): + """ + Invited team members to shared folder. + + :ivar team_log.SfTeamInviteDetails.target_asset_index: Target asset position + in the Assets list. + :ivar team_log.SfTeamInviteDetails.original_folder_name: Original shared + folder name. + :ivar team_log.SfTeamInviteDetails.sharing_permission: Sharing permission. + Might be missing due to historical data gap. + """ + + __slots__ = [ + '_target_asset_index_value', + '_target_asset_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + '_sharing_permission_value', + '_sharing_permission_present', + ] + + _has_required_fields = True + + def __init__(self, + target_asset_index=None, + original_folder_name=None, + sharing_permission=None): + self._target_asset_index_value = None + self._target_asset_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_asset_index is not None: + self.target_asset_index = target_asset_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_asset_index(self): + """ + Target asset position in the Assets list. + + :rtype: int + """ + if self._target_asset_index_present: + return self._target_asset_index_value + else: + raise AttributeError("missing required field 'target_asset_index'") + + @target_asset_index.setter + def target_asset_index(self, val): + val = self._target_asset_index_validator.validate(val) + self._target_asset_index_value = val + self._target_asset_index_present = True + + @target_asset_index.deleter + def target_asset_index(self): + self._target_asset_index_value = None + self._target_asset_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamInviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamInviteDetails(target_asset_index={!r}, original_folder_name={!r}, sharing_permission={!r})'.format( + self._target_asset_index_value, + self._original_folder_name_value, + self._sharing_permission_value, + ) + +SfTeamInviteDetails_validator = bv.Struct(SfTeamInviteDetails) + +class SfTeamInviteType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamInviteType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamInviteType(description={!r})'.format( + self._description_value, + ) + +SfTeamInviteType_validator = bv.Struct(SfTeamInviteType) + +class SfTeamJoinDetails(bb.Struct): + """ + Joined team member's shared folder. + + :ivar team_log.SfTeamJoinDetails.target_asset_index: Target asset position + in the Assets list. + :ivar team_log.SfTeamJoinDetails.original_folder_name: Original shared + folder name. + """ + + __slots__ = [ + '_target_asset_index_value', + '_target_asset_index_present', + '_original_folder_name_value', + '_original_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + target_asset_index=None, + original_folder_name=None): + self._target_asset_index_value = None + self._target_asset_index_present = False + self._original_folder_name_value = None + self._original_folder_name_present = False + if target_asset_index is not None: + self.target_asset_index = target_asset_index + if original_folder_name is not None: + self.original_folder_name = original_folder_name + + @property + def target_asset_index(self): + """ + Target asset position in the Assets list. + + :rtype: int + """ + if self._target_asset_index_present: + return self._target_asset_index_value + else: + raise AttributeError("missing required field 'target_asset_index'") + + @target_asset_index.setter + def target_asset_index(self, val): + val = self._target_asset_index_validator.validate(val) + self._target_asset_index_value = val + self._target_asset_index_present = True + + @target_asset_index.deleter + def target_asset_index(self): + self._target_asset_index_value = None + self._target_asset_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamJoinDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SfTeamJoinDetails(target_asset_index={!r}, original_folder_name={!r})'.format( self._target_asset_index_value, @@ -27717,15 +52769,18 @@ class SfTeamJoinDetails(object): SfTeamJoinDetails_validator = bv.Struct(SfTeamJoinDetails) -class SfTeamJoinFromOobLinkDetails(object): +class SfTeamJoinFromOobLinkDetails(bb.Struct): """ - Joined a team member's shared folder from a link. + Joined team member's shared folder from link. - :ivar target_asset_index: Target asset position in the Assets list. - :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. + :ivar team_log.SfTeamJoinFromOobLinkDetails.target_asset_index: Target asset + position in the Assets list. + :ivar team_log.SfTeamJoinFromOobLinkDetails.original_folder_name: Original + shared folder name. + :ivar team_log.SfTeamJoinFromOobLinkDetails.token_key: Shared link token + key. + :ivar team_log.SfTeamJoinFromOobLinkDetails.sharing_permission: Sharing + permission. Might be missing due to historical data gap. """ __slots__ = [ @@ -27768,7 +52823,7 @@ class SfTeamJoinFromOobLinkDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -27861,6 +52916,9 @@ class SfTeamJoinFromOobLinkDetails(object): self._sharing_permission_value = None self._sharing_permission_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamJoinFromOobLinkDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SfTeamJoinFromOobLinkDetails(target_asset_index={!r}, original_folder_name={!r}, token_key={!r}, sharing_permission={!r})'.format( self._target_asset_index_value, @@ -27871,12 +52929,108 @@ class SfTeamJoinFromOobLinkDetails(object): SfTeamJoinFromOobLinkDetails_validator = bv.Struct(SfTeamJoinFromOobLinkDetails) -class SfTeamUninviteDetails(object): - """ - Unshared a folder with a team member. +class SfTeamJoinFromOobLinkType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamJoinFromOobLinkType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamJoinFromOobLinkType(description={!r})'.format( + self._description_value, + ) + +SfTeamJoinFromOobLinkType_validator = bv.Struct(SfTeamJoinFromOobLinkType) + +class SfTeamJoinType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamJoinType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SfTeamJoinType(description={!r})'.format( + self._description_value, + ) + +SfTeamJoinType_validator = bv.Struct(SfTeamJoinType) + +class SfTeamUninviteDetails(bb.Struct): + """ + Unshared folder with team member. + + :ivar team_log.SfTeamUninviteDetails.target_asset_index: Target asset + position in the Assets list. + :ivar team_log.SfTeamUninviteDetails.original_folder_name: Original shared + folder name. """ __slots__ = [ @@ -27905,7 +53059,7 @@ class SfTeamUninviteDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -27946,6 +53100,9 @@ class SfTeamUninviteDetails(object): self._original_folder_name_value = None self._original_folder_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamUninviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SfTeamUninviteDetails(target_asset_index={!r}, original_folder_name={!r})'.format( self._target_asset_index_value, @@ -27954,616 +53111,475 @@ class SfTeamUninviteDetails(object): SfTeamUninviteDetails_validator = bv.Struct(SfTeamUninviteDetails) -class SharedContentAddInviteesDetails(object): - """ - Sent an email invitation to the membership of a shared file or folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar sharing_permission: Sharing permission. Might be missing due to - historical data gap. - """ +class SfTeamUninviteType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_sharing_permission_value', - '_sharing_permission_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - sharing_permission=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SfTeamUninviteType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentAddInviteesDetails(target_asset_index={!r}, original_folder_name={!r}, sharing_permission={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._sharing_permission_value, + return 'SfTeamUninviteType(description={!r})'.format( + self._description_value, + ) + +SfTeamUninviteType_validator = bv.Struct(SfTeamUninviteType) + +class SharedContentAddInviteesDetails(bb.Struct): + """ + Invited user to Dropbox and added them to shared file/folder. + + :ivar team_log.SharedContentAddInviteesDetails.shared_content_access_level: + Shared content access level. + :ivar team_log.SharedContentAddInviteesDetails.invitees: A list of invitees. + """ + + __slots__ = [ + '_shared_content_access_level_value', + '_shared_content_access_level_present', + '_invitees_value', + '_invitees_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_content_access_level=None, + invitees=None): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + self._invitees_value = None + self._invitees_present = False + if shared_content_access_level is not None: + self.shared_content_access_level = shared_content_access_level + if invitees is not None: + self.invitees = invitees + + @property + def shared_content_access_level(self): + """ + Shared content access level. + + :rtype: sharing.AccessLevel + """ + if self._shared_content_access_level_present: + return self._shared_content_access_level_value + else: + raise AttributeError("missing required field 'shared_content_access_level'") + + @shared_content_access_level.setter + def shared_content_access_level(self, val): + self._shared_content_access_level_validator.validate_type_only(val) + self._shared_content_access_level_value = val + self._shared_content_access_level_present = True + + @shared_content_access_level.deleter + def shared_content_access_level(self): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + + @property + def invitees(self): + """ + A list of invitees. + + :rtype: list of [str] + """ + if self._invitees_present: + return self._invitees_value + else: + raise AttributeError("missing required field 'invitees'") + + @invitees.setter + def invitees(self, val): + val = self._invitees_validator.validate(val) + self._invitees_value = val + self._invitees_present = True + + @invitees.deleter + def invitees(self): + self._invitees_value = None + self._invitees_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddInviteesDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentAddInviteesDetails(shared_content_access_level={!r}, invitees={!r})'.format( + self._shared_content_access_level_value, + self._invitees_value, ) SharedContentAddInviteesDetails_validator = bv.Struct(SharedContentAddInviteesDetails) -class SharedContentAddLinkExpiryDetails(object): - """ - Added an expiry to the link for the shared file or folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :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. - """ +class SharedContentAddInviteesType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - expiration_start_date=None, - expiration_days=None, - original_folder_name=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddInviteesType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentAddLinkExpiryDetails(target_asset_index={!r}, expiration_start_date={!r}, expiration_days={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._expiration_start_date_value, - self._expiration_days_value, - self._original_folder_name_value, - self._shared_folder_type_value, + return 'SharedContentAddInviteesType(description={!r})'.format( + self._description_value, + ) + +SharedContentAddInviteesType_validator = bv.Struct(SharedContentAddInviteesType) + +class SharedContentAddLinkExpiryDetails(bb.Struct): + """ + Added expiration date to link for shared file/folder. + + :ivar team_log.SharedContentAddLinkExpiryDetails.new_value: New shared + content link expiration date. Might be missing due to historical data + gap. + """ + + __slots__ = [ + '_new_value_value', + '_new_value_present', + ] + + _has_required_fields = False + + 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): + """ + New shared content link expiration date. Might be missing due to + historical data gap. + + :rtype: datetime.datetime + """ + 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 + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddLinkExpiryDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentAddLinkExpiryDetails(new_value={!r})'.format( + self._new_value_value, ) SharedContentAddLinkExpiryDetails_validator = bv.Struct(SharedContentAddLinkExpiryDetails) -class SharedContentAddLinkPasswordDetails(object): - """ - Added a password to the link for the shared file or folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar shared_folder_type: Shared folder type. Might be missing due to - historical data gap. - """ +class SharedContentAddLinkExpiryType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_shared_folder_type_value', - '_shared_folder_type_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddLinkExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentAddLinkPasswordDetails(target_asset_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._shared_folder_type_value, + return 'SharedContentAddLinkExpiryType(description={!r})'.format( + self._description_value, ) +SharedContentAddLinkExpiryType_validator = bv.Struct(SharedContentAddLinkExpiryType) + +class SharedContentAddLinkPasswordDetails(bb.Struct): + """ + Added password to link for shared file/folder. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddLinkPasswordDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentAddLinkPasswordDetails()' + SharedContentAddLinkPasswordDetails_validator = bv.Struct(SharedContentAddLinkPasswordDetails) -class SharedContentAddMemberDetails(object): - """ - Added users and/or groups to the membership of a shared file or folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :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. - """ +class SharedContentAddLinkPasswordType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_sharing_permission_value', - '_sharing_permission_present', - '_shared_folder_type_value', - '_shared_folder_type_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - sharing_permission=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddLinkPasswordType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentAddMemberDetails(target_asset_index={!r}, original_folder_name={!r}, sharing_permission={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._sharing_permission_value, - self._shared_folder_type_value, + return 'SharedContentAddLinkPasswordType(description={!r})'.format( + self._description_value, + ) + +SharedContentAddLinkPasswordType_validator = bv.Struct(SharedContentAddLinkPasswordType) + +class SharedContentAddMemberDetails(bb.Struct): + """ + Added users and/or groups to shared file/folder. + + :ivar team_log.SharedContentAddMemberDetails.shared_content_access_level: + Shared content access level. + """ + + __slots__ = [ + '_shared_content_access_level_value', + '_shared_content_access_level_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_content_access_level=None): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + if shared_content_access_level is not None: + self.shared_content_access_level = shared_content_access_level + + @property + def shared_content_access_level(self): + """ + Shared content access level. + + :rtype: sharing.AccessLevel + """ + if self._shared_content_access_level_present: + return self._shared_content_access_level_value + else: + raise AttributeError("missing required field 'shared_content_access_level'") + + @shared_content_access_level.setter + def shared_content_access_level(self, val): + self._shared_content_access_level_validator.validate_type_only(val) + self._shared_content_access_level_value = val + self._shared_content_access_level_present = True + + @shared_content_access_level.deleter + def shared_content_access_level(self): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentAddMemberDetails(shared_content_access_level={!r})'.format( + self._shared_content_access_level_value, ) SharedContentAddMemberDetails_validator = bv.Struct(SharedContentAddMemberDetails) -class SharedContentChangeDownloadsPolicyDetails(object): - """ - Changed whether members can download the shared file or folder. +class SharedContentAddMemberType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentAddMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentAddMemberType(description={!r})'.format( + self._description_value, + ) + +SharedContentAddMemberType_validator = bv.Struct(SharedContentAddMemberType) + +class SharedContentChangeDownloadsPolicyDetails(bb.Struct): + """ + Changed whether members can download shared file/folder. + + :ivar team_log.SharedContentChangeDownloadsPolicyDetails.new_value: New + downloads policy. + :ivar team_log.SharedContentChangeDownloadsPolicyDetails.previous_value: + Previous downloads policy. Might be missing due to historical data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', @@ -28573,113 +53589,23 @@ class SharedContentChangeDownloadsPolicyDetails(object): _has_required_fields = True def __init__(self, - target_asset_index=None, new_value=None, - original_folder_name=None, - shared_folder_type=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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. + New downloads policy. - :rtype: SharedContentDownloadsPolicy + :rtype: DownloadPolicyType """ if self._new_value_present: return self._new_value_value @@ -28700,9 +53626,9 @@ class SharedContentChangeDownloadsPolicyDetails(object): @property def previous_value(self): """ - Previous downlaod policy. Might be missing due to historical data gap. + Previous downloads policy. Might be missing due to historical data gap. - :rtype: SharedContentDownloadsPolicy + :rtype: DownloadPolicyType """ if self._previous_value_present: return self._previous_value_value @@ -28723,194 +53649,247 @@ class SharedContentChangeDownloadsPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeDownloadsPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedContentChangeDownloadsPolicyDetails(target_asset_index={!r}, new_value={!r}, original_folder_name={!r}, shared_folder_type={!r}, previous_value={!r})'.format( - self._target_asset_index_value, + return 'SharedContentChangeDownloadsPolicyDetails(new_value={!r}, previous_value={!r})'.format( 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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar new_sharing_permission: New 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. - """ +class SharedContentChangeDownloadsPolicyType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_new_sharing_permission_value', - '_new_sharing_permission_present', - '_previous_sharing_permission_value', - '_previous_sharing_permission_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - new_sharing_permission=None, - previous_sharing_permission=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - self._new_sharing_permission_value = None - self._new_sharing_permission_present = False - self._previous_sharing_permission_value = None - self._previous_sharing_permission_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name - if new_sharing_permission is not None: - self.new_sharing_permission = new_sharing_permission - if previous_sharing_permission is not None: - self.previous_sharing_permission = previous_sharing_permission + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'original_folder_name'") + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False - @property - def new_sharing_permission(self): - """ - New sharing permission. Might be missing due to historical data gap. - - :rtype: str - """ - if self._new_sharing_permission_present: - return self._new_sharing_permission_value - else: - return None - - @new_sharing_permission.setter - def new_sharing_permission(self, val): - if val is None: - del self.new_sharing_permission - return - val = self._new_sharing_permission_validator.validate(val) - self._new_sharing_permission_value = val - self._new_sharing_permission_present = True - - @new_sharing_permission.deleter - def new_sharing_permission(self): - self._new_sharing_permission_value = None - self._new_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeDownloadsPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentChangeInviteeRoleDetails(target_asset_index={!r}, original_folder_name={!r}, new_sharing_permission={!r}, previous_sharing_permission={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._new_sharing_permission_value, - self._previous_sharing_permission_value, + return 'SharedContentChangeDownloadsPolicyType(description={!r})'.format( + self._description_value, + ) + +SharedContentChangeDownloadsPolicyType_validator = bv.Struct(SharedContentChangeDownloadsPolicyType) + +class SharedContentChangeInviteeRoleDetails(bb.Struct): + """ + Changed access type of invitee to shared file/folder before invite was + accepted. + + :ivar team_log.SharedContentChangeInviteeRoleDetails.previous_access_level: + Previous access level. Might be missing due to historical data gap. + :ivar team_log.SharedContentChangeInviteeRoleDetails.new_access_level: New + access level. + :ivar team_log.SharedContentChangeInviteeRoleDetails.invitee: The invitee + whose role was changed. + """ + + __slots__ = [ + '_previous_access_level_value', + '_previous_access_level_present', + '_new_access_level_value', + '_new_access_level_present', + '_invitee_value', + '_invitee_present', + ] + + _has_required_fields = True + + def __init__(self, + new_access_level=None, + invitee=None, + previous_access_level=None): + self._previous_access_level_value = None + self._previous_access_level_present = False + self._new_access_level_value = None + self._new_access_level_present = False + self._invitee_value = None + self._invitee_present = False + if previous_access_level is not None: + self.previous_access_level = previous_access_level + if new_access_level is not None: + self.new_access_level = new_access_level + if invitee is not None: + self.invitee = invitee + + @property + def previous_access_level(self): + """ + Previous access level. Might be missing due to historical data gap. + + :rtype: sharing.AccessLevel + """ + if self._previous_access_level_present: + return self._previous_access_level_value + else: + return None + + @previous_access_level.setter + def previous_access_level(self, val): + if val is None: + del self.previous_access_level + return + self._previous_access_level_validator.validate_type_only(val) + self._previous_access_level_value = val + self._previous_access_level_present = True + + @previous_access_level.deleter + def previous_access_level(self): + self._previous_access_level_value = None + self._previous_access_level_present = False + + @property + def new_access_level(self): + """ + New access level. + + :rtype: sharing.AccessLevel + """ + if self._new_access_level_present: + return self._new_access_level_value + else: + raise AttributeError("missing required field 'new_access_level'") + + @new_access_level.setter + def new_access_level(self, val): + self._new_access_level_validator.validate_type_only(val) + self._new_access_level_value = val + self._new_access_level_present = True + + @new_access_level.deleter + def new_access_level(self): + self._new_access_level_value = None + self._new_access_level_present = False + + @property + def invitee(self): + """ + The invitee whose role was changed. + + :rtype: str + """ + if self._invitee_present: + return self._invitee_value + else: + raise AttributeError("missing required field 'invitee'") + + @invitee.setter + def invitee(self, val): + val = self._invitee_validator.validate(val) + self._invitee_value = val + self._invitee_present = True + + @invitee.deleter + def invitee(self): + self._invitee_value = None + self._invitee_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeInviteeRoleDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentChangeInviteeRoleDetails(new_access_level={!r}, invitee={!r}, previous_access_level={!r})'.format( + self._new_access_level_value, + self._invitee_value, + self._previous_access_level_value, ) SharedContentChangeInviteeRoleDetails_validator = bv.Struct(SharedContentChangeInviteeRoleDetails) -class SharedContentChangeLinkAudienceDetails(object): - """ - Changed the audience of the link for a shared file or folder. +class SharedContentChangeInviteeRoleType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeInviteeRoleType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentChangeInviteeRoleType(description={!r})'.format( + self._description_value, + ) + +SharedContentChangeInviteeRoleType_validator = bv.Struct(SharedContentChangeInviteeRoleType) + +class SharedContentChangeLinkAudienceDetails(bb.Struct): + """ + Changed link audience of shared file/folder. + + :ivar team_log.SharedContentChangeLinkAudienceDetails.new_value: New link + audience value. + :ivar team_log.SharedContentChangeLinkAudienceDetails.previous_value: + Previous link audience value. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', @@ -28920,113 +53899,23 @@ class SharedContentChangeLinkAudienceDetails(object): _has_required_fields = True def __init__(self, - target_asset_index=None, new_value=None, - original_folder_name=None, - shared_folder_type=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + :rtype: sharing.LinkAudience """ if self._new_value_present: return self._new_value_value @@ -29047,10 +53936,9 @@ class SharedContentChangeLinkAudienceDetails(object): @property def previous_value(self): """ - Previous link audience value. Might be missing due to historical data - gap. + Previous link audience value. - :rtype: LinkAudience + :rtype: sharing.LinkAudience """ if self._previous_value_present: return self._previous_value_value @@ -29071,542 +53959,426 @@ class SharedContentChangeLinkAudienceDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeLinkAudienceDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedContentChangeLinkAudienceDetails(target_asset_index={!r}, new_value={!r}, original_folder_name={!r}, shared_folder_type={!r}, previous_value={!r})'.format( - self._target_asset_index_value, + return 'SharedContentChangeLinkAudienceDetails(new_value={!r}, previous_value={!r})'.format( 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_asset_index: Target asset position in the Assets list. - :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. - """ +class SharedContentChangeLinkAudienceType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - expiration_start_date=None, - expiration_days=None, - original_folder_name=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeLinkAudienceType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentChangeLinkExpiryDetails(target_asset_index={!r}, expiration_start_date={!r}, expiration_days={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._expiration_start_date_value, - self._expiration_days_value, - self._original_folder_name_value, - self._shared_folder_type_value, + return 'SharedContentChangeLinkAudienceType(description={!r})'.format( + self._description_value, + ) + +SharedContentChangeLinkAudienceType_validator = bv.Struct(SharedContentChangeLinkAudienceType) + +class SharedContentChangeLinkExpiryDetails(bb.Struct): + """ + Changed link expiration of shared file/folder. + + :ivar team_log.SharedContentChangeLinkExpiryDetails.new_value: New shared + content link expiration date. Might be missing due to historical data + gap. + :ivar team_log.SharedContentChangeLinkExpiryDetails.previous_value: Previous + shared content link expiration date. 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 shared content link expiration date. Might be missing due to + historical data gap. + + :rtype: datetime.datetime + """ + 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 shared content link expiration date. Might be missing due to + historical data gap. + + :rtype: datetime.datetime + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeLinkExpiryDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentChangeLinkExpiryDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, ) SharedContentChangeLinkExpiryDetails_validator = bv.Struct(SharedContentChangeLinkExpiryDetails) -class SharedContentChangeLinkPasswordDetails(object): - """ - Changed the password on the link for the shared file or folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar shared_folder_type: Shared folder type. Might be missing due to - historical data gap. - """ +class SharedContentChangeLinkExpiryType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_shared_folder_type_value', - '_shared_folder_type_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeLinkExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentChangeLinkPasswordDetails(target_asset_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._shared_folder_type_value, + return 'SharedContentChangeLinkExpiryType(description={!r})'.format( + self._description_value, ) +SharedContentChangeLinkExpiryType_validator = bv.Struct(SharedContentChangeLinkExpiryType) + +class SharedContentChangeLinkPasswordDetails(bb.Struct): + """ + Changed link password of shared file/folder. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeLinkPasswordDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentChangeLinkPasswordDetails()' + SharedContentChangeLinkPasswordDetails_validator = bv.Struct(SharedContentChangeLinkPasswordDetails) -class SharedContentChangeMemberRoleDetails(object): - """ - Changed the access type of a shared file or folder member. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar new_sharing_permission: New 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. - :ivar shared_folder_type: Shared folder type. Might be missing due to - historical data gap. - """ +class SharedContentChangeLinkPasswordType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_new_sharing_permission_value', - '_new_sharing_permission_present', - '_previous_sharing_permission_value', - '_previous_sharing_permission_present', - '_shared_folder_type_value', - '_shared_folder_type_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - new_sharing_permission=None, - previous_sharing_permission=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - self._new_sharing_permission_value = None - self._new_sharing_permission_present = False - self._previous_sharing_permission_value = None - self._previous_sharing_permission_present = False - self._shared_folder_type_value = None - self._shared_folder_type_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name - if new_sharing_permission is not None: - self.new_sharing_permission = new_sharing_permission - if previous_sharing_permission is not None: - self.previous_sharing_permission = previous_sharing_permission - if shared_folder_type is not None: - self.shared_folder_type = shared_folder_type + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False - @property - def new_sharing_permission(self): - """ - New sharing permission. Might be missing due to historical data gap. - - :rtype: str - """ - if self._new_sharing_permission_present: - return self._new_sharing_permission_value - else: - return None - - @new_sharing_permission.setter - def new_sharing_permission(self, val): - if val is None: - del self.new_sharing_permission - return - val = self._new_sharing_permission_validator.validate(val) - self._new_sharing_permission_value = val - self._new_sharing_permission_present = True - - @new_sharing_permission.deleter - def new_sharing_permission(self): - self._new_sharing_permission_value = None - self._new_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 - - @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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeLinkPasswordType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentChangeMemberRoleDetails(target_asset_index={!r}, original_folder_name={!r}, new_sharing_permission={!r}, previous_sharing_permission={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._new_sharing_permission_value, - self._previous_sharing_permission_value, - self._shared_folder_type_value, + return 'SharedContentChangeLinkPasswordType(description={!r})'.format( + self._description_value, + ) + +SharedContentChangeLinkPasswordType_validator = bv.Struct(SharedContentChangeLinkPasswordType) + +class SharedContentChangeMemberRoleDetails(bb.Struct): + """ + Changed access type of shared file/folder member. + + :ivar team_log.SharedContentChangeMemberRoleDetails.previous_access_level: + Previous access level. Might be missing due to historical data gap. + :ivar team_log.SharedContentChangeMemberRoleDetails.new_access_level: New + access level. + """ + + __slots__ = [ + '_previous_access_level_value', + '_previous_access_level_present', + '_new_access_level_value', + '_new_access_level_present', + ] + + _has_required_fields = True + + def __init__(self, + new_access_level=None, + previous_access_level=None): + self._previous_access_level_value = None + self._previous_access_level_present = False + self._new_access_level_value = None + self._new_access_level_present = False + if previous_access_level is not None: + self.previous_access_level = previous_access_level + if new_access_level is not None: + self.new_access_level = new_access_level + + @property + def previous_access_level(self): + """ + Previous access level. Might be missing due to historical data gap. + + :rtype: sharing.AccessLevel + """ + if self._previous_access_level_present: + return self._previous_access_level_value + else: + return None + + @previous_access_level.setter + def previous_access_level(self, val): + if val is None: + del self.previous_access_level + return + self._previous_access_level_validator.validate_type_only(val) + self._previous_access_level_value = val + self._previous_access_level_present = True + + @previous_access_level.deleter + def previous_access_level(self): + self._previous_access_level_value = None + self._previous_access_level_present = False + + @property + def new_access_level(self): + """ + New access level. + + :rtype: sharing.AccessLevel + """ + if self._new_access_level_present: + return self._new_access_level_value + else: + raise AttributeError("missing required field 'new_access_level'") + + @new_access_level.setter + def new_access_level(self, val): + self._new_access_level_validator.validate_type_only(val) + self._new_access_level_value = val + self._new_access_level_present = True + + @new_access_level.deleter + def new_access_level(self): + self._new_access_level_value = None + self._new_access_level_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeMemberRoleDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentChangeMemberRoleDetails(new_access_level={!r}, previous_access_level={!r})'.format( + self._new_access_level_value, + self._previous_access_level_value, ) SharedContentChangeMemberRoleDetails_validator = bv.Struct(SharedContentChangeMemberRoleDetails) -class SharedContentChangeViewerInfoPolicyDetails(object): - """ - Changed whether members can see who viewed the shared file or folder. +class SharedContentChangeMemberRoleType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeMemberRoleType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentChangeMemberRoleType(description={!r})'.format( + self._description_value, + ) + +SharedContentChangeMemberRoleType_validator = bv.Struct(SharedContentChangeMemberRoleType) + +class SharedContentChangeViewerInfoPolicyDetails(bb.Struct): + """ + Changed whether members can see who viewed shared file/folder. + + :ivar team_log.SharedContentChangeViewerInfoPolicyDetails.new_value: New + viewer info policy. + :ivar team_log.SharedContentChangeViewerInfoPolicyDetails.previous_value: + Previous view info policy. Might be missing due to historical data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', @@ -29616,113 +54388,23 @@ class SharedContentChangeViewerInfoPolicyDetails(object): _has_required_fields = True def __init__(self, - target_asset_index=None, new_value=None, - original_folder_name=None, - shared_folder_type=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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: SharedContentViewerInfoPolicy + :rtype: sharing.ViewerInfoPolicy """ if self._new_value_present: return self._new_value_value @@ -29745,7 +54427,7 @@ class SharedContentChangeViewerInfoPolicyDetails(object): """ Previous view info policy. Might be missing due to historical data gap. - :rtype: SharedContentViewerInfoPolicy + :rtype: sharing.ViewerInfoPolicy """ if self._previous_value_present: return self._previous_value_value @@ -29766,102 +54448,85 @@ class SharedContentChangeViewerInfoPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeViewerInfoPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedContentChangeViewerInfoPolicyDetails(target_asset_index={!r}, new_value={!r}, original_folder_name={!r}, shared_folder_type={!r}, previous_value={!r})'.format( - self._target_asset_index_value, + return 'SharedContentChangeViewerInfoPolicyDetails(new_value={!r}, previous_value={!r})'.format( 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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar shared_content_link: Shared content link. - """ +class SharedContentChangeViewerInfoPolicyType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_shared_content_link_value', - '_shared_content_link_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - shared_content_link=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentChangeViewerInfoPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentChangeViewerInfoPolicyType(description={!r})'.format( + self._description_value, + ) + +SharedContentChangeViewerInfoPolicyType_validator = bv.Struct(SharedContentChangeViewerInfoPolicyType) + +class SharedContentClaimInvitationDetails(bb.Struct): + """ + Acquired membership of shared file/folder by accepting invite. + + :ivar team_log.SharedContentClaimInvitationDetails.shared_content_link: + Shared content link. + """ + + __slots__ = [ + '_shared_content_link_value', + '_shared_content_link_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_content_link=None): + self._shared_content_link_value = None + self._shared_content_link_present = False + if shared_content_link is not None: + self.shared_content_link = shared_content_link @property def shared_content_link(self): @@ -29889,61 +54554,111 @@ class SharedContentClaimInvitationDetails(object): self._shared_content_link_value = None self._shared_content_link_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentClaimInvitationDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedContentClaimInvitationDetails(target_asset_index={!r}, original_folder_name={!r}, shared_content_link={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, + return 'SharedContentClaimInvitationDetails(shared_content_link={!r})'.format( self._shared_content_link_value, ) SharedContentClaimInvitationDetails_validator = bv.Struct(SharedContentClaimInvitationDetails) -class SharedContentCopyDetails(object): - """ - Copied the shared file or folder to own Dropbox. +class SharedContentClaimInvitationType(bb.Struct): - :ivar shared_content_link: Shared content link. - :ivar sharing_permission: Sharing permission. Might be missing due to - historical data gap. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar relocate_action_details: Specifies the source and destination indices - in the assets list. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentClaimInvitationType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentClaimInvitationType(description={!r})'.format( + self._description_value, + ) + +SharedContentClaimInvitationType_validator = bv.Struct(SharedContentClaimInvitationType) + +class SharedContentCopyDetails(bb.Struct): + """ + Copied shared file/folder to own Dropbox. + + :ivar team_log.SharedContentCopyDetails.shared_content_link: Shared content + link. + :ivar team_log.SharedContentCopyDetails.shared_content_owner: The shared + content owner. + :ivar team_log.SharedContentCopyDetails.shared_content_access_level: Shared + content access level. + :ivar team_log.SharedContentCopyDetails.destination_path: The path where the + member saved the content. """ __slots__ = [ '_shared_content_link_value', '_shared_content_link_present', - '_sharing_permission_value', - '_sharing_permission_present', - '_target_asset_index_value', - '_target_asset_index_present', - '_relocate_action_details_value', - '_relocate_action_details_present', + '_shared_content_owner_value', + '_shared_content_owner_present', + '_shared_content_access_level_value', + '_shared_content_access_level_present', + '_destination_path_value', + '_destination_path_present', ] _has_required_fields = True def __init__(self, shared_content_link=None, - target_asset_index=None, - relocate_action_details=None, - sharing_permission=None): + shared_content_access_level=None, + destination_path=None, + shared_content_owner=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_asset_index_value = None - self._target_asset_index_present = False - self._relocate_action_details_value = None - self._relocate_action_details_present = False + self._shared_content_owner_value = None + self._shared_content_owner_present = False + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + self._destination_path_value = None + self._destination_path_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_asset_index is not None: - self.target_asset_index = target_asset_index - if relocate_action_details is not None: - self.relocate_action_details = relocate_action_details + if shared_content_owner is not None: + self.shared_content_owner = shared_content_owner + if shared_content_access_level is not None: + self.shared_content_access_level = shared_content_access_level + if destination_path is not None: + self.destination_path = destination_path @property def shared_content_link(self): @@ -29969,124 +54684,176 @@ class SharedContentCopyDetails(object): self._shared_content_link_present = False @property - def sharing_permission(self): + def shared_content_owner(self): """ - Sharing permission. Might be missing due to historical data gap. + The shared content owner. - :rtype: str + :rtype: UserLogInfo """ - if self._sharing_permission_present: - return self._sharing_permission_value + if self._shared_content_owner_present: + return self._shared_content_owner_value else: return None - @sharing_permission.setter - def sharing_permission(self, val): + @shared_content_owner.setter + def shared_content_owner(self, val): if val is None: - del self.sharing_permission + del self.shared_content_owner return - val = self._sharing_permission_validator.validate(val) - self._sharing_permission_value = val - self._sharing_permission_present = True + self._shared_content_owner_validator.validate_type_only(val) + self._shared_content_owner_value = val + self._shared_content_owner_present = True - @sharing_permission.deleter - def sharing_permission(self): - self._sharing_permission_value = None - self._sharing_permission_present = False + @shared_content_owner.deleter + def shared_content_owner(self): + self._shared_content_owner_value = None + self._shared_content_owner_present = False @property - def target_asset_index(self): + def shared_content_access_level(self): """ - Target asset position in the Assets list. + Shared content access level. - :rtype: long + :rtype: sharing.AccessLevel """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._shared_content_access_level_present: + return self._shared_content_access_level_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'shared_content_access_level'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @shared_content_access_level.setter + def shared_content_access_level(self, val): + self._shared_content_access_level_validator.validate_type_only(val) + self._shared_content_access_level_value = val + self._shared_content_access_level_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @shared_content_access_level.deleter + def shared_content_access_level(self): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False @property - def relocate_action_details(self): + def destination_path(self): """ - Specifies the source and destination indices in the assets list. + The path where the member saved the content. - :rtype: RelocateAssetReferencesLogInfo + :rtype: str """ - if self._relocate_action_details_present: - return self._relocate_action_details_value + if self._destination_path_present: + return self._destination_path_value else: - raise AttributeError("missing required field 'relocate_action_details'") + raise AttributeError("missing required field 'destination_path'") - @relocate_action_details.setter - def relocate_action_details(self, val): - self._relocate_action_details_validator.validate_type_only(val) - self._relocate_action_details_value = val - self._relocate_action_details_present = True + @destination_path.setter + def destination_path(self, val): + val = self._destination_path_validator.validate(val) + self._destination_path_value = val + self._destination_path_present = True - @relocate_action_details.deleter - def relocate_action_details(self): - self._relocate_action_details_value = None - self._relocate_action_details_present = False + @destination_path.deleter + def destination_path(self): + self._destination_path_value = None + self._destination_path_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentCopyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentCopyDetails(shared_content_link={!r}, target_asset_index={!r}, relocate_action_details={!r}, sharing_permission={!r})'.format( + return 'SharedContentCopyDetails(shared_content_link={!r}, shared_content_access_level={!r}, destination_path={!r}, shared_content_owner={!r})'.format( self._shared_content_link_value, - self._target_asset_index_value, - self._relocate_action_details_value, - self._sharing_permission_value, + self._shared_content_access_level_value, + self._destination_path_value, + self._shared_content_owner_value, ) SharedContentCopyDetails_validator = bv.Struct(SharedContentCopyDetails) -class SharedContentDownloadDetails(object): - """ - Downloaded the shared file or folder. +class SharedContentCopyType(bb.Struct): - :ivar shared_content_link: Shared content link. - :ivar sharing_permission: Sharing permission. Might be missing due to - historical data gap. - :ivar target_asset_index: Target asset position in the Assets list. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentCopyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentCopyType(description={!r})'.format( + self._description_value, + ) + +SharedContentCopyType_validator = bv.Struct(SharedContentCopyType) + +class SharedContentDownloadDetails(bb.Struct): + """ + Downloaded shared file/folder. + + :ivar team_log.SharedContentDownloadDetails.shared_content_link: Shared + content link. + :ivar team_log.SharedContentDownloadDetails.shared_content_owner: The shared + content owner. + :ivar team_log.SharedContentDownloadDetails.shared_content_access_level: + Shared content access level. """ __slots__ = [ '_shared_content_link_value', '_shared_content_link_present', - '_sharing_permission_value', - '_sharing_permission_present', - '_target_asset_index_value', - '_target_asset_index_present', + '_shared_content_owner_value', + '_shared_content_owner_present', + '_shared_content_access_level_value', + '_shared_content_access_level_present', ] _has_required_fields = True def __init__(self, shared_content_link=None, - target_asset_index=None, - sharing_permission=None): + shared_content_access_level=None, + shared_content_owner=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_asset_index_value = None - self._target_asset_index_present = False + self._shared_content_owner_value = None + self._shared_content_owner_present = False + self._shared_content_access_level_value = None + self._shared_content_access_level_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_asset_index is not None: - self.target_asset_index = target_asset_index + if shared_content_owner is not None: + self.shared_content_owner = shared_content_owner + if shared_content_access_level is not None: + self.shared_content_access_level = shared_content_access_level @property def shared_content_link(self): @@ -30112,1173 +54879,313 @@ class SharedContentDownloadDetails(object): self._shared_content_link_present = False @property - def sharing_permission(self): + def shared_content_owner(self): """ - Sharing permission. Might be missing due to historical data gap. + The shared content owner. - :rtype: str + :rtype: UserLogInfo """ - if self._sharing_permission_present: - return self._sharing_permission_value + if self._shared_content_owner_present: + return self._shared_content_owner_value else: return None - @sharing_permission.setter - def sharing_permission(self, val): + @shared_content_owner.setter + def shared_content_owner(self, val): if val is None: - del self.sharing_permission + del self.shared_content_owner return - val = self._sharing_permission_validator.validate(val) - self._sharing_permission_value = val - self._sharing_permission_present = True + self._shared_content_owner_validator.validate_type_only(val) + self._shared_content_owner_value = val + self._shared_content_owner_present = True - @sharing_permission.deleter - def sharing_permission(self): - self._sharing_permission_value = None - self._sharing_permission_present = False + @shared_content_owner.deleter + def shared_content_owner(self): + self._shared_content_owner_value = None + self._shared_content_owner_present = False @property - def target_asset_index(self): + def shared_content_access_level(self): """ - Target asset position in the Assets list. + Shared content access level. - :rtype: long + :rtype: sharing.AccessLevel """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._shared_content_access_level_present: + return self._shared_content_access_level_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'shared_content_access_level'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @shared_content_access_level.setter + def shared_content_access_level(self, val): + self._shared_content_access_level_validator.validate_type_only(val) + self._shared_content_access_level_value = val + self._shared_content_access_level_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @shared_content_access_level.deleter + def shared_content_access_level(self): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentDownloadDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentDownloadDetails(shared_content_link={!r}, target_asset_index={!r}, sharing_permission={!r})'.format( + return 'SharedContentDownloadDetails(shared_content_link={!r}, shared_content_access_level={!r}, shared_content_owner={!r})'.format( self._shared_content_link_value, - self._target_asset_index_value, - self._sharing_permission_value, + self._shared_content_access_level_value, + self._shared_content_owner_value, ) SharedContentDownloadDetails_validator = bv.Struct(SharedContentDownloadDetails) -class SharedContentDownloadsPolicy(bb.Union): - """ - Shared content downloads policy - - 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 'SharedContentDownloadsPolicy(%r, %r)' % (self._tag, self._value) - -SharedContentDownloadsPolicy_validator = bv.Union(SharedContentDownloadsPolicy) - -class SharedContentRelinquishMembershipDetails(object): - """ - Left the membership of a shared file or folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ +class SharedContentDownloadType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'original_folder_name'") + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentDownloadType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentRelinquishMembershipDetails(target_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, + return 'SharedContentDownloadType(description={!r})'.format( + self._description_value, ) +SharedContentDownloadType_validator = bv.Struct(SharedContentDownloadType) + +class SharedContentRelinquishMembershipDetails(bb.Struct): + """ + Left shared file/folder. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRelinquishMembershipDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRelinquishMembershipDetails()' + 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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ +class SharedContentRelinquishMembershipType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'original_folder_name'") + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRelinquishMembershipType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentRemoveInviteeDetails(target_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, + return 'SharedContentRelinquishMembershipType(description={!r})'.format( + self._description_value, ) -SharedContentRemoveInviteeDetails_validator = bv.Struct(SharedContentRemoveInviteeDetails) +SharedContentRelinquishMembershipType_validator = bv.Struct(SharedContentRelinquishMembershipType) -class SharedContentRemoveLinkExpiryDetails(object): +class SharedContentRemoveInviteesDetails(bb.Struct): """ - Removed the expiry of the link for the shared file or folder. + Removed invitee from shared file/folder before invite was accepted. - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar shared_folder_type: Shared folder type. Might be missing due to - historical data gap. + :ivar team_log.SharedContentRemoveInviteesDetails.invitees: A list of + invitees. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_shared_folder_type_value', - '_shared_folder_type_present', + '_invitees_value', + '_invitees_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + invitees=None): + self._invitees_value = None + self._invitees_present = False + if invitees is not None: + self.invitees = invitees @property - def target_asset_index(self): + def invitees(self): """ - Target asset position in the Assets list. + A list of invitees. - :rtype: long + :rtype: list of [str] """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._invitees_present: + return self._invitees_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'invitees'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @invitees.setter + def invitees(self, val): + val = self._invitees_validator.validate(val) + self._invitees_value = val + self._invitees_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @invitees.deleter + def invitees(self): + self._invitees_value = None + self._invitees_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveInviteesDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentRemoveLinkExpiryDetails(target_asset_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._shared_folder_type_value, + return 'SharedContentRemoveInviteesDetails(invitees={!r})'.format( + self._invitees_value, ) -SharedContentRemoveLinkExpiryDetails_validator = bv.Struct(SharedContentRemoveLinkExpiryDetails) +SharedContentRemoveInviteesDetails_validator = bv.Struct(SharedContentRemoveInviteesDetails) -class SharedContentRemoveLinkPasswordDetails(object): - """ - Removed the password on the link for the shared file or folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar shared_folder_type: Shared folder type. Might be missing due to - historical data gap. - """ +class SharedContentRemoveInviteesType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - '_shared_folder_type_value', - '_shared_folder_type_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - return None + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveInviteesType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedContentRemoveLinkPasswordDetails(target_asset_index={!r}, original_folder_name={!r}, shared_folder_type={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._shared_folder_type_value, + return 'SharedContentRemoveInviteesType(description={!r})'.format( + self._description_value, ) -SharedContentRemoveLinkPasswordDetails_validator = bv.Struct(SharedContentRemoveLinkPasswordDetails) +SharedContentRemoveInviteesType_validator = bv.Struct(SharedContentRemoveInviteesType) -class SharedContentRemoveMemberDetails(object): +class SharedContentRemoveLinkExpiryDetails(bb.Struct): """ - Removed a user or a group from the membership of a shared file or folder. + Removed link expiration date of shared file/folder. - :ivar target_asset_index: Target asset position in the Assets list. - :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 team_log.SharedContentRemoveLinkExpiryDetails.previous_value: Previous + shared content link expiration date. Might be missing due to historical + data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_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_asset_index=None, - original_folder_name=None, - sharing_permission=None, - shared_folder_type=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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_asset_index={!r}, original_folder_name={!r}, sharing_permission={!r}, shared_folder_type={!r})'.format( - self._target_asset_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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - :ivar shared_content_link: Shared content link. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_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_asset_index=None, - original_folder_name=None, - shared_content_link=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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_asset_index={!r}, original_folder_name={!r}, shared_content_link={!r})'.format( - self._target_asset_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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - ] - - _has_required_fields = True - - def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name - - @property - def target_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_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_asset_index: Target asset position in the Assets list. - """ - - __slots__ = [ - '_shared_content_link_value', - '_shared_content_link_present', - '_sharing_permission_value', - '_sharing_permission_present', - '_target_asset_index_value', - '_target_asset_index_present', - ] - - _has_required_fields = True - - def __init__(self, - shared_content_link=None, - target_asset_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_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False - - def __repr__(self): - return 'SharedContentViewDetails(shared_content_link={!r}, target_asset_index={!r}, sharing_permission={!r})'.format( - self._shared_content_link_value, - self._target_asset_index_value, - self._sharing_permission_value, - ) - -SharedContentViewDetails_validator = bv.Struct(SharedContentViewDetails) - -class SharedContentViewerInfoPolicy(bb.Union): - """ - Shared content viewer info policy - - 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 'SharedContentViewerInfoPolicy(%r, %r)' % (self._tag, self._value) - -SharedContentViewerInfoPolicy_validator = bv.Union(SharedContentViewerInfoPolicy) - -class SharedFolderChangeConfidentialityDetails(object): - """ - Set or unset the confidential flag on a shared folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :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_asset_index_value', - '_target_asset_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 + _has_required_fields = False def __init__(self, - target_asset_index=None, - original_folder_name=None, - new_value=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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. + Previous shared content link expiration date. Might be missing due to + historical data gap. - :rtype: Confidentiality + :rtype: datetime.datetime """ if self._previous_value_present: return self._previous_value_value @@ -31290,7 +55197,7 @@ class SharedFolderChangeConfidentialityDetails(object): if val is None: del self.previous_value return - self._previous_value_validator.validate_type_only(val) + val = self._previous_value_validator.validate(val) self._previous_value_value = val self._previous_value_present = True @@ -31299,36 +55206,591 @@ class SharedFolderChangeConfidentialityDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveLinkExpiryDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedFolderChangeConfidentialityDetails(target_asset_index={!r}, original_folder_name={!r}, new_value={!r}, previous_value={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - self._new_value_value, + return 'SharedContentRemoveLinkExpiryDetails(previous_value={!r})'.format( self._previous_value_value, ) -SharedFolderChangeConfidentialityDetails_validator = bv.Struct(SharedFolderChangeConfidentialityDetails) +SharedContentRemoveLinkExpiryDetails_validator = bv.Struct(SharedContentRemoveLinkExpiryDetails) -class SharedFolderChangeLinkPolicyDetails(object): +class SharedContentRemoveLinkExpiryType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveLinkExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRemoveLinkExpiryType(description={!r})'.format( + self._description_value, + ) + +SharedContentRemoveLinkExpiryType_validator = bv.Struct(SharedContentRemoveLinkExpiryType) + +class SharedContentRemoveLinkPasswordDetails(bb.Struct): """ - Changed who can access the shared folder via a link. - - :ivar target_asset_index: Target asset position in the Assets list. - :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. + Removed link password of shared file/folder. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveLinkPasswordDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRemoveLinkPasswordDetails()' + +SharedContentRemoveLinkPasswordDetails_validator = bv.Struct(SharedContentRemoveLinkPasswordDetails) + +class SharedContentRemoveLinkPasswordType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveLinkPasswordType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRemoveLinkPasswordType(description={!r})'.format( + self._description_value, + ) + +SharedContentRemoveLinkPasswordType_validator = bv.Struct(SharedContentRemoveLinkPasswordType) + +class SharedContentRemoveMemberDetails(bb.Struct): + """ + Removed user/group from shared file/folder. + + :ivar team_log.SharedContentRemoveMemberDetails.shared_content_access_level: + Shared content access level. + """ + + __slots__ = [ + '_shared_content_access_level_value', + '_shared_content_access_level_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_content_access_level=None): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + if shared_content_access_level is not None: + self.shared_content_access_level = shared_content_access_level + + @property + def shared_content_access_level(self): + """ + Shared content access level. + + :rtype: sharing.AccessLevel + """ + if self._shared_content_access_level_present: + return self._shared_content_access_level_value + else: + return None + + @shared_content_access_level.setter + def shared_content_access_level(self, val): + if val is None: + del self.shared_content_access_level + return + self._shared_content_access_level_validator.validate_type_only(val) + self._shared_content_access_level_value = val + self._shared_content_access_level_present = True + + @shared_content_access_level.deleter + def shared_content_access_level(self): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRemoveMemberDetails(shared_content_access_level={!r})'.format( + self._shared_content_access_level_value, + ) + +SharedContentRemoveMemberDetails_validator = bv.Struct(SharedContentRemoveMemberDetails) + +class SharedContentRemoveMemberType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRemoveMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRemoveMemberType(description={!r})'.format( + self._description_value, + ) + +SharedContentRemoveMemberType_validator = bv.Struct(SharedContentRemoveMemberType) + +class SharedContentRequestAccessDetails(bb.Struct): + """ + Requested access to shared file/folder. + + :ivar team_log.SharedContentRequestAccessDetails.shared_content_link: Shared + content link. + """ + + __slots__ = [ + '_shared_content_link_value', + '_shared_content_link_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_content_link=None): + self._shared_content_link_value = None + self._shared_content_link_present = False + if shared_content_link is not None: + self.shared_content_link = shared_content_link + + @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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRequestAccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRequestAccessDetails(shared_content_link={!r})'.format( + self._shared_content_link_value, + ) + +SharedContentRequestAccessDetails_validator = bv.Struct(SharedContentRequestAccessDetails) + +class SharedContentRequestAccessType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentRequestAccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentRequestAccessType(description={!r})'.format( + self._description_value, + ) + +SharedContentRequestAccessType_validator = bv.Struct(SharedContentRequestAccessType) + +class SharedContentUnshareDetails(bb.Struct): + """ + Unshared file/folder by clearing membership and turning off link. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentUnshareDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentUnshareDetails()' + +SharedContentUnshareDetails_validator = bv.Struct(SharedContentUnshareDetails) + +class SharedContentUnshareType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentUnshareType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentUnshareType(description={!r})'.format( + self._description_value, + ) + +SharedContentUnshareType_validator = bv.Struct(SharedContentUnshareType) + +class SharedContentViewDetails(bb.Struct): + """ + Previewed shared file/folder. + + :ivar team_log.SharedContentViewDetails.shared_content_link: Shared content + link. + :ivar team_log.SharedContentViewDetails.shared_content_owner: The shared + content owner. + :ivar team_log.SharedContentViewDetails.shared_content_access_level: Shared + content access level. + """ + + __slots__ = [ + '_shared_content_link_value', + '_shared_content_link_present', + '_shared_content_owner_value', + '_shared_content_owner_present', + '_shared_content_access_level_value', + '_shared_content_access_level_present', + ] + + _has_required_fields = True + + def __init__(self, + shared_content_link=None, + shared_content_access_level=None, + shared_content_owner=None): + self._shared_content_link_value = None + self._shared_content_link_present = False + self._shared_content_owner_value = None + self._shared_content_owner_present = False + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + if shared_content_link is not None: + self.shared_content_link = shared_content_link + if shared_content_owner is not None: + self.shared_content_owner = shared_content_owner + if shared_content_access_level is not None: + self.shared_content_access_level = shared_content_access_level + + @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 shared_content_owner(self): + """ + The shared content owner. + + :rtype: UserLogInfo + """ + if self._shared_content_owner_present: + return self._shared_content_owner_value + else: + return None + + @shared_content_owner.setter + def shared_content_owner(self, val): + if val is None: + del self.shared_content_owner + return + self._shared_content_owner_validator.validate_type_only(val) + self._shared_content_owner_value = val + self._shared_content_owner_present = True + + @shared_content_owner.deleter + def shared_content_owner(self): + self._shared_content_owner_value = None + self._shared_content_owner_present = False + + @property + def shared_content_access_level(self): + """ + Shared content access level. + + :rtype: sharing.AccessLevel + """ + if self._shared_content_access_level_present: + return self._shared_content_access_level_value + else: + raise AttributeError("missing required field 'shared_content_access_level'") + + @shared_content_access_level.setter + def shared_content_access_level(self, val): + self._shared_content_access_level_validator.validate_type_only(val) + self._shared_content_access_level_value = val + self._shared_content_access_level_present = True + + @shared_content_access_level.deleter + def shared_content_access_level(self): + self._shared_content_access_level_value = None + self._shared_content_access_level_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentViewDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentViewDetails(shared_content_link={!r}, shared_content_access_level={!r}, shared_content_owner={!r})'.format( + self._shared_content_link_value, + self._shared_content_access_level_value, + self._shared_content_owner_value, + ) + +SharedContentViewDetails_validator = bv.Struct(SharedContentViewDetails) + +class SharedContentViewType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedContentViewType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedContentViewType(description={!r})'.format( + self._description_value, + ) + +SharedContentViewType_validator = bv.Struct(SharedContentViewType) + +class SharedFolderChangeLinkPolicyDetails(bb.Struct): + """ + Changed who can access shared folder via link. + + :ivar team_log.SharedFolderChangeLinkPolicyDetails.new_value: New shared + folder link policy. + :ivar team_log.SharedFolderChangeLinkPolicyDetails.previous_value: Previous + shared folder link policy. Might be missing due to historical data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', @@ -31338,110 +55800,23 @@ class SharedFolderChangeLinkPolicyDetails(object): _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, new_value=None, - shared_folder_type=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + :rtype: sharing.SharedLinkPolicy """ if self._new_value_present: return self._new_value_value @@ -31465,7 +55840,7 @@ class SharedFolderChangeLinkPolicyDetails(object): Previous shared folder link policy. Might be missing due to historical data gap. - :rtype: SharedFolderLinkPolicy + :rtype: sharing.SharedLinkPolicy """ if self._previous_value_present: return self._previous_value_value @@ -31486,37 +55861,77 @@ class SharedFolderChangeLinkPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeLinkPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedFolderChangeLinkPolicyDetails(target_asset_index={!r}, original_folder_name={!r}, new_value={!r}, shared_folder_type={!r}, previous_value={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, + return 'SharedFolderChangeLinkPolicyDetails(new_value={!r}, previous_value={!r})'.format( 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. +class SharedFolderChangeLinkPolicyType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeLinkPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderChangeLinkPolicyType(description={!r})'.format( + self._description_value, + ) + +SharedFolderChangeLinkPolicyType_validator = bv.Struct(SharedFolderChangeLinkPolicyType) + +class SharedFolderChangeMembersInheritancePolicyDetails(bb.Struct): + """ + Changed whether shared folder inherits members from parent folder. + + :ivar team_log.SharedFolderChangeMembersInheritancePolicyDetails.new_value: + New member inheritance policy. + :ivar + team_log.SharedFolderChangeMembersInheritancePolicyDetails.previous_value: + Previous member inheritance policy. Might be missing due to historical + data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', @@ -31526,110 +55941,23 @@ class SharedFolderChangeMemberManagementPolicyDetails(object): _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, new_value=None, - shared_folder_type=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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. + New member inheritance policy. - :rtype: SharedFolderMembershipManagementPolicy + :rtype: SharedFolderMembersInheritancePolicy """ if self._new_value_present: return self._new_value_value @@ -31650,10 +55978,10 @@ class SharedFolderChangeMemberManagementPolicyDetails(object): @property def previous_value(self): """ - Previous membership management policy. Might be missing due to - historical data gap. + Previous member inheritance policy. Might be missing due to historical + data gap. - :rtype: SharedFolderMembershipManagementPolicy + :rtype: SharedFolderMembersInheritancePolicy """ if self._previous_value_present: return self._previous_value_value @@ -31674,37 +56002,77 @@ class SharedFolderChangeMemberManagementPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeMembersInheritancePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedFolderChangeMemberManagementPolicyDetails(target_asset_index={!r}, original_folder_name={!r}, new_value={!r}, shared_folder_type={!r}, previous_value={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, + return 'SharedFolderChangeMembersInheritancePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, - self._shared_folder_type_value, self._previous_value_value, ) -SharedFolderChangeMemberManagementPolicyDetails_validator = bv.Struct(SharedFolderChangeMemberManagementPolicyDetails) +SharedFolderChangeMembersInheritancePolicyDetails_validator = bv.Struct(SharedFolderChangeMembersInheritancePolicyDetails) -class SharedFolderChangeMemberPolicyDetails(object): +class SharedFolderChangeMembersInheritancePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeMembersInheritancePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderChangeMembersInheritancePolicyType(description={!r})'.format( + self._description_value, + ) + +SharedFolderChangeMembersInheritancePolicyType_validator = bv.Struct(SharedFolderChangeMembersInheritancePolicyType) + +class SharedFolderChangeMembersManagementPolicyDetails(bb.Struct): """ - Changed who can become a member of the shared folder. + Changed who can add/remove members of shared folder. - :ivar target_asset_index: Target asset position in the Assets list. - :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. + :ivar team_log.SharedFolderChangeMembersManagementPolicyDetails.new_value: + New members management policy. + :ivar + team_log.SharedFolderChangeMembersManagementPolicyDetails.previous_value: + Previous members management policy. Might be missing due to historical + data gap. """ __slots__ = [ - '_target_asset_index_value', - '_target_asset_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', @@ -31714,110 +56082,163 @@ class SharedFolderChangeMemberPolicyDetails(object): _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None, new_value=None, - shared_folder_type=None, previous_value=None): - self._target_asset_index_value = None - self._target_asset_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_asset_index is not None: - self.target_asset_index = target_asset_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_asset_index(self): + def new_value(self): """ - Target asset position in the Assets list. + New members management policy. - :rtype: long + :rtype: sharing.AclUpdatePolicy """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._new_value_present: + return self._new_value_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'new_value'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @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 - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @new_value.deleter + def new_value(self): + self._new_value_value = None + self._new_value_present = False @property - def original_folder_name(self): + def previous_value(self): """ - Original shared folder name. + Previous members management policy. Might be missing due to historical + data gap. - :rtype: str + :rtype: sharing.AclUpdatePolicy """ - 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 + if self._previous_value_present: + return self._previous_value_value else: return None - @shared_folder_type.setter - def shared_folder_type(self, val): + @previous_value.setter + def previous_value(self, val): if val is None: - del self.shared_folder_type + del self.previous_value return - val = self._shared_folder_type_validator.validate(val) - self._shared_folder_type_value = val - self._shared_folder_type_present = True + self._previous_value_validator.validate_type_only(val) + self._previous_value_value = val + self._previous_value_present = True - @shared_folder_type.deleter - def shared_folder_type(self): - self._shared_folder_type_value = None - self._shared_folder_type_present = False + @previous_value.deleter + def previous_value(self): + self._previous_value_value = None + self._previous_value_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeMembersManagementPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderChangeMembersManagementPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SharedFolderChangeMembersManagementPolicyDetails_validator = bv.Struct(SharedFolderChangeMembersManagementPolicyDetails) + +class SharedFolderChangeMembersManagementPolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeMembersManagementPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderChangeMembersManagementPolicyType(description={!r})'.format( + self._description_value, + ) + +SharedFolderChangeMembersManagementPolicyType_validator = bv.Struct(SharedFolderChangeMembersManagementPolicyType) + +class SharedFolderChangeMembersPolicyDetails(bb.Struct): + """ + Changed who can become member of shared folder. + + :ivar team_log.SharedFolderChangeMembersPolicyDetails.new_value: New + external invite policy. + :ivar team_log.SharedFolderChangeMembersPolicyDetails.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: SharedFolderMemberPolicy + :rtype: sharing.MemberPolicy """ if self._new_value_present: return self._new_value_value @@ -31841,7 +56262,7 @@ class SharedFolderChangeMemberPolicyDetails(object): Previous external invite policy. Might be missing due to historical data gap. - :rtype: SharedFolderMemberPolicy + :rtype: sharing.MemberPolicy """ if self._previous_value_present: return self._previous_value_value @@ -31862,500 +56283,172 @@ class SharedFolderChangeMemberPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeMembersPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SharedFolderChangeMemberPolicyDetails(target_asset_index={!r}, original_folder_name={!r}, new_value={!r}, shared_folder_type={!r}, previous_value={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, + return 'SharedFolderChangeMembersPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, - self._shared_folder_type_value, self._previous_value_value, ) -SharedFolderChangeMemberPolicyDetails_validator = bv.Struct(SharedFolderChangeMemberPolicyDetails) +SharedFolderChangeMembersPolicyDetails_validator = bv.Struct(SharedFolderChangeMembersPolicyDetails) -class SharedFolderCreateDetails(object): - """ - Created a shared folder. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar parent_ns_id: Parent namespace ID. Might be missing due to historical - data gap. - """ +class SharedFolderChangeMembersPolicyType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_parent_ns_id_value', - '_parent_ns_id_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - parent_ns_id=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._parent_ns_id_value = None - self._parent_ns_id_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if parent_ns_id is not None: - self.parent_ns_id = parent_ns_id + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long + :rtype: str """ - if self._target_asset_index_present: - return self._target_asset_index_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'target_asset_index'") + raise AttributeError("missing required field 'description'") - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_index_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderChangeMembersPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderChangeMembersPolicyType(description={!r})'.format( + self._description_value, + ) + +SharedFolderChangeMembersPolicyType_validator = bv.Struct(SharedFolderChangeMembersPolicyType) + +class SharedFolderCreateDetails(bb.Struct): + """ + Created shared folder. + + :ivar team_log.SharedFolderCreateDetails.target_ns_id: Target namespace ID. + Might be missing due to historical data gap. + """ + + __slots__ = [ + '_target_ns_id_value', + '_target_ns_id_present', + ] + + _has_required_fields = False + + def __init__(self, + target_ns_id=None): + self._target_ns_id_value = None + self._target_ns_id_present = False + if target_ns_id is not None: + self.target_ns_id = target_ns_id @property - def parent_ns_id(self): + def target_ns_id(self): """ - Parent namespace ID. Might be missing due to historical data gap. + Target namespace ID. Might be missing due to historical data gap. :rtype: str """ - if self._parent_ns_id_present: - return self._parent_ns_id_value + if self._target_ns_id_present: + return self._target_ns_id_value else: return None - @parent_ns_id.setter - def parent_ns_id(self, val): + @target_ns_id.setter + def target_ns_id(self, val): if val is None: - del self.parent_ns_id + del self.target_ns_id return - val = self._parent_ns_id_validator.validate(val) - self._parent_ns_id_value = val - self._parent_ns_id_present = True + val = self._target_ns_id_validator.validate(val) + self._target_ns_id_value = val + self._target_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 + @target_ns_id.deleter + def target_ns_id(self): + self._target_ns_id_value = None + self._target_ns_id_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedFolderCreateDetails(target_asset_index={!r}, parent_ns_id={!r})'.format( - self._target_asset_index_value, - self._parent_ns_id_value, + return 'SharedFolderCreateDetails(target_ns_id={!r})'.format( + self._target_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 SharedFolderMemberPolicy(bb.Union): - """ - Policy for controlling who can become a member of a shared folder - - 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 'SharedFolderMemberPolicy(%r, %r)' % (self._tag, self._value) - -SharedFolderMemberPolicy_validator = bv.Union(SharedFolderMemberPolicy) - -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_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ +class SharedFolderCreateType(bb.Struct): __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def target_asset_index(self): + def description(self): """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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 + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'original_folder_name'") + raise AttributeError("missing required field 'description'") - @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 + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @original_folder_name.deleter - def original_folder_name(self): - self._original_folder_name_value = None - self._original_folder_name_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderCreateType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SharedFolderMountDetails(target_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, + return 'SharedFolderCreateType(description={!r})'.format( + self._description_value, ) -SharedFolderMountDetails_validator = bv.Struct(SharedFolderMountDetails) +SharedFolderCreateType_validator = bv.Struct(SharedFolderCreateType) -class SharedFolderTransferOwnershipDetails(object): +class SharedFolderDeclineInvitationDetails(bb.Struct): """ - Transferred the ownership of a shared folder to another member. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - ] - - _has_required_fields = True - - def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name - - @property - def target_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - ) - -SharedFolderTransferOwnershipDetails_validator = bv.Struct(SharedFolderTransferOwnershipDetails) - -class SharedFolderUnmountDetails(object): - """ - Deleted a shared folder from Dropbox. - - :ivar target_asset_index: Target asset position in the Assets list. - :ivar original_folder_name: Original shared folder name. - """ - - __slots__ = [ - '_target_asset_index_value', - '_target_asset_index_present', - '_original_folder_name_value', - '_original_folder_name_present', - ] - - _has_required_fields = True - - def __init__(self, - target_asset_index=None, - original_folder_name=None): - self._target_asset_index_value = None - self._target_asset_index_present = False - self._original_folder_name_value = None - self._original_folder_name_present = False - if target_asset_index is not None: - self.target_asset_index = target_asset_index - if original_folder_name is not None: - self.original_folder_name = original_folder_name - - @property - def target_asset_index(self): - """ - Target asset position in the Assets list. - - :rtype: long - """ - if self._target_asset_index_present: - return self._target_asset_index_value - else: - raise AttributeError("missing required field 'target_asset_index'") - - @target_asset_index.setter - def target_asset_index(self, val): - val = self._target_asset_index_validator.validate(val) - self._target_asset_index_value = val - self._target_asset_index_present = True - - @target_asset_index.deleter - def target_asset_index(self): - self._target_asset_index_value = None - self._target_asset_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_asset_index={!r}, original_folder_name={!r})'.format( - self._target_asset_index_value, - self._original_folder_name_value, - ) - -SharedFolderUnmountDetails_validator = bv.Struct(SharedFolderUnmountDetails) - -class SharedNoteOpenedDetails(object): - """ - Shared Paper document was opened. + Declined team member's invite to shared folder. """ __slots__ = [ @@ -32366,19 +56459,1949 @@ class SharedNoteOpenedDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderDeclineInvitationDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderDeclineInvitationDetails()' + +SharedFolderDeclineInvitationDetails_validator = bv.Struct(SharedFolderDeclineInvitationDetails) + +class SharedFolderDeclineInvitationType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderDeclineInvitationType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderDeclineInvitationType(description={!r})'.format( + self._description_value, + ) + +SharedFolderDeclineInvitationType_validator = bv.Struct(SharedFolderDeclineInvitationType) + +class SharedFolderMembersInheritancePolicy(bb.Union): + """ + Specifies if a shared folder inherits its members from the parent folder. + + 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 + inherit_members = None + # Attribute is overwritten below the class definition + dont_inherit_members = None + # Attribute is overwritten below the class definition + other = None + + def is_inherit_members(self): + """ + Check if the union tag is ``inherit_members``. + + :rtype: bool + """ + return self._tag == 'inherit_members' + + def is_dont_inherit_members(self): + """ + Check if the union tag is ``dont_inherit_members``. + + :rtype: bool + """ + return self._tag == 'dont_inherit_members' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMembersInheritancePolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderMembersInheritancePolicy(%r, %r)' % (self._tag, self._value) + +SharedFolderMembersInheritancePolicy_validator = bv.Union(SharedFolderMembersInheritancePolicy) + +class SharedFolderMountDetails(bb.Struct): + """ + Added shared folder to own Dropbox. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMountDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderMountDetails()' + +SharedFolderMountDetails_validator = bv.Struct(SharedFolderMountDetails) + +class SharedFolderMountType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMountType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderMountType(description={!r})'.format( + self._description_value, + ) + +SharedFolderMountType_validator = bv.Struct(SharedFolderMountType) + +class SharedFolderNestDetails(bb.Struct): + """ + Changed parent of shared folder. + + :ivar team_log.SharedFolderNestDetails.previous_parent_ns_id: Previous + parent namespace ID. Might be missing due to historical data gap. + :ivar team_log.SharedFolderNestDetails.new_parent_ns_id: New parent + namespace ID. Might be missing due to historical data gap. + :ivar team_log.SharedFolderNestDetails.previous_ns_path: Previous namespace + path. Might be missing due to historical data gap. + :ivar team_log.SharedFolderNestDetails.new_ns_path: New namespace path. + Might be missing due to historical data gap. + """ + + __slots__ = [ + '_previous_parent_ns_id_value', + '_previous_parent_ns_id_present', + '_new_parent_ns_id_value', + '_new_parent_ns_id_present', + '_previous_ns_path_value', + '_previous_ns_path_present', + '_new_ns_path_value', + '_new_ns_path_present', + ] + + _has_required_fields = False + + def __init__(self, + previous_parent_ns_id=None, + new_parent_ns_id=None, + previous_ns_path=None, + new_ns_path=None): + self._previous_parent_ns_id_value = None + self._previous_parent_ns_id_present = False + self._new_parent_ns_id_value = None + self._new_parent_ns_id_present = False + self._previous_ns_path_value = None + self._previous_ns_path_present = False + self._new_ns_path_value = None + self._new_ns_path_present = False + if previous_parent_ns_id is not None: + self.previous_parent_ns_id = previous_parent_ns_id + if new_parent_ns_id is not None: + self.new_parent_ns_id = new_parent_ns_id + if previous_ns_path is not None: + self.previous_ns_path = previous_ns_path + if new_ns_path is not None: + self.new_ns_path = new_ns_path + + @property + def previous_parent_ns_id(self): + """ + Previous parent namespace ID. Might be missing due to historical data + gap. + + :rtype: str + """ + if self._previous_parent_ns_id_present: + return self._previous_parent_ns_id_value + else: + return None + + @previous_parent_ns_id.setter + def previous_parent_ns_id(self, val): + if val is None: + del self.previous_parent_ns_id + return + val = self._previous_parent_ns_id_validator.validate(val) + self._previous_parent_ns_id_value = val + self._previous_parent_ns_id_present = True + + @previous_parent_ns_id.deleter + def previous_parent_ns_id(self): + self._previous_parent_ns_id_value = None + self._previous_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 + + @property + def previous_ns_path(self): + """ + Previous namespace path. Might be missing due to historical data gap. + + :rtype: str + """ + if self._previous_ns_path_present: + return self._previous_ns_path_value + else: + return None + + @previous_ns_path.setter + def previous_ns_path(self, val): + if val is None: + del self.previous_ns_path + return + val = self._previous_ns_path_validator.validate(val) + self._previous_ns_path_value = val + self._previous_ns_path_present = True + + @previous_ns_path.deleter + def previous_ns_path(self): + self._previous_ns_path_value = None + self._previous_ns_path_present = False + + @property + def new_ns_path(self): + """ + New namespace path. Might be missing due to historical data gap. + + :rtype: str + """ + if self._new_ns_path_present: + return self._new_ns_path_value + else: + return None + + @new_ns_path.setter + def new_ns_path(self, val): + if val is None: + del self.new_ns_path + return + val = self._new_ns_path_validator.validate(val) + self._new_ns_path_value = val + self._new_ns_path_present = True + + @new_ns_path.deleter + def new_ns_path(self): + self._new_ns_path_value = None + self._new_ns_path_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderNestDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderNestDetails(previous_parent_ns_id={!r}, new_parent_ns_id={!r}, previous_ns_path={!r}, new_ns_path={!r})'.format( + self._previous_parent_ns_id_value, + self._new_parent_ns_id_value, + self._previous_ns_path_value, + self._new_ns_path_value, + ) + +SharedFolderNestDetails_validator = bv.Struct(SharedFolderNestDetails) + +class SharedFolderNestType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderNestType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderNestType(description={!r})'.format( + self._description_value, + ) + +SharedFolderNestType_validator = bv.Struct(SharedFolderNestType) + +class SharedFolderTransferOwnershipDetails(bb.Struct): + """ + Transferred ownership of shared folder to another member. + + :ivar team_log.SharedFolderTransferOwnershipDetails.previous_owner_email: + The email address of the previous shared folder owner. + :ivar team_log.SharedFolderTransferOwnershipDetails.new_owner_email: The + email address of the new shared folder owner. + """ + + __slots__ = [ + '_previous_owner_email_value', + '_previous_owner_email_present', + '_new_owner_email_value', + '_new_owner_email_present', + ] + + _has_required_fields = True + + def __init__(self, + new_owner_email=None, + previous_owner_email=None): + self._previous_owner_email_value = None + self._previous_owner_email_present = False + self._new_owner_email_value = None + self._new_owner_email_present = False + if previous_owner_email is not None: + self.previous_owner_email = previous_owner_email + if new_owner_email is not None: + self.new_owner_email = new_owner_email + + @property + def previous_owner_email(self): + """ + The email address of the previous shared folder owner. + + :rtype: str + """ + if self._previous_owner_email_present: + return self._previous_owner_email_value + else: + return None + + @previous_owner_email.setter + def previous_owner_email(self, val): + if val is None: + del self.previous_owner_email + return + val = self._previous_owner_email_validator.validate(val) + self._previous_owner_email_value = val + self._previous_owner_email_present = True + + @previous_owner_email.deleter + def previous_owner_email(self): + self._previous_owner_email_value = None + self._previous_owner_email_present = False + + @property + def new_owner_email(self): + """ + The email address of the new shared folder owner. + + :rtype: str + """ + if self._new_owner_email_present: + return self._new_owner_email_value + else: + raise AttributeError("missing required field 'new_owner_email'") + + @new_owner_email.setter + def new_owner_email(self, val): + val = self._new_owner_email_validator.validate(val) + self._new_owner_email_value = val + self._new_owner_email_present = True + + @new_owner_email.deleter + def new_owner_email(self): + self._new_owner_email_value = None + self._new_owner_email_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderTransferOwnershipDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderTransferOwnershipDetails(new_owner_email={!r}, previous_owner_email={!r})'.format( + self._new_owner_email_value, + self._previous_owner_email_value, + ) + +SharedFolderTransferOwnershipDetails_validator = bv.Struct(SharedFolderTransferOwnershipDetails) + +class SharedFolderTransferOwnershipType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderTransferOwnershipType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderTransferOwnershipType(description={!r})'.format( + self._description_value, + ) + +SharedFolderTransferOwnershipType_validator = bv.Struct(SharedFolderTransferOwnershipType) + +class SharedFolderUnmountDetails(bb.Struct): + """ + Deleted shared folder from Dropbox. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderUnmountDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderUnmountDetails()' + +SharedFolderUnmountDetails_validator = bv.Struct(SharedFolderUnmountDetails) + +class SharedFolderUnmountType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderUnmountType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedFolderUnmountType(description={!r})'.format( + self._description_value, + ) + +SharedFolderUnmountType_validator = bv.Struct(SharedFolderUnmountType) + +class SharedLinkAccessLevel(bb.Union): + """ + Shared link access level. + + 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 + reader = None + # Attribute is overwritten below the class definition + writer = 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_reader(self): + """ + Check if the union tag is ``reader``. + + :rtype: bool + """ + return self._tag == 'reader' + + def is_writer(self): + """ + Check if the union tag is ``writer``. + + :rtype: bool + """ + return self._tag == 'writer' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkAccessLevel, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkAccessLevel(%r, %r)' % (self._tag, self._value) + +SharedLinkAccessLevel_validator = bv.Union(SharedLinkAccessLevel) + +class SharedLinkAddExpiryDetails(bb.Struct): + """ + Added shared link expiration date. + + :ivar team_log.SharedLinkAddExpiryDetails.new_value: New shared link + expiration date. + """ + + __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): + """ + New shared link expiration date. + + :rtype: datetime.datetime + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkAddExpiryDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkAddExpiryDetails(new_value={!r})'.format( + self._new_value_value, + ) + +SharedLinkAddExpiryDetails_validator = bv.Struct(SharedLinkAddExpiryDetails) + +class SharedLinkAddExpiryType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkAddExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkAddExpiryType(description={!r})'.format( + self._description_value, + ) + +SharedLinkAddExpiryType_validator = bv.Struct(SharedLinkAddExpiryType) + +class SharedLinkChangeExpiryDetails(bb.Struct): + """ + Changed shared link expiration date. + + :ivar team_log.SharedLinkChangeExpiryDetails.new_value: New shared link + expiration date. Might be missing due to historical data gap. + :ivar team_log.SharedLinkChangeExpiryDetails.previous_value: Previous shared + link expiration date. 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 shared link expiration date. Might be missing due to historical data + gap. + + :rtype: datetime.datetime + """ + 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 shared link expiration date. Might be missing due to historical + data gap. + + :rtype: datetime.datetime + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkChangeExpiryDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkChangeExpiryDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SharedLinkChangeExpiryDetails_validator = bv.Struct(SharedLinkChangeExpiryDetails) + +class SharedLinkChangeExpiryType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkChangeExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkChangeExpiryType(description={!r})'.format( + self._description_value, + ) + +SharedLinkChangeExpiryType_validator = bv.Struct(SharedLinkChangeExpiryType) + +class SharedLinkChangeVisibilityDetails(bb.Struct): + """ + Changed visibility of shared link. + + :ivar team_log.SharedLinkChangeVisibilityDetails.new_value: New shared link + visibility. + :ivar team_log.SharedLinkChangeVisibilityDetails.previous_value: Previous + shared link visibility. 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 shared link visibility. + + :rtype: SharedLinkVisibility + """ + 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 link visibility. Might be missing due to historical data + gap. + + :rtype: SharedLinkVisibility + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkChangeVisibilityDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkChangeVisibilityDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +SharedLinkChangeVisibilityDetails_validator = bv.Struct(SharedLinkChangeVisibilityDetails) + +class SharedLinkChangeVisibilityType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkChangeVisibilityType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkChangeVisibilityType(description={!r})'.format( + self._description_value, + ) + +SharedLinkChangeVisibilityType_validator = bv.Struct(SharedLinkChangeVisibilityType) + +class SharedLinkCopyDetails(bb.Struct): + """ + Added file/folder to Dropbox from shared link. + + :ivar team_log.SharedLinkCopyDetails.shared_link_owner: Shared link owner + details. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_shared_link_owner_value', + '_shared_link_owner_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_link_owner=None): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + if shared_link_owner is not None: + self.shared_link_owner = shared_link_owner + + @property + def shared_link_owner(self): + """ + Shared link owner details. Might be missing due to historical data gap. + + :rtype: UserLogInfo + """ + if self._shared_link_owner_present: + return self._shared_link_owner_value + else: + return None + + @shared_link_owner.setter + def shared_link_owner(self, val): + if val is None: + del self.shared_link_owner + return + self._shared_link_owner_validator.validate_type_only(val) + self._shared_link_owner_value = val + self._shared_link_owner_present = True + + @shared_link_owner.deleter + def shared_link_owner(self): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkCopyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkCopyDetails(shared_link_owner={!r})'.format( + self._shared_link_owner_value, + ) + +SharedLinkCopyDetails_validator = bv.Struct(SharedLinkCopyDetails) + +class SharedLinkCopyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkCopyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkCopyType(description={!r})'.format( + self._description_value, + ) + +SharedLinkCopyType_validator = bv.Struct(SharedLinkCopyType) + +class SharedLinkCreateDetails(bb.Struct): + """ + Created shared link. + + :ivar team_log.SharedLinkCreateDetails.shared_link_access_level: Defines who + can access the shared link. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_shared_link_access_level_value', + '_shared_link_access_level_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_link_access_level=None): + self._shared_link_access_level_value = None + self._shared_link_access_level_present = False + if shared_link_access_level is not None: + self.shared_link_access_level = shared_link_access_level + + @property + def shared_link_access_level(self): + """ + Defines who can access the shared link. Might be missing due to + historical data gap. + + :rtype: SharedLinkAccessLevel + """ + if self._shared_link_access_level_present: + return self._shared_link_access_level_value + else: + return None + + @shared_link_access_level.setter + def shared_link_access_level(self, val): + if val is None: + del self.shared_link_access_level + return + self._shared_link_access_level_validator.validate_type_only(val) + self._shared_link_access_level_value = val + self._shared_link_access_level_present = True + + @shared_link_access_level.deleter + def shared_link_access_level(self): + self._shared_link_access_level_value = None + self._shared_link_access_level_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkCreateDetails(shared_link_access_level={!r})'.format( + self._shared_link_access_level_value, + ) + +SharedLinkCreateDetails_validator = bv.Struct(SharedLinkCreateDetails) + +class SharedLinkCreateType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkCreateType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkCreateType(description={!r})'.format( + self._description_value, + ) + +SharedLinkCreateType_validator = bv.Struct(SharedLinkCreateType) + +class SharedLinkDisableDetails(bb.Struct): + """ + Removed shared link. + + :ivar team_log.SharedLinkDisableDetails.shared_link_owner: Shared link owner + details. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_shared_link_owner_value', + '_shared_link_owner_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_link_owner=None): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + if shared_link_owner is not None: + self.shared_link_owner = shared_link_owner + + @property + def shared_link_owner(self): + """ + Shared link owner details. Might be missing due to historical data gap. + + :rtype: UserLogInfo + """ + if self._shared_link_owner_present: + return self._shared_link_owner_value + else: + return None + + @shared_link_owner.setter + def shared_link_owner(self, val): + if val is None: + del self.shared_link_owner + return + self._shared_link_owner_validator.validate_type_only(val) + self._shared_link_owner_value = val + self._shared_link_owner_present = True + + @shared_link_owner.deleter + def shared_link_owner(self): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkDisableDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkDisableDetails(shared_link_owner={!r})'.format( + self._shared_link_owner_value, + ) + +SharedLinkDisableDetails_validator = bv.Struct(SharedLinkDisableDetails) + +class SharedLinkDisableType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkDisableType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkDisableType(description={!r})'.format( + self._description_value, + ) + +SharedLinkDisableType_validator = bv.Struct(SharedLinkDisableType) + +class SharedLinkDownloadDetails(bb.Struct): + """ + Downloaded file/folder from shared link. + + :ivar team_log.SharedLinkDownloadDetails.shared_link_owner: Shared link + owner details. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_shared_link_owner_value', + '_shared_link_owner_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_link_owner=None): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + if shared_link_owner is not None: + self.shared_link_owner = shared_link_owner + + @property + def shared_link_owner(self): + """ + Shared link owner details. Might be missing due to historical data gap. + + :rtype: UserLogInfo + """ + if self._shared_link_owner_present: + return self._shared_link_owner_value + else: + return None + + @shared_link_owner.setter + def shared_link_owner(self, val): + if val is None: + del self.shared_link_owner + return + self._shared_link_owner_validator.validate_type_only(val) + self._shared_link_owner_value = val + self._shared_link_owner_present = True + + @shared_link_owner.deleter + def shared_link_owner(self): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkDownloadDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkDownloadDetails(shared_link_owner={!r})'.format( + self._shared_link_owner_value, + ) + +SharedLinkDownloadDetails_validator = bv.Struct(SharedLinkDownloadDetails) + +class SharedLinkDownloadType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkDownloadType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkDownloadType(description={!r})'.format( + self._description_value, + ) + +SharedLinkDownloadType_validator = bv.Struct(SharedLinkDownloadType) + +class SharedLinkRemoveExpiryDetails(bb.Struct): + """ + Removed shared link expiration date. + + :ivar team_log.SharedLinkRemoveExpiryDetails.previous_value: Previous shared + link expiration date. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_previous_value_value', + '_previous_value_present', + ] + + _has_required_fields = False + + def __init__(self, + previous_value=None): + self._previous_value_value = None + self._previous_value_present = False + if previous_value is not None: + self.previous_value = previous_value + + @property + def previous_value(self): + """ + Previous shared link expiration date. Might be missing due to historical + data gap. + + :rtype: datetime.datetime + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkRemoveExpiryDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkRemoveExpiryDetails(previous_value={!r})'.format( + self._previous_value_value, + ) + +SharedLinkRemoveExpiryDetails_validator = bv.Struct(SharedLinkRemoveExpiryDetails) + +class SharedLinkRemoveExpiryType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkRemoveExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkRemoveExpiryType(description={!r})'.format( + self._description_value, + ) + +SharedLinkRemoveExpiryType_validator = bv.Struct(SharedLinkRemoveExpiryType) + +class SharedLinkShareDetails(bb.Struct): + """ + Added members as audience of shared link. + + :ivar team_log.SharedLinkShareDetails.shared_link_owner: Shared link owner + details. Might be missing due to historical data gap. + :ivar team_log.SharedLinkShareDetails.external_users: Users without a + Dropbox account that were added as shared link audience. + """ + + __slots__ = [ + '_shared_link_owner_value', + '_shared_link_owner_present', + '_external_users_value', + '_external_users_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_link_owner=None, + external_users=None): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + self._external_users_value = None + self._external_users_present = False + if shared_link_owner is not None: + self.shared_link_owner = shared_link_owner + if external_users is not None: + self.external_users = external_users + + @property + def shared_link_owner(self): + """ + Shared link owner details. Might be missing due to historical data gap. + + :rtype: UserLogInfo + """ + if self._shared_link_owner_present: + return self._shared_link_owner_value + else: + return None + + @shared_link_owner.setter + def shared_link_owner(self, val): + if val is None: + del self.shared_link_owner + return + self._shared_link_owner_validator.validate_type_only(val) + self._shared_link_owner_value = val + self._shared_link_owner_present = True + + @shared_link_owner.deleter + def shared_link_owner(self): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + + @property + def external_users(self): + """ + Users without a Dropbox account that were added as shared link audience. + + :rtype: list of [ExternalUserLogInfo] + """ + if self._external_users_present: + return self._external_users_value + else: + return None + + @external_users.setter + def external_users(self, val): + if val is None: + del self.external_users + return + val = self._external_users_validator.validate(val) + self._external_users_value = val + self._external_users_present = True + + @external_users.deleter + def external_users(self): + self._external_users_value = None + self._external_users_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkShareDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkShareDetails(shared_link_owner={!r}, external_users={!r})'.format( + self._shared_link_owner_value, + self._external_users_value, + ) + +SharedLinkShareDetails_validator = bv.Struct(SharedLinkShareDetails) + +class SharedLinkShareType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkShareType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkShareType(description={!r})'.format( + self._description_value, + ) + +SharedLinkShareType_validator = bv.Struct(SharedLinkShareType) + +class SharedLinkViewDetails(bb.Struct): + """ + Opened shared link. + + :ivar team_log.SharedLinkViewDetails.shared_link_owner: Shared link owner + details. Might be missing due to historical data gap. + """ + + __slots__ = [ + '_shared_link_owner_value', + '_shared_link_owner_present', + ] + + _has_required_fields = False + + def __init__(self, + shared_link_owner=None): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + if shared_link_owner is not None: + self.shared_link_owner = shared_link_owner + + @property + def shared_link_owner(self): + """ + Shared link owner details. Might be missing due to historical data gap. + + :rtype: UserLogInfo + """ + if self._shared_link_owner_present: + return self._shared_link_owner_value + else: + return None + + @shared_link_owner.setter + def shared_link_owner(self, val): + if val is None: + del self.shared_link_owner + return + self._shared_link_owner_validator.validate_type_only(val) + self._shared_link_owner_value = val + self._shared_link_owner_present = True + + @shared_link_owner.deleter + def shared_link_owner(self): + self._shared_link_owner_value = None + self._shared_link_owner_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkViewDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkViewDetails(shared_link_owner={!r})'.format( + self._shared_link_owner_value, + ) + +SharedLinkViewDetails_validator = bv.Struct(SharedLinkViewDetails) + +class SharedLinkViewType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkViewType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkViewType(description={!r})'.format( + self._description_value, + ) + +SharedLinkViewType_validator = bv.Struct(SharedLinkViewType) + +class SharedLinkVisibility(bb.Union): + """ + Defines who has access to a shared link. + + 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 + password = None + # Attribute is overwritten below the class definition + public = None + # Attribute is overwritten below the class definition + team_only = None + # Attribute is overwritten below the class definition + other = None + + def is_password(self): + """ + Check if the union tag is ``password``. + + :rtype: bool + """ + return self._tag == 'password' + + def is_public(self): + """ + Check if the union tag is ``public``. + + :rtype: bool + """ + return self._tag == 'public' + + def is_team_only(self): + """ + Check if the union tag is ``team_only``. + + :rtype: bool + """ + return self._tag == 'team_only' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkVisibility, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedLinkVisibility(%r, %r)' % (self._tag, self._value) + +SharedLinkVisibility_validator = bv.Union(SharedLinkVisibility) + +class SharedNoteOpenedDetails(bb.Struct): + """ + Opened shared Paper doc. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedNoteOpenedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + 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). +class SharedNoteOpenedType(bb.Struct): - :ivar new_value: New external join policy. - :ivar previous_value: Previous external join policy. Might be missing due to - historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedNoteOpenedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharedNoteOpenedType(description={!r})'.format( + self._description_value, + ) + +SharedNoteOpenedType_validator = bv.Struct(SharedNoteOpenedType) + +class SharingChangeFolderJoinPolicyDetails(bb.Struct): + """ + Changed whether team members can join shared folders owned outside team. + + :ivar team_log.SharingChangeFolderJoinPolicyDetails.new_value: New external + join policy. + :ivar team_log.SharingChangeFolderJoinPolicyDetails.previous_value: Previous + external join policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -32452,6 +58475,9 @@ class SharingChangeFolderJoinPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingChangeFolderJoinPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingChangeFolderJoinPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -32460,15 +58486,63 @@ class SharingChangeFolderJoinPolicyDetails(object): 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. +class SharingChangeFolderJoinPolicyType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingChangeFolderJoinPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharingChangeFolderJoinPolicyType(description={!r})'.format( + self._description_value, + ) + +SharingChangeFolderJoinPolicyType_validator = bv.Struct(SharingChangeFolderJoinPolicyType) + +class SharingChangeLinkPolicyDetails(bb.Struct): + """ + Changed whether members can share links outside team, and if links are + accessible only by team members or anyone by default. + + :ivar team_log.SharingChangeLinkPolicyDetails.new_value: New external link + accessibility policy. + :ivar team_log.SharingChangeLinkPolicyDetails.previous_value: Previous + external link accessibility policy. Might be missing due to historical + data gap. """ __slots__ = [ @@ -32542,6 +58616,9 @@ class SharingChangeLinkPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingChangeLinkPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingChangeLinkPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -32550,14 +58627,61 @@ class SharingChangeLinkPolicyDetails(object): SharingChangeLinkPolicyDetails_validator = bv.Struct(SharingChangeLinkPolicyDetails) -class SharingChangeMemberPolicyDetails(object): - """ - Changed whether team members can share files and folders externally (i.e. - outside the team). +class SharingChangeLinkPolicyType(bb.Struct): - :ivar new_value: New external invite policy. - :ivar previous_value: Previous external invite policy. Might be missing due - to historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingChangeLinkPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharingChangeLinkPolicyType(description={!r})'.format( + self._description_value, + ) + +SharingChangeLinkPolicyType_validator = bv.Struct(SharingChangeLinkPolicyType) + +class SharingChangeMemberPolicyDetails(bb.Struct): + """ + Changed whether members can share files/folders outside team. + + :ivar team_log.SharingChangeMemberPolicyDetails.new_value: New external + invite policy. + :ivar team_log.SharingChangeMemberPolicyDetails.previous_value: Previous + external invite policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -32631,6 +58755,9 @@ class SharingChangeMemberPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingChangeMemberPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingChangeMemberPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -32639,6 +58766,53 @@ class SharingChangeMemberPolicyDetails(object): SharingChangeMemberPolicyDetails_validator = bv.Struct(SharingChangeMemberPolicyDetails) +class SharingChangeMemberPolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingChangeMemberPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SharingChangeMemberPolicyType(description={!r})'.format( + self._description_value, + ) + +SharingChangeMemberPolicyType_validator = bv.Struct(SharingChangeMemberPolicyType) + class SharingFolderJoinPolicy(bb.Union): """ Policy for controlling if team members can join shared folders owned by non @@ -32681,6 +58855,9 @@ class SharingFolderJoinPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingFolderJoinPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingFolderJoinPolicy(%r, %r)' % (self._tag, self._value) @@ -32737,6 +58914,9 @@ class SharingLinkPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingLinkPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingLinkPolicy(%r, %r)' % (self._tag, self._value) @@ -32783,335 +58963,17 @@ class SharingMemberPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharingMemberPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharingMemberPolicy(%r, %r)' % (self._tag, self._value) SharingMemberPolicy_validator = bv.Union(SharingMemberPolicy) -class ShmodelAppCreateDetails(object): +class ShmodelGroupShareDetails(bb.Struct): """ - 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. + Shared link with group. """ __slots__ = [ @@ -33122,283 +58984,373 @@ class ShmodelGroupShareDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShmodelGroupShareDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'ShmodelGroupShareDetails()' ShmodelGroupShareDetails_validator = bv.Struct(ShmodelGroupShareDetails) -class ShmodelRemoveExpirationDetails(object): - """ - Removed the expiration date from a link. - """ +class ShmodelGroupShareType(bb.Struct): __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', + '_description_value', + '_description_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 + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def expiration_start_date(self): + def description(self): """ - Expiration starting date. + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShmodelGroupShareType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShmodelGroupShareType(description={!r})'.format( + self._description_value, + ) + +ShmodelGroupShareType_validator = bv.Struct(ShmodelGroupShareType) + +class ShowcaseAccessGrantedDetails(bb.Struct): + """ + Granted access to showcase. + + :ivar team_log.ShowcaseAccessGrantedDetails.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._expiration_start_date_present: - return self._expiration_start_date_value + if self._event_uuid_present: + return self._event_uuid_value else: - raise AttributeError("missing required field 'expiration_start_date'") + raise AttributeError("missing required field 'event_uuid'") - @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 + @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 - @expiration_start_date.deleter - def expiration_start_date(self): - self._expiration_start_date_value = None - self._expiration_start_date_present = False + @event_uuid.deleter + def event_uuid(self): + self._event_uuid_value = None + self._event_uuid_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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseAccessGrantedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'ShmodelSetExpirationDetails(expiration_start_date={!r}, expiration_days={!r})'.format( - self._expiration_start_date_value, - self._expiration_days_value, + return 'ShowcaseAccessGrantedDetails(event_uuid={!r})'.format( + self._event_uuid_value, ) -ShmodelSetExpirationDetails_validator = bv.Struct(ShmodelSetExpirationDetails) +ShowcaseAccessGrantedDetails_validator = bv.Struct(ShowcaseAccessGrantedDetails) -class ShmodelTeamCopyDetails(object): +class ShowcaseAccessGrantedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseAccessGrantedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseAccessGrantedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseAccessGrantedType_validator = bv.Struct(ShowcaseAccessGrantedType) + +class ShowcaseAddMemberDetails(bb.Struct): """ - Added a team member's file/folder to their Dropbox from a link. + Added member to showcase. + + :ivar team_log.ShowcaseAddMemberDetails.event_uuid: Event unique identifier. """ __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseAddMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'ShmodelTeamCopyDetails()' + return 'ShowcaseAddMemberDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) -ShmodelTeamCopyDetails_validator = bv.Struct(ShmodelTeamCopyDetails) +ShowcaseAddMemberDetails_validator = bv.Struct(ShowcaseAddMemberDetails) -class ShmodelTeamDownloadDetails(object): +class ShowcaseAddMemberType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseAddMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseAddMemberType(description={!r})'.format( + self._description_value, + ) + +ShowcaseAddMemberType_validator = bv.Struct(ShowcaseAddMemberType) + +class ShowcaseArchivedDetails(bb.Struct): """ - Downloaded a team member's file/folder from a link. + Archived showcase. + + :ivar team_log.ShowcaseArchivedDetails.event_uuid: Event unique identifier. """ __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseArchivedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'ShmodelTeamDownloadDetails()' + return 'ShowcaseArchivedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) -ShmodelTeamDownloadDetails_validator = bv.Struct(ShmodelTeamDownloadDetails) +ShowcaseArchivedDetails_validator = bv.Struct(ShowcaseArchivedDetails) -class ShmodelTeamShareDetails(object): - """ - Shared a link with team members. - """ +class ShowcaseArchivedType(bb.Struct): __slots__ = [ + '_description_value', + '_description_present', ] - _has_required_fields = False + _has_required_fields = True - def __init__(self): - pass + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseArchivedType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'ShmodelTeamShareDetails()' + return 'ShowcaseArchivedType(description={!r})'.format( + self._description_value, + ) -ShmodelTeamShareDetails_validator = bv.Struct(ShmodelTeamShareDetails) +ShowcaseArchivedType_validator = bv.Struct(ShowcaseArchivedType) -class ShmodelTeamViewDetails(object): - """ - Opened a team member's link. +class ShowcaseChangeDownloadPolicyDetails(bb.Struct): """ + Enabled/disabled downloading files from Dropbox Showcase for team. - __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. + :ivar team_log.ShowcaseChangeDownloadPolicyDetails.new_value: New Dropbox + Showcase download policy. + :ivar team_log.ShowcaseChangeDownloadPolicyDetails.previous_value: Previous + Dropbox Showcase download policy. """ __slots__ = [ @@ -33425,9 +59377,9 @@ class SmartSyncChangePolicyDetails(object): @property def new_value(self): """ - New smart sync policy. + New Dropbox Showcase download policy. - :rtype: SmartSyncPolicy + :rtype: ShowcaseDownloadPolicy """ if self._new_value_present: return self._new_value_value @@ -33448,9 +59400,3129 @@ class SmartSyncChangePolicyDetails(object): @property def previous_value(self): """ - Previous smart sync policy. Might be missing due to historical data gap. + Previous Dropbox Showcase download policy. - :rtype: SmartSyncPolicy + :rtype: ShowcaseDownloadPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseChangeDownloadPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseChangeDownloadPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +ShowcaseChangeDownloadPolicyDetails_validator = bv.Struct(ShowcaseChangeDownloadPolicyDetails) + +class ShowcaseChangeDownloadPolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseChangeDownloadPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseChangeDownloadPolicyType(description={!r})'.format( + self._description_value, + ) + +ShowcaseChangeDownloadPolicyType_validator = bv.Struct(ShowcaseChangeDownloadPolicyType) + +class ShowcaseChangeEnabledPolicyDetails(bb.Struct): + """ + Enabled/disabled Dropbox Showcase for team. + + :ivar team_log.ShowcaseChangeEnabledPolicyDetails.new_value: New Dropbox + Showcase policy. + :ivar team_log.ShowcaseChangeEnabledPolicyDetails.previous_value: Previous + Dropbox Showcase 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 Dropbox Showcase policy. + + :rtype: ShowcaseEnabledPolicy + """ + 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 Showcase policy. + + :rtype: ShowcaseEnabledPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseChangeEnabledPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseChangeEnabledPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +ShowcaseChangeEnabledPolicyDetails_validator = bv.Struct(ShowcaseChangeEnabledPolicyDetails) + +class ShowcaseChangeEnabledPolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseChangeEnabledPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseChangeEnabledPolicyType(description={!r})'.format( + self._description_value, + ) + +ShowcaseChangeEnabledPolicyType_validator = bv.Struct(ShowcaseChangeEnabledPolicyType) + +class ShowcaseChangeExternalSharingPolicyDetails(bb.Struct): + """ + Enabled/disabled sharing Dropbox Showcase externally for team. + + :ivar team_log.ShowcaseChangeExternalSharingPolicyDetails.new_value: New + Dropbox Showcase external sharing policy. + :ivar team_log.ShowcaseChangeExternalSharingPolicyDetails.previous_value: + Previous Dropbox Showcase external sharing 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 Dropbox Showcase external sharing policy. + + :rtype: ShowcaseExternalSharingPolicy + """ + 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 Showcase external sharing policy. + + :rtype: ShowcaseExternalSharingPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseChangeExternalSharingPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseChangeExternalSharingPolicyDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +ShowcaseChangeExternalSharingPolicyDetails_validator = bv.Struct(ShowcaseChangeExternalSharingPolicyDetails) + +class ShowcaseChangeExternalSharingPolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseChangeExternalSharingPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseChangeExternalSharingPolicyType(description={!r})'.format( + self._description_value, + ) + +ShowcaseChangeExternalSharingPolicyType_validator = bv.Struct(ShowcaseChangeExternalSharingPolicyType) + +class ShowcaseCreatedDetails(bb.Struct): + """ + Created showcase. + + :ivar team_log.ShowcaseCreatedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseCreatedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseCreatedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseCreatedDetails_validator = bv.Struct(ShowcaseCreatedDetails) + +class ShowcaseCreatedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseCreatedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseCreatedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseCreatedType_validator = bv.Struct(ShowcaseCreatedType) + +class ShowcaseDeleteCommentDetails(bb.Struct): + """ + Deleted showcase comment. + + :ivar team_log.ShowcaseDeleteCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.ShowcaseDeleteCommentDetails.comment_text: Comment text. + """ + + __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. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseDeleteCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseDeleteCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +ShowcaseDeleteCommentDetails_validator = bv.Struct(ShowcaseDeleteCommentDetails) + +class ShowcaseDeleteCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseDeleteCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseDeleteCommentType(description={!r})'.format( + self._description_value, + ) + +ShowcaseDeleteCommentType_validator = bv.Struct(ShowcaseDeleteCommentType) + +class ShowcaseDocumentLogInfo(bb.Struct): + """ + Showcase document's logged information. + + :ivar team_log.ShowcaseDocumentLogInfo.showcase_id: Showcase document Id. + :ivar team_log.ShowcaseDocumentLogInfo.showcase_title: Showcase document + title. + """ + + __slots__ = [ + '_showcase_id_value', + '_showcase_id_present', + '_showcase_title_value', + '_showcase_title_present', + ] + + _has_required_fields = True + + def __init__(self, + showcase_id=None, + showcase_title=None): + self._showcase_id_value = None + self._showcase_id_present = False + self._showcase_title_value = None + self._showcase_title_present = False + if showcase_id is not None: + self.showcase_id = showcase_id + if showcase_title is not None: + self.showcase_title = showcase_title + + @property + def showcase_id(self): + """ + Showcase document Id. + + :rtype: str + """ + if self._showcase_id_present: + return self._showcase_id_value + else: + raise AttributeError("missing required field 'showcase_id'") + + @showcase_id.setter + def showcase_id(self, val): + val = self._showcase_id_validator.validate(val) + self._showcase_id_value = val + self._showcase_id_present = True + + @showcase_id.deleter + def showcase_id(self): + self._showcase_id_value = None + self._showcase_id_present = False + + @property + def showcase_title(self): + """ + Showcase document title. + + :rtype: str + """ + if self._showcase_title_present: + return self._showcase_title_value + else: + raise AttributeError("missing required field 'showcase_title'") + + @showcase_title.setter + def showcase_title(self, val): + val = self._showcase_title_validator.validate(val) + self._showcase_title_value = val + self._showcase_title_present = True + + @showcase_title.deleter + def showcase_title(self): + self._showcase_title_value = None + self._showcase_title_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseDocumentLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseDocumentLogInfo(showcase_id={!r}, showcase_title={!r})'.format( + self._showcase_id_value, + self._showcase_title_value, + ) + +ShowcaseDocumentLogInfo_validator = bv.Struct(ShowcaseDocumentLogInfo) + +class ShowcaseDownloadPolicy(bb.Union): + """ + Policy for controlling if files can be downloaded from Showcases by team + members + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseDownloadPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseDownloadPolicy(%r, %r)' % (self._tag, self._value) + +ShowcaseDownloadPolicy_validator = bv.Union(ShowcaseDownloadPolicy) + +class ShowcaseEditCommentDetails(bb.Struct): + """ + Edited showcase comment. + + :ivar team_log.ShowcaseEditCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.ShowcaseEditCommentDetails.comment_text: Comment text. + """ + + __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. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseEditCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseEditCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +ShowcaseEditCommentDetails_validator = bv.Struct(ShowcaseEditCommentDetails) + +class ShowcaseEditCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseEditCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseEditCommentType(description={!r})'.format( + self._description_value, + ) + +ShowcaseEditCommentType_validator = bv.Struct(ShowcaseEditCommentType) + +class ShowcaseEditedDetails(bb.Struct): + """ + Edited showcase. + + :ivar team_log.ShowcaseEditedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseEditedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseEditedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseEditedDetails_validator = bv.Struct(ShowcaseEditedDetails) + +class ShowcaseEditedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseEditedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseEditedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseEditedType_validator = bv.Struct(ShowcaseEditedType) + +class ShowcaseEnabledPolicy(bb.Union): + """ + Policy for controlling whether Showcase is enabled. + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseEnabledPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseEnabledPolicy(%r, %r)' % (self._tag, self._value) + +ShowcaseEnabledPolicy_validator = bv.Union(ShowcaseEnabledPolicy) + +class ShowcaseExternalSharingPolicy(bb.Union): + """ + Policy for controlling if team members can share Showcases externally. + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseExternalSharingPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseExternalSharingPolicy(%r, %r)' % (self._tag, self._value) + +ShowcaseExternalSharingPolicy_validator = bv.Union(ShowcaseExternalSharingPolicy) + +class ShowcaseFileAddedDetails(bb.Struct): + """ + Added file to showcase. + + :ivar team_log.ShowcaseFileAddedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileAddedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileAddedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseFileAddedDetails_validator = bv.Struct(ShowcaseFileAddedDetails) + +class ShowcaseFileAddedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileAddedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileAddedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseFileAddedType_validator = bv.Struct(ShowcaseFileAddedType) + +class ShowcaseFileDownloadDetails(bb.Struct): + """ + Downloaded file from showcase. + + :ivar team_log.ShowcaseFileDownloadDetails.event_uuid: Event unique + identifier. + :ivar team_log.ShowcaseFileDownloadDetails.download_type: Showcase download + type. + """ + + __slots__ = [ + '_event_uuid_value', + '_event_uuid_present', + '_download_type_value', + '_download_type_present', + ] + + _has_required_fields = True + + def __init__(self, + event_uuid=None, + download_type=None): + self._event_uuid_value = None + self._event_uuid_present = False + self._download_type_value = None + self._download_type_present = False + if event_uuid is not None: + self.event_uuid = event_uuid + if download_type is not None: + self.download_type = download_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 download_type(self): + """ + Showcase download type. + + :rtype: str + """ + if self._download_type_present: + return self._download_type_value + else: + raise AttributeError("missing required field 'download_type'") + + @download_type.setter + def download_type(self, val): + val = self._download_type_validator.validate(val) + self._download_type_value = val + self._download_type_present = True + + @download_type.deleter + def download_type(self): + self._download_type_value = None + self._download_type_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileDownloadDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileDownloadDetails(event_uuid={!r}, download_type={!r})'.format( + self._event_uuid_value, + self._download_type_value, + ) + +ShowcaseFileDownloadDetails_validator = bv.Struct(ShowcaseFileDownloadDetails) + +class ShowcaseFileDownloadType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileDownloadType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileDownloadType(description={!r})'.format( + self._description_value, + ) + +ShowcaseFileDownloadType_validator = bv.Struct(ShowcaseFileDownloadType) + +class ShowcaseFileRemovedDetails(bb.Struct): + """ + Removed file from showcase. + + :ivar team_log.ShowcaseFileRemovedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileRemovedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileRemovedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseFileRemovedDetails_validator = bv.Struct(ShowcaseFileRemovedDetails) + +class ShowcaseFileRemovedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileRemovedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileRemovedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseFileRemovedType_validator = bv.Struct(ShowcaseFileRemovedType) + +class ShowcaseFileViewDetails(bb.Struct): + """ + Viewed file in showcase. + + :ivar team_log.ShowcaseFileViewDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileViewDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileViewDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseFileViewDetails_validator = bv.Struct(ShowcaseFileViewDetails) + +class ShowcaseFileViewType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseFileViewType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseFileViewType(description={!r})'.format( + self._description_value, + ) + +ShowcaseFileViewType_validator = bv.Struct(ShowcaseFileViewType) + +class ShowcasePermanentlyDeletedDetails(bb.Struct): + """ + Permanently deleted showcase. + + :ivar team_log.ShowcasePermanentlyDeletedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcasePermanentlyDeletedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcasePermanentlyDeletedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcasePermanentlyDeletedDetails_validator = bv.Struct(ShowcasePermanentlyDeletedDetails) + +class ShowcasePermanentlyDeletedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcasePermanentlyDeletedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcasePermanentlyDeletedType(description={!r})'.format( + self._description_value, + ) + +ShowcasePermanentlyDeletedType_validator = bv.Struct(ShowcasePermanentlyDeletedType) + +class ShowcasePostCommentDetails(bb.Struct): + """ + Added showcase comment. + + :ivar team_log.ShowcasePostCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.ShowcasePostCommentDetails.comment_text: Comment text. + """ + + __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. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcasePostCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcasePostCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +ShowcasePostCommentDetails_validator = bv.Struct(ShowcasePostCommentDetails) + +class ShowcasePostCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcasePostCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcasePostCommentType(description={!r})'.format( + self._description_value, + ) + +ShowcasePostCommentType_validator = bv.Struct(ShowcasePostCommentType) + +class ShowcaseRemoveMemberDetails(bb.Struct): + """ + Removed member from showcase. + + :ivar team_log.ShowcaseRemoveMemberDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRemoveMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRemoveMemberDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseRemoveMemberDetails_validator = bv.Struct(ShowcaseRemoveMemberDetails) + +class ShowcaseRemoveMemberType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRemoveMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRemoveMemberType(description={!r})'.format( + self._description_value, + ) + +ShowcaseRemoveMemberType_validator = bv.Struct(ShowcaseRemoveMemberType) + +class ShowcaseRenamedDetails(bb.Struct): + """ + Renamed showcase. + + :ivar team_log.ShowcaseRenamedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRenamedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRenamedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseRenamedDetails_validator = bv.Struct(ShowcaseRenamedDetails) + +class ShowcaseRenamedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRenamedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRenamedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseRenamedType_validator = bv.Struct(ShowcaseRenamedType) + +class ShowcaseRequestAccessDetails(bb.Struct): + """ + Requested access to showcase. + + :ivar team_log.ShowcaseRequestAccessDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRequestAccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRequestAccessDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseRequestAccessDetails_validator = bv.Struct(ShowcaseRequestAccessDetails) + +class ShowcaseRequestAccessType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRequestAccessType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRequestAccessType(description={!r})'.format( + self._description_value, + ) + +ShowcaseRequestAccessType_validator = bv.Struct(ShowcaseRequestAccessType) + +class ShowcaseResolveCommentDetails(bb.Struct): + """ + Resolved showcase comment. + + :ivar team_log.ShowcaseResolveCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.ShowcaseResolveCommentDetails.comment_text: Comment text. + """ + + __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. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseResolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseResolveCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +ShowcaseResolveCommentDetails_validator = bv.Struct(ShowcaseResolveCommentDetails) + +class ShowcaseResolveCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseResolveCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseResolveCommentType(description={!r})'.format( + self._description_value, + ) + +ShowcaseResolveCommentType_validator = bv.Struct(ShowcaseResolveCommentType) + +class ShowcaseRestoredDetails(bb.Struct): + """ + Unarchived showcase. + + :ivar team_log.ShowcaseRestoredDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRestoredDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRestoredDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseRestoredDetails_validator = bv.Struct(ShowcaseRestoredDetails) + +class ShowcaseRestoredType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseRestoredType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseRestoredType(description={!r})'.format( + self._description_value, + ) + +ShowcaseRestoredType_validator = bv.Struct(ShowcaseRestoredType) + +class ShowcaseTrashedDeprecatedDetails(bb.Struct): + """ + Deleted showcase (old version). + + :ivar team_log.ShowcaseTrashedDeprecatedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseTrashedDeprecatedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseTrashedDeprecatedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseTrashedDeprecatedDetails_validator = bv.Struct(ShowcaseTrashedDeprecatedDetails) + +class ShowcaseTrashedDeprecatedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseTrashedDeprecatedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseTrashedDeprecatedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseTrashedDeprecatedType_validator = bv.Struct(ShowcaseTrashedDeprecatedType) + +class ShowcaseTrashedDetails(bb.Struct): + """ + Deleted showcase. + + :ivar team_log.ShowcaseTrashedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseTrashedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseTrashedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseTrashedDetails_validator = bv.Struct(ShowcaseTrashedDetails) + +class ShowcaseTrashedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseTrashedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseTrashedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseTrashedType_validator = bv.Struct(ShowcaseTrashedType) + +class ShowcaseUnresolveCommentDetails(bb.Struct): + """ + Unresolved showcase comment. + + :ivar team_log.ShowcaseUnresolveCommentDetails.event_uuid: Event unique + identifier. + :ivar team_log.ShowcaseUnresolveCommentDetails.comment_text: Comment text. + """ + + __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. + + :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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseUnresolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseUnresolveCommentDetails(event_uuid={!r}, comment_text={!r})'.format( + self._event_uuid_value, + self._comment_text_value, + ) + +ShowcaseUnresolveCommentDetails_validator = bv.Struct(ShowcaseUnresolveCommentDetails) + +class ShowcaseUnresolveCommentType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseUnresolveCommentType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseUnresolveCommentType(description={!r})'.format( + self._description_value, + ) + +ShowcaseUnresolveCommentType_validator = bv.Struct(ShowcaseUnresolveCommentType) + +class ShowcaseUntrashedDeprecatedDetails(bb.Struct): + """ + Restored showcase (old version). + + :ivar team_log.ShowcaseUntrashedDeprecatedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseUntrashedDeprecatedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseUntrashedDeprecatedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseUntrashedDeprecatedDetails_validator = bv.Struct(ShowcaseUntrashedDeprecatedDetails) + +class ShowcaseUntrashedDeprecatedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseUntrashedDeprecatedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseUntrashedDeprecatedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseUntrashedDeprecatedType_validator = bv.Struct(ShowcaseUntrashedDeprecatedType) + +class ShowcaseUntrashedDetails(bb.Struct): + """ + Restored showcase. + + :ivar team_log.ShowcaseUntrashedDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseUntrashedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseUntrashedDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseUntrashedDetails_validator = bv.Struct(ShowcaseUntrashedDetails) + +class ShowcaseUntrashedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseUntrashedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseUntrashedType(description={!r})'.format( + self._description_value, + ) + +ShowcaseUntrashedType_validator = bv.Struct(ShowcaseUntrashedType) + +class ShowcaseViewDetails(bb.Struct): + """ + Viewed showcase. + + :ivar team_log.ShowcaseViewDetails.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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseViewDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseViewDetails(event_uuid={!r})'.format( + self._event_uuid_value, + ) + +ShowcaseViewDetails_validator = bv.Struct(ShowcaseViewDetails) + +class ShowcaseViewType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseViewType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseViewType(description={!r})'.format( + self._description_value, + ) + +ShowcaseViewType_validator = bv.Struct(ShowcaseViewType) + +class SignInAsSessionEndDetails(bb.Struct): + """ + Ended admin sign-in-as session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SignInAsSessionEndDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SignInAsSessionEndDetails()' + +SignInAsSessionEndDetails_validator = bv.Struct(SignInAsSessionEndDetails) + +class SignInAsSessionEndType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SignInAsSessionEndType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SignInAsSessionEndType(description={!r})'.format( + self._description_value, + ) + +SignInAsSessionEndType_validator = bv.Struct(SignInAsSessionEndType) + +class SignInAsSessionStartDetails(bb.Struct): + """ + Started admin sign-in-as session. + """ + + __slots__ = [ + ] + + _has_required_fields = False + + def __init__(self): + pass + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SignInAsSessionStartDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SignInAsSessionStartDetails()' + +SignInAsSessionStartDetails_validator = bv.Struct(SignInAsSessionStartDetails) + +class SignInAsSessionStartType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SignInAsSessionStartType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SignInAsSessionStartType(description={!r})'.format( + self._description_value, + ) + +SignInAsSessionStartType_validator = bv.Struct(SignInAsSessionStartType) + +class SmartSyncChangePolicyDetails(bb.Struct): + """ + Changed default Smart Sync setting for team members. + + :ivar team_log.SmartSyncChangePolicyDetails.new_value: New smart sync + policy. + :ivar team_log.SmartSyncChangePolicyDetails.previous_value: Previous smart + sync policy. + """ + + __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 smart sync policy. + + :rtype: team_policies.SmartSyncPolicy + """ + 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 smart sync policy. + + :rtype: team_policies.SmartSyncPolicy """ if self._previous_value_present: return self._previous_value_value @@ -33471,6 +62543,9 @@ class SmartSyncChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SmartSyncChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -33479,9 +62554,56 @@ class SmartSyncChangePolicyDetails(object): SmartSyncChangePolicyDetails_validator = bv.Struct(SmartSyncChangePolicyDetails) -class SmartSyncCreateAdminPrivilegeReportDetails(object): +class SmartSyncChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SmartSyncChangePolicyType(description={!r})'.format( + self._description_value, + ) + +SmartSyncChangePolicyType_validator = bv.Struct(SmartSyncChangePolicyType) + +class SmartSyncCreateAdminPrivilegeReportDetails(bb.Struct): """ - Smart Sync non-admin devices report created. + Created Smart Sync non-admin devices report. """ __slots__ = [ @@ -33492,17 +62614,69 @@ class SmartSyncCreateAdminPrivilegeReportDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncCreateAdminPrivilegeReportDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SmartSyncCreateAdminPrivilegeReportDetails()' SmartSyncCreateAdminPrivilegeReportDetails_validator = bv.Struct(SmartSyncCreateAdminPrivilegeReportDetails) -class SmartSyncNotOptOutDetails(object): +class SmartSyncCreateAdminPrivilegeReportType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncCreateAdminPrivilegeReportType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SmartSyncCreateAdminPrivilegeReportType(description={!r})'.format( + self._description_value, + ) + +SmartSyncCreateAdminPrivilegeReportType_validator = bv.Struct(SmartSyncCreateAdminPrivilegeReportType) + +class SmartSyncNotOptOutDetails(bb.Struct): """ Opted team into Smart Sync. - :ivar previous_value: Previous Smart Sync opt out policy. - :ivar new_value: New Smart Sync opt out policy. + :ivar team_log.SmartSyncNotOptOutDetails.previous_value: Previous Smart Sync + opt out policy. + :ivar team_log.SmartSyncNotOptOutDetails.new_value: New Smart Sync opt out + policy. """ __slots__ = [ @@ -33572,6 +62746,9 @@ class SmartSyncNotOptOutDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncNotOptOutDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SmartSyncNotOptOutDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -33580,12 +62757,61 @@ class SmartSyncNotOptOutDetails(object): SmartSyncNotOptOutDetails_validator = bv.Struct(SmartSyncNotOptOutDetails) -class SmartSyncOptOutDetails(object): +class SmartSyncNotOptOutType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncNotOptOutType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SmartSyncNotOptOutType(description={!r})'.format( + self._description_value, + ) + +SmartSyncNotOptOutType_validator = bv.Struct(SmartSyncNotOptOutType) + +class SmartSyncOptOutDetails(bb.Struct): """ Opted team out of Smart Sync. - :ivar previous_value: Previous Smart Sync opt out policy. - :ivar new_value: New Smart Sync opt out policy. + :ivar team_log.SmartSyncOptOutDetails.previous_value: Previous Smart Sync + opt out policy. + :ivar team_log.SmartSyncOptOutDetails.new_value: New Smart Sync opt out + policy. """ __slots__ = [ @@ -33655,6 +62881,9 @@ class SmartSyncOptOutDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncOptOutDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SmartSyncOptOutDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -33702,13 +62931,65 @@ class SmartSyncOptOutPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncOptOutPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SmartSyncOptOutPolicy(%r, %r)' % (self._tag, self._value) SmartSyncOptOutPolicy_validator = bv.Union(SmartSyncOptOutPolicy) -class SmartSyncPolicy(bb.Union): +class SmartSyncOptOutType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncOptOutType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SmartSyncOptOutType(description={!r})'.format( + self._description_value, + ) + +SmartSyncOptOutType_validator = bv.Struct(SmartSyncOptOutType) + +class SpaceCapsType(bb.Union): """ + Space limit alert policy + 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. @@ -33716,27 +62997,37 @@ class SmartSyncPolicy(bb.Union): _catch_all = 'other' # Attribute is overwritten below the class definition - local_only = None + hard = None # Attribute is overwritten below the class definition - synced = None + off = None + # Attribute is overwritten below the class definition + soft = None # Attribute is overwritten below the class definition other = None - def is_local_only(self): + def is_hard(self): """ - Check if the union tag is ``local_only``. + Check if the union tag is ``hard``. :rtype: bool """ - return self._tag == 'local_only' + return self._tag == 'hard' - def is_synced(self): + def is_off(self): """ - Check if the union tag is ``synced``. + Check if the union tag is ``off``. :rtype: bool """ - return self._tag == 'synced' + return self._tag == 'off' + + def is_soft(self): + """ + Check if the union tag is ``soft``. + + :rtype: bool + """ + return self._tag == 'soft' def is_other(self): """ @@ -33746,74 +63037,13 @@ class SmartSyncPolicy(bb.Union): """ 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(SpaceCapsType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'SpaceLimitsLevel(%r, %r)' % (self._tag, self._value) + return 'SpaceCapsType(%r, %r)' % (self._tag, self._value) -SpaceLimitsLevel_validator = bv.Union(SpaceLimitsLevel) +SpaceCapsType_validator = bv.Union(SpaceCapsType) class SpaceLimitsStatus(bb.Union): """ @@ -33864,16 +63094,20 @@ class SpaceLimitsStatus(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SpaceLimitsStatus, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SpaceLimitsStatus(%r, %r)' % (self._tag, self._value) SpaceLimitsStatus_validator = bv.Union(SpaceLimitsStatus) -class SsoAddCertDetails(object): +class SsoAddCertDetails(bb.Struct): """ - Added the X.509 certificate for SSO. + Added X.509 certificate for SSO. - :ivar certificate_details: SSO certificate details. + :ivar team_log.SsoAddCertDetails.certificate_details: SSO certificate + details. """ __slots__ = [ @@ -33913,6 +63147,9 @@ class SsoAddCertDetails(object): self._certificate_details_value = None self._certificate_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoAddCertDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoAddCertDetails(certificate_details={!r})'.format( self._certificate_details_value, @@ -33920,11 +63157,59 @@ class SsoAddCertDetails(object): SsoAddCertDetails_validator = bv.Struct(SsoAddCertDetails) -class SsoAddLoginUrlDetails(object): +class SsoAddCertType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoAddCertType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoAddCertType(description={!r})'.format( + self._description_value, + ) + +SsoAddCertType_validator = bv.Struct(SsoAddCertType) + +class SsoAddLoginUrlDetails(bb.Struct): """ Added sign-in URL for SSO. - :ivar new_value: New single sign-on login URL. + :ivar team_log.SsoAddLoginUrlDetails.new_value: New single sign-on login + URL. """ __slots__ = [ @@ -33964,6 +63249,9 @@ class SsoAddLoginUrlDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoAddLoginUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoAddLoginUrlDetails(new_value={!r})'.format( self._new_value_value, @@ -33971,12 +63259,59 @@ class SsoAddLoginUrlDetails(object): SsoAddLoginUrlDetails_validator = bv.Struct(SsoAddLoginUrlDetails) -class SsoAddLogoutUrlDetails(object): +class SsoAddLoginUrlType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoAddLoginUrlType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoAddLoginUrlType(description={!r})'.format( + self._description_value, + ) + +SsoAddLoginUrlType_validator = bv.Struct(SsoAddLoginUrlType) + +class SsoAddLogoutUrlDetails(bb.Struct): """ Added sign-out URL for SSO. - :ivar new_value: New single sign-on logout URL. Might be missing due to - historical data gap. + :ivar team_log.SsoAddLogoutUrlDetails.new_value: New single sign-on logout + URL. Might be missing due to historical data gap. """ __slots__ = [ @@ -34020,6 +63355,9 @@ class SsoAddLogoutUrlDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoAddLogoutUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoAddLogoutUrlDetails(new_value={!r})'.format( self._new_value_value, @@ -34027,12 +63365,61 @@ class SsoAddLogoutUrlDetails(object): SsoAddLogoutUrlDetails_validator = bv.Struct(SsoAddLogoutUrlDetails) -class SsoChangeCertDetails(object): - """ - Changed the X.509 certificate for SSO. +class SsoAddLogoutUrlType(bb.Struct): - :ivar previous_certificate_details: Previous SSO certificate details. - :ivar new_certificate_details: New SSO certificate details. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoAddLogoutUrlType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoAddLogoutUrlType(description={!r})'.format( + self._description_value, + ) + +SsoAddLogoutUrlType_validator = bv.Struct(SsoAddLogoutUrlType) + +class SsoChangeCertDetails(bb.Struct): + """ + Changed X.509 certificate for SSO. + + :ivar team_log.SsoChangeCertDetails.previous_certificate_details: Previous + SSO certificate details. Might be missing due to historical data gap. + :ivar team_log.SsoChangeCertDetails.new_certificate_details: New SSO + certificate details. """ __slots__ = [ @@ -34059,7 +63446,8 @@ class SsoChangeCertDetails(object): @property def previous_certificate_details(self): """ - Previous SSO certificate details. + Previous SSO certificate details. Might be missing due to historical + data gap. :rtype: Certificate """ @@ -34105,6 +63493,9 @@ class SsoChangeCertDetails(object): self._new_certificate_details_value = None self._new_certificate_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeCertDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoChangeCertDetails(new_certificate_details={!r}, previous_certificate_details={!r})'.format( self._new_certificate_details_value, @@ -34113,12 +63504,61 @@ class SsoChangeCertDetails(object): SsoChangeCertDetails_validator = bv.Struct(SsoChangeCertDetails) -class SsoChangeLoginUrlDetails(object): - """ - Changed the sign-in URL for SSO. +class SsoChangeCertType(bb.Struct): - :ivar previous_value: Previous single sign-on login URL. - :ivar new_value: New single sign-on login URL. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeCertType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoChangeCertType(description={!r})'.format( + self._description_value, + ) + +SsoChangeCertType_validator = bv.Struct(SsoChangeCertType) + +class SsoChangeLoginUrlDetails(bb.Struct): + """ + Changed sign-in URL for SSO. + + :ivar team_log.SsoChangeLoginUrlDetails.previous_value: Previous single + sign-on login URL. + :ivar team_log.SsoChangeLoginUrlDetails.new_value: New single sign-on login + URL. """ __slots__ = [ @@ -34188,6 +63628,9 @@ class SsoChangeLoginUrlDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeLoginUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoChangeLoginUrlDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -34196,14 +63639,61 @@ class SsoChangeLoginUrlDetails(object): SsoChangeLoginUrlDetails_validator = bv.Struct(SsoChangeLoginUrlDetails) -class SsoChangeLogoutUrlDetails(object): - """ - Changed the sign-out URL for SSO. +class SsoChangeLoginUrlType(bb.Struct): - :ivar previous_value: Previous single sign-on logout URL. Might be missing - due to historical data gap. - :ivar new_value: New single sign-on logout URL. Might be missing due to - historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeLoginUrlType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoChangeLoginUrlType(description={!r})'.format( + self._description_value, + ) + +SsoChangeLoginUrlType_validator = bv.Struct(SsoChangeLoginUrlType) + +class SsoChangeLogoutUrlDetails(bb.Struct): + """ + Changed sign-out URL for SSO. + + :ivar team_log.SsoChangeLogoutUrlDetails.previous_value: Previous single + sign-on logout URL. Might be missing due to historical data gap. + :ivar team_log.SsoChangeLogoutUrlDetails.new_value: New single sign-on + logout URL. Might be missing due to historical data gap. """ __slots__ = [ @@ -34281,6 +63771,9 @@ class SsoChangeLogoutUrlDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeLogoutUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoChangeLogoutUrlDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -34289,13 +63782,60 @@ class SsoChangeLogoutUrlDetails(object): SsoChangeLogoutUrlDetails_validator = bv.Struct(SsoChangeLogoutUrlDetails) -class SsoChangePolicyDetails(object): - """ - Change the single sign-on policy for the team. +class SsoChangeLogoutUrlType(bb.Struct): - :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__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeLogoutUrlType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoChangeLogoutUrlType(description={!r})'.format( + self._description_value, + ) + +SsoChangeLogoutUrlType_validator = bv.Struct(SsoChangeLogoutUrlType) + +class SsoChangePolicyDetails(bb.Struct): + """ + Changed single sign-on setting for team. + + :ivar team_log.SsoChangePolicyDetails.new_value: New single sign-on policy. + :ivar team_log.SsoChangePolicyDetails.previous_value: Previous single + sign-on policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -34324,7 +63864,7 @@ class SsoChangePolicyDetails(object): """ New single sign-on policy. - :rtype: team_policies.SsoPolicy_validator + :rtype: team_policies.SsoPolicy """ if self._new_value_present: return self._new_value_value @@ -34348,7 +63888,7 @@ class SsoChangePolicyDetails(object): Previous single sign-on policy. Might be missing due to historical data gap. - :rtype: team_policies.SsoPolicy_validator + :rtype: team_policies.SsoPolicy """ if self._previous_value_present: return self._previous_value_value @@ -34369,6 +63909,9 @@ class SsoChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -34377,12 +63920,61 @@ class SsoChangePolicyDetails(object): SsoChangePolicyDetails_validator = bv.Struct(SsoChangePolicyDetails) -class SsoChangeSamlIdentityModeDetails(object): - """ - Changed the SAML identity mode for SSO. +class SsoChangePolicyType(bb.Struct): - :ivar previous_value: Previous single sign-on identity mode. - :ivar new_value: New single sign-on identity mode. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoChangePolicyType(description={!r})'.format( + self._description_value, + ) + +SsoChangePolicyType_validator = bv.Struct(SsoChangePolicyType) + +class SsoChangeSamlIdentityModeDetails(bb.Struct): + """ + Changed SAML identity mode for SSO. + + :ivar team_log.SsoChangeSamlIdentityModeDetails.previous_value: Previous + single sign-on identity mode. + :ivar team_log.SsoChangeSamlIdentityModeDetails.new_value: New single + sign-on identity mode. """ __slots__ = [ @@ -34411,7 +64003,7 @@ class SsoChangeSamlIdentityModeDetails(object): """ Previous single sign-on identity mode. - :rtype: long + :rtype: int """ if self._previous_value_present: return self._previous_value_value @@ -34434,7 +64026,7 @@ class SsoChangeSamlIdentityModeDetails(object): """ New single sign-on identity mode. - :rtype: long + :rtype: int """ if self._new_value_present: return self._new_value_value @@ -34452,6 +64044,9 @@ class SsoChangeSamlIdentityModeDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeSamlIdentityModeDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoChangeSamlIdentityModeDetails(previous_value={!r}, new_value={!r})'.format( self._previous_value_value, @@ -34460,11 +64055,58 @@ class SsoChangeSamlIdentityModeDetails(object): SsoChangeSamlIdentityModeDetails_validator = bv.Struct(SsoChangeSamlIdentityModeDetails) -class SsoLoginFailDetails(object): - """ - Failed to sign in using SSO. +class SsoChangeSamlIdentityModeType(bb.Struct): - :ivar error_details: Login failure details. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoChangeSamlIdentityModeType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoChangeSamlIdentityModeType(description={!r})'.format( + self._description_value, + ) + +SsoChangeSamlIdentityModeType_validator = bv.Struct(SsoChangeSamlIdentityModeType) + +class SsoErrorDetails(bb.Struct): + """ + Failed to sign in via SSO. + + :ivar team_log.SsoErrorDetails.error_details: Error details. """ __slots__ = [ @@ -34484,7 +64126,7 @@ class SsoLoginFailDetails(object): @property def error_details(self): """ - Login failure details. + Error details. :rtype: FailureDetailsLogInfo """ @@ -34504,16 +64146,66 @@ class SsoLoginFailDetails(object): self._error_details_value = None self._error_details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoErrorDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'SsoLoginFailDetails(error_details={!r})'.format( + return 'SsoErrorDetails(error_details={!r})'.format( self._error_details_value, ) -SsoLoginFailDetails_validator = bv.Struct(SsoLoginFailDetails) +SsoErrorDetails_validator = bv.Struct(SsoErrorDetails) -class SsoRemoveCertDetails(object): +class SsoErrorType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoErrorType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoErrorType(description={!r})'.format( + self._description_value, + ) + +SsoErrorType_validator = bv.Struct(SsoErrorType) + +class SsoRemoveCertDetails(bb.Struct): """ - Removed the X.509 certificate for SSO. + Removed X.509 certificate for SSO. """ __slots__ = [ @@ -34524,16 +64216,67 @@ class SsoRemoveCertDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoRemoveCertDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoRemoveCertDetails()' SsoRemoveCertDetails_validator = bv.Struct(SsoRemoveCertDetails) -class SsoRemoveLoginUrlDetails(object): - """ - Removed the sign-in URL for SSO. +class SsoRemoveCertType(bb.Struct): - :ivar previous_value: Previous single sign-on login URL. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoRemoveCertType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoRemoveCertType(description={!r})'.format( + self._description_value, + ) + +SsoRemoveCertType_validator = bv.Struct(SsoRemoveCertType) + +class SsoRemoveLoginUrlDetails(bb.Struct): + """ + Removed sign-in URL for SSO. + + :ivar team_log.SsoRemoveLoginUrlDetails.previous_value: Previous single + sign-on login URL. """ __slots__ = [ @@ -34573,6 +64316,9 @@ class SsoRemoveLoginUrlDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoRemoveLoginUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoRemoveLoginUrlDetails(previous_value={!r})'.format( self._previous_value_value, @@ -34580,11 +64326,59 @@ class SsoRemoveLoginUrlDetails(object): SsoRemoveLoginUrlDetails_validator = bv.Struct(SsoRemoveLoginUrlDetails) -class SsoRemoveLogoutUrlDetails(object): - """ - Removed single sign-on logout URL. +class SsoRemoveLoginUrlType(bb.Struct): - :ivar previous_value: Previous single sign-on logout URL. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoRemoveLoginUrlType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoRemoveLoginUrlType(description={!r})'.format( + self._description_value, + ) + +SsoRemoveLoginUrlType_validator = bv.Struct(SsoRemoveLoginUrlType) + +class SsoRemoveLogoutUrlDetails(bb.Struct): + """ + Removed sign-out URL for SSO. + + :ivar team_log.SsoRemoveLogoutUrlDetails.previous_value: Previous single + sign-on logout URL. """ __slots__ = [ @@ -34624,6 +64418,9 @@ class SsoRemoveLogoutUrlDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoRemoveLogoutUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoRemoveLogoutUrlDetails(previous_value={!r})'.format( self._previous_value_value, @@ -34631,12 +64428,60 @@ class SsoRemoveLogoutUrlDetails(object): SsoRemoveLogoutUrlDetails_validator = bv.Struct(SsoRemoveLogoutUrlDetails) -class TeamActivityCreateReportDetails(object): - """ - Created a team activity report. +class SsoRemoveLogoutUrlType(bb.Struct): - :ivar start_date: Report start date. - :ivar end_date: Report end date. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoRemoveLogoutUrlType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SsoRemoveLogoutUrlType(description={!r})'.format( + self._description_value, + ) + +SsoRemoveLogoutUrlType_validator = bv.Struct(SsoRemoveLogoutUrlType) + +class TeamActivityCreateReportDetails(bb.Struct): + """ + Created team activity report. + + :ivar team_log.TeamActivityCreateReportDetails.start_date: Report start + date. + :ivar team_log.TeamActivityCreateReportDetails.end_date: Report end date. """ __slots__ = [ @@ -34706,6 +64551,9 @@ class TeamActivityCreateReportDetails(object): self._end_date_value = None self._end_date_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamActivityCreateReportDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamActivityCreateReportDetails(start_date={!r}, end_date={!r})'.format( self._start_date_value, @@ -34714,31 +64562,185 @@ class TeamActivityCreateReportDetails(object): TeamActivityCreateReportDetails_validator = bv.Struct(TeamActivityCreateReportDetails) -class TeamEvent(object): +class TeamActivityCreateReportFailDetails(bb.Struct): + """ + Couldn't generate team activity report. + + :ivar team_log.TeamActivityCreateReportFailDetails.failure_reason: Failure + reason. + """ + + __slots__ = [ + '_failure_reason_value', + '_failure_reason_present', + ] + + _has_required_fields = True + + 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): + """ + Failure reason. + + :rtype: team.TeamReportFailureReason + """ + if self._failure_reason_present: + return self._failure_reason_value + else: + raise AttributeError("missing required field 'failure_reason'") + + @failure_reason.setter + def failure_reason(self, val): + self._failure_reason_validator.validate_type_only(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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamActivityCreateReportFailDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamActivityCreateReportFailDetails(failure_reason={!r})'.format( + self._failure_reason_value, + ) + +TeamActivityCreateReportFailDetails_validator = bv.Struct(TeamActivityCreateReportFailDetails) + +class TeamActivityCreateReportFailType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamActivityCreateReportFailType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamActivityCreateReportFailType(description={!r})'.format( + self._description_value, + ) + +TeamActivityCreateReportFailType_validator = bv.Struct(TeamActivityCreateReportFailType) + +class TeamActivityCreateReportType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamActivityCreateReportType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamActivityCreateReportType(description={!r})'.format( + self._description_value, + ) + +TeamActivityCreateReportType_validator = bv.Struct(TeamActivityCreateReportType) + +class TeamEvent(bb.Struct): """ An audit log event. - :ivar timestamp: The Dropbox timestamp representing when the action was - taken. - :ivar event_category: The category 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 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 + :ivar team_log.TeamEvent.timestamp: The Dropbox timestamp representing when + the action was taken. + :ivar team_log.TeamEvent.event_category: The category that this type of + action belongs to. + :ivar team_log.TeamEvent.actor: The entity who actually performed the + action. Might be missing due to historical data gap. + :ivar team_log.TeamEvent.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 team_log.TeamEvent.involve_non_team_member: True if the action + involved a non team member either as the actor or as one of the affected + users. Might be missing due to historical data gap. + :ivar team_log.TeamEvent.context: The user or team on whose behalf the actor + performed the action. Might be missing due to historical data gap. + :ivar team_log.TeamEvent.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 team_log.TeamEvent.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 team_log.TeamEvent.event_type: The particular type of action taken. + :ivar team_log.TeamEvent.details: The variable event schema applicable to + this type of action, instantiated with respect to this particular action. - :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 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__ = [ @@ -34769,12 +64771,12 @@ class TeamEvent(object): def __init__(self, timestamp=None, event_category=None, - actor=None, - involve_non_team_member=None, - context=None, event_type=None, details=None, + actor=None, origin=None, + involve_non_team_member=None, + context=None, participants=None, assets=None): self._timestamp_value = None @@ -34867,17 +64869,21 @@ class TeamEvent(object): @property def actor(self): """ - The entity who actually performed the action. + The entity who actually performed the action. Might be missing due to + historical data gap. :rtype: ActorLogInfo """ if self._actor_present: return self._actor_value else: - raise AttributeError("missing required field 'actor'") + return None @actor.setter def actor(self, val): + if val is None: + del self.actor + return self._actor_validator.validate_type_only(val) self._actor_value = val self._actor_present = True @@ -34920,17 +64926,20 @@ class TeamEvent(object): 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. + one of the affected users. Might be missing due to historical data gap. :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'") + return None @involve_non_team_member.setter def involve_non_team_member(self, val): + if val is None: + del self.involve_non_team_member + return val = self._involve_non_team_member_validator.validate(val) self._involve_non_team_member_value = val self._involve_non_team_member_present = True @@ -34943,17 +64952,21 @@ class TeamEvent(object): @property def context(self): """ - The user or team on whose behalf the actor performed the action. + The user or team on whose behalf the actor performed the action. Might + be missing due to historical data gap. :rtype: ContextLogInfo """ if self._context_present: return self._context_value else: - raise AttributeError("missing required field 'context'") + return None @context.setter def context(self, val): + if val is None: + del self.context + return self._context_validator.validate_type_only(val) self._context_value = val self._context_present = True @@ -35065,29 +65078,217 @@ class TeamEvent(object): self._details_value = None self._details_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamEvent, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'TeamEvent(timestamp={!r}, event_category={!r}, actor={!r}, involve_non_team_member={!r}, context={!r}, event_type={!r}, details={!r}, origin={!r}, participants={!r}, assets={!r})'.format( + return 'TeamEvent(timestamp={!r}, event_category={!r}, event_type={!r}, details={!r}, actor={!r}, origin={!r}, involve_non_team_member={!r}, context={!r}, participants={!r}, assets={!r})'.format( self._timestamp_value, self._event_category_value, - self._actor_value, - self._involve_non_team_member_value, - self._context_value, self._event_type_value, self._details_value, + self._actor_value, self._origin_value, + self._involve_non_team_member_value, + self._context_value, self._participants_value, self._assets_value, ) TeamEvent_validator = bv.Struct(TeamEvent) -class TeamFolderChangeStatusDetails(object): +class TeamExtensionsPolicy(bb.Union): """ - Changed the archival status of a team folder. + Policy for controlling whether App Integrations are enabled for the team. - :ivar new_value: New team folder status. - :ivar previous_value: Previous team folder status. Might be missing due to - historical data gap. + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamExtensionsPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamExtensionsPolicy(%r, %r)' % (self._tag, self._value) + +TeamExtensionsPolicy_validator = bv.Union(TeamExtensionsPolicy) + +class TeamExtensionsPolicyChangedDetails(bb.Struct): + """ + Changed App Integrations setting for team. + + :ivar team_log.TeamExtensionsPolicyChangedDetails.new_value: New Extensions + policy. + :ivar team_log.TeamExtensionsPolicyChangedDetails.previous_value: Previous + Extensions 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 Extensions policy. + + :rtype: TeamExtensionsPolicy + """ + 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 Extensions policy. + + :rtype: TeamExtensionsPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamExtensionsPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamExtensionsPolicyChangedDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +TeamExtensionsPolicyChangedDetails_validator = bv.Struct(TeamExtensionsPolicyChangedDetails) + +class TeamExtensionsPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamExtensionsPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamExtensionsPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +TeamExtensionsPolicyChangedType_validator = bv.Struct(TeamExtensionsPolicyChangedType) + +class TeamFolderChangeStatusDetails(bb.Struct): + """ + Changed archival status of team folder. + + :ivar team_log.TeamFolderChangeStatusDetails.new_value: New team folder + status. + :ivar team_log.TeamFolderChangeStatusDetails.previous_value: Previous team + folder status. Might be missing due to historical data gap. """ __slots__ = [ @@ -35116,7 +65317,7 @@ class TeamFolderChangeStatusDetails(object): """ New team folder status. - :rtype: TeamFolderStatus + :rtype: team.TeamFolderStatus """ if self._new_value_present: return self._new_value_value @@ -35140,7 +65341,7 @@ class TeamFolderChangeStatusDetails(object): Previous team folder status. Might be missing due to historical data gap. - :rtype: TeamFolderStatus + :rtype: team.TeamFolderStatus """ if self._previous_value_present: return self._previous_value_value @@ -35161,6 +65362,9 @@ class TeamFolderChangeStatusDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderChangeStatusDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderChangeStatusDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -35169,9 +65373,56 @@ class TeamFolderChangeStatusDetails(object): TeamFolderChangeStatusDetails_validator = bv.Struct(TeamFolderChangeStatusDetails) -class TeamFolderCreateDetails(object): +class TeamFolderChangeStatusType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderChangeStatusType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamFolderChangeStatusType(description={!r})'.format( + self._description_value, + ) + +TeamFolderChangeStatusType_validator = bv.Struct(TeamFolderChangeStatusType) + +class TeamFolderCreateDetails(bb.Struct): """ - Created a new team folder in active status. + Created team folder in active status. """ __slots__ = [ @@ -35182,16 +65433,67 @@ class TeamFolderCreateDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderCreateDetails()' TeamFolderCreateDetails_validator = bv.Struct(TeamFolderCreateDetails) -class TeamFolderDowngradeDetails(object): - """ - Downgraded a team folder to a regular shared folder. +class TeamFolderCreateType(bb.Struct): - :ivar target_asset_index: Target asset position in the Assets list. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderCreateType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamFolderCreateType(description={!r})'.format( + self._description_value, + ) + +TeamFolderCreateType_validator = bv.Struct(TeamFolderCreateType) + +class TeamFolderDowngradeDetails(bb.Struct): + """ + Downgraded team folder to regular shared folder. + + :ivar team_log.TeamFolderDowngradeDetails.target_asset_index: Target asset + position in the Assets list. """ __slots__ = [ @@ -35213,7 +65515,7 @@ class TeamFolderDowngradeDetails(object): """ Target asset position in the Assets list. - :rtype: long + :rtype: int """ if self._target_asset_index_present: return self._target_asset_index_value @@ -35231,6 +65533,9 @@ class TeamFolderDowngradeDetails(object): self._target_asset_index_value = None self._target_asset_index_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderDowngradeDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderDowngradeDetails(target_asset_index={!r})'.format( self._target_asset_index_value, @@ -35238,9 +65543,56 @@ class TeamFolderDowngradeDetails(object): TeamFolderDowngradeDetails_validator = bv.Struct(TeamFolderDowngradeDetails) -class TeamFolderPermanentlyDeleteDetails(object): +class TeamFolderDowngradeType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderDowngradeType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamFolderDowngradeType(description={!r})'.format( + self._description_value, + ) + +TeamFolderDowngradeType_validator = bv.Struct(TeamFolderDowngradeType) + +class TeamFolderPermanentlyDeleteDetails(bb.Struct): """ - Permanently deleted an archived team folder. + Permanently deleted archived team folder. """ __slots__ = [ @@ -35251,106 +65603,194 @@ class TeamFolderPermanentlyDeleteDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderPermanentlyDeleteDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamFolderPermanentlyDeleteDetails()' TeamFolderPermanentlyDeleteDetails_validator = bv.Struct(TeamFolderPermanentlyDeleteDetails) -class TeamFolderRenameDetails(object): - """ - Renamed an active or archived team folder. - - :ivar relocate_action_details: Specifies the source and destination indices - in the assets list. - """ +class TeamFolderPermanentlyDeleteType(bb.Struct): __slots__ = [ - '_relocate_action_details_value', - '_relocate_action_details_present', + '_description_value', + '_description_present', ] _has_required_fields = True def __init__(self, - relocate_action_details=None): - self._relocate_action_details_value = None - self._relocate_action_details_present = False - if relocate_action_details is not None: - self.relocate_action_details = relocate_action_details + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description @property - def relocate_action_details(self): + def description(self): """ - Specifies the source and destination indices in the assets list. - - :rtype: RelocateAssetReferencesLogInfo + :rtype: str """ - if self._relocate_action_details_present: - return self._relocate_action_details_value + if self._description_present: + return self._description_value else: - raise AttributeError("missing required field 'relocate_action_details'") + raise AttributeError("missing required field 'description'") - @relocate_action_details.setter - def relocate_action_details(self, val): - self._relocate_action_details_validator.validate_type_only(val) - self._relocate_action_details_value = val - self._relocate_action_details_present = True + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - @relocate_action_details.deleter - def relocate_action_details(self): - self._relocate_action_details_value = None - self._relocate_action_details_present = False + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderPermanentlyDeleteType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'TeamFolderRenameDetails(relocate_action_details={!r})'.format( - self._relocate_action_details_value, + return 'TeamFolderPermanentlyDeleteType(description={!r})'.format( + self._description_value, + ) + +TeamFolderPermanentlyDeleteType_validator = bv.Struct(TeamFolderPermanentlyDeleteType) + +class TeamFolderRenameDetails(bb.Struct): + """ + Renamed active/archived team folder. + + :ivar team_log.TeamFolderRenameDetails.previous_folder_name: Previous folder + name. + :ivar team_log.TeamFolderRenameDetails.new_folder_name: New folder name. + """ + + __slots__ = [ + '_previous_folder_name_value', + '_previous_folder_name_present', + '_new_folder_name_value', + '_new_folder_name_present', + ] + + _has_required_fields = True + + def __init__(self, + previous_folder_name=None, + new_folder_name=None): + self._previous_folder_name_value = None + self._previous_folder_name_present = False + self._new_folder_name_value = None + self._new_folder_name_present = False + if previous_folder_name is not None: + self.previous_folder_name = previous_folder_name + if new_folder_name is not None: + self.new_folder_name = new_folder_name + + @property + def previous_folder_name(self): + """ + Previous folder name. + + :rtype: str + """ + if self._previous_folder_name_present: + return self._previous_folder_name_value + else: + raise AttributeError("missing required field 'previous_folder_name'") + + @previous_folder_name.setter + def previous_folder_name(self, val): + val = self._previous_folder_name_validator.validate(val) + self._previous_folder_name_value = val + self._previous_folder_name_present = True + + @previous_folder_name.deleter + def previous_folder_name(self): + self._previous_folder_name_value = None + self._previous_folder_name_present = False + + @property + def new_folder_name(self): + """ + New folder name. + + :rtype: str + """ + if self._new_folder_name_present: + return self._new_folder_name_value + else: + raise AttributeError("missing required field 'new_folder_name'") + + @new_folder_name.setter + def new_folder_name(self, val): + val = self._new_folder_name_validator.validate(val) + self._new_folder_name_value = val + self._new_folder_name_present = True + + @new_folder_name.deleter + def new_folder_name(self): + self._new_folder_name_value = None + self._new_folder_name_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderRenameDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamFolderRenameDetails(previous_folder_name={!r}, new_folder_name={!r})'.format( + self._previous_folder_name_value, + self._new_folder_name_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. - """ +class TeamFolderRenameType(bb.Struct): - _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 + __slots__ = [ + '_description_value', + '_description_present', + ] - def is_archive(self): + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): """ - Check if the union tag is ``archive``. - - :rtype: bool + :rtype: str """ - return self._tag == 'archive' + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") - def is_unarchive(self): - """ - Check if the union tag is ``unarchive``. + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True - :rtype: bool - """ - return self._tag == 'unarchive' + @description.deleter + def description(self): + self._description_value = None + self._description_present = False - def is_other(self): - """ - Check if the union tag is ``other``. - - :rtype: bool - """ - return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamFolderRenameType, self)._process_custom_annotations(annotation_type, field_path, processor) def __repr__(self): - return 'TeamFolderStatus(%r, %r)' % (self._tag, self._value) + return 'TeamFolderRenameType(description={!r})'.format( + self._description_value, + ) -TeamFolderStatus_validator = bv.Union(TeamFolderStatus) +TeamFolderRenameType_validator = bv.Struct(TeamFolderRenameType) class TeamLinkedAppLogInfo(AppLogInfo): """ @@ -35368,6 +65808,9 @@ class TeamLinkedAppLogInfo(AppLogInfo): super(TeamLinkedAppLogInfo, self).__init__(app_id, display_name) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamLinkedAppLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamLinkedAppLogInfo(app_id={!r}, display_name={!r})'.format( self._app_id_value, @@ -35380,9 +65823,10 @@ 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. + :ivar team_log.TeamMemberLogInfo.team_member_id: Team member ID. Might be + missing due to historical data gap. + :ivar team_log.TeamMemberLogInfo.member_external_id: Team member external + ID. """ __slots__ = [ @@ -35464,6 +65908,9 @@ class TeamMemberLogInfo(UserLogInfo): self._member_external_id_value = None self._member_external_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMemberLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + 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, @@ -35514,16 +65961,20 @@ class TeamMembershipType(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMembershipType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMembershipType(%r, %r)' % (self._tag, self._value) TeamMembershipType_validator = bv.Union(TeamMembershipType) -class TeamMergeFromDetails(object): +class TeamMergeFromDetails(bb.Struct): """ Merged another team into this team. - :ivar team_name: The name of the team that was merged into this team. + :ivar team_log.TeamMergeFromDetails.team_name: The name of the team that was + merged into this team. """ __slots__ = [ @@ -35563,6 +66014,9 @@ class TeamMergeFromDetails(object): self._team_name_value = None self._team_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeFromDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMergeFromDetails(team_name={!r})'.format( self._team_name_value, @@ -35570,11 +66024,2560 @@ class TeamMergeFromDetails(object): TeamMergeFromDetails_validator = bv.Struct(TeamMergeFromDetails) -class TeamMergeToDetails(object): +class TeamMergeFromType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeFromType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeFromType(description={!r})'.format( + self._description_value, + ) + +TeamMergeFromType_validator = bv.Struct(TeamMergeFromType) + +class TeamMergeRequestAcceptedDetails(bb.Struct): + """ + Accepted a team merge request. + + :ivar team_log.TeamMergeRequestAcceptedDetails.request_accepted_details: + Team merge request acceptance details. + """ + + __slots__ = [ + '_request_accepted_details_value', + '_request_accepted_details_present', + ] + + _has_required_fields = True + + def __init__(self, + request_accepted_details=None): + self._request_accepted_details_value = None + self._request_accepted_details_present = False + if request_accepted_details is not None: + self.request_accepted_details = request_accepted_details + + @property + def request_accepted_details(self): + """ + Team merge request acceptance details. + + :rtype: TeamMergeRequestAcceptedExtraDetails + """ + if self._request_accepted_details_present: + return self._request_accepted_details_value + else: + raise AttributeError("missing required field 'request_accepted_details'") + + @request_accepted_details.setter + def request_accepted_details(self, val): + self._request_accepted_details_validator.validate_type_only(val) + self._request_accepted_details_value = val + self._request_accepted_details_present = True + + @request_accepted_details.deleter + def request_accepted_details(self): + self._request_accepted_details_value = None + self._request_accepted_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAcceptedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAcceptedDetails(request_accepted_details={!r})'.format( + self._request_accepted_details_value, + ) + +TeamMergeRequestAcceptedDetails_validator = bv.Struct(TeamMergeRequestAcceptedDetails) + +class TeamMergeRequestAcceptedExtraDetails(bb.Union): + """ + Team merge request acceptance 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 PrimaryTeamRequestAcceptedDetails + TeamMergeRequestAcceptedExtraDetails.primary_team: Team merge request + accepted details shown to the primary team. + :ivar SecondaryTeamRequestAcceptedDetails + TeamMergeRequestAcceptedExtraDetails.secondary_team: Team merge request + accepted details shown to the secondary team. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def primary_team(cls, val): + """ + Create an instance of this class set to the ``primary_team`` tag with + value ``val``. + + :param PrimaryTeamRequestAcceptedDetails val: + :rtype: TeamMergeRequestAcceptedExtraDetails + """ + return cls('primary_team', val) + + @classmethod + def secondary_team(cls, val): + """ + Create an instance of this class set to the ``secondary_team`` tag with + value ``val``. + + :param SecondaryTeamRequestAcceptedDetails val: + :rtype: TeamMergeRequestAcceptedExtraDetails + """ + return cls('secondary_team', val) + + def is_primary_team(self): + """ + Check if the union tag is ``primary_team``. + + :rtype: bool + """ + return self._tag == 'primary_team' + + def is_secondary_team(self): + """ + Check if the union tag is ``secondary_team``. + + :rtype: bool + """ + return self._tag == 'secondary_team' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_primary_team(self): + """ + Team merge request accepted details shown to the primary team. + + Only call this if :meth:`is_primary_team` is true. + + :rtype: PrimaryTeamRequestAcceptedDetails + """ + if not self.is_primary_team(): + raise AttributeError("tag 'primary_team' not set") + return self._value + + def get_secondary_team(self): + """ + Team merge request accepted details shown to the secondary team. + + Only call this if :meth:`is_secondary_team` is true. + + :rtype: SecondaryTeamRequestAcceptedDetails + """ + if not self.is_secondary_team(): + raise AttributeError("tag 'secondary_team' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAcceptedExtraDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAcceptedExtraDetails(%r, %r)' % (self._tag, self._value) + +TeamMergeRequestAcceptedExtraDetails_validator = bv.Union(TeamMergeRequestAcceptedExtraDetails) + +class TeamMergeRequestAcceptedShownToPrimaryTeamDetails(bb.Struct): + """ + Accepted a team merge request. + + :ivar + team_log.TeamMergeRequestAcceptedShownToPrimaryTeamDetails.secondary_team: + The secondary team name. + :ivar team_log.TeamMergeRequestAcceptedShownToPrimaryTeamDetails.sent_by: + The name of the secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_by=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAcceptedShownToPrimaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAcceptedShownToPrimaryTeamDetails(secondary_team={!r}, sent_by={!r})'.format( + self._secondary_team_value, + self._sent_by_value, + ) + +TeamMergeRequestAcceptedShownToPrimaryTeamDetails_validator = bv.Struct(TeamMergeRequestAcceptedShownToPrimaryTeamDetails) + +class TeamMergeRequestAcceptedShownToPrimaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAcceptedShownToPrimaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAcceptedShownToPrimaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestAcceptedShownToPrimaryTeamType_validator = bv.Struct(TeamMergeRequestAcceptedShownToPrimaryTeamType) + +class TeamMergeRequestAcceptedShownToSecondaryTeamDetails(bb.Struct): + """ + Accepted a team merge request. + + :ivar + team_log.TeamMergeRequestAcceptedShownToSecondaryTeamDetails.primary_team: + The primary team name. + :ivar team_log.TeamMergeRequestAcceptedShownToSecondaryTeamDetails.sent_by: + The name of the secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_primary_team_value', + '_primary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + primary_team=None, + sent_by=None): + self._primary_team_value = None + self._primary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if primary_team is not None: + self.primary_team = primary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def primary_team(self): + """ + The primary team name. + + :rtype: str + """ + if self._primary_team_present: + return self._primary_team_value + else: + raise AttributeError("missing required field 'primary_team'") + + @primary_team.setter + def primary_team(self, val): + val = self._primary_team_validator.validate(val) + self._primary_team_value = val + self._primary_team_present = True + + @primary_team.deleter + def primary_team(self): + self._primary_team_value = None + self._primary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAcceptedShownToSecondaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAcceptedShownToSecondaryTeamDetails(primary_team={!r}, sent_by={!r})'.format( + self._primary_team_value, + self._sent_by_value, + ) + +TeamMergeRequestAcceptedShownToSecondaryTeamDetails_validator = bv.Struct(TeamMergeRequestAcceptedShownToSecondaryTeamDetails) + +class TeamMergeRequestAcceptedShownToSecondaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAcceptedShownToSecondaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAcceptedShownToSecondaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestAcceptedShownToSecondaryTeamType_validator = bv.Struct(TeamMergeRequestAcceptedShownToSecondaryTeamType) + +class TeamMergeRequestAcceptedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAcceptedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAcceptedType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestAcceptedType_validator = bv.Struct(TeamMergeRequestAcceptedType) + +class TeamMergeRequestAutoCanceledDetails(bb.Struct): + """ + Automatically canceled team merge request. + + :ivar team_log.TeamMergeRequestAutoCanceledDetails.details: The cancellation + reason. + """ + + __slots__ = [ + '_details_value', + '_details_present', + ] + + _has_required_fields = False + + def __init__(self, + details=None): + self._details_value = None + self._details_present = False + if details is not None: + self.details = details + + @property + def details(self): + """ + The cancellation reason. + + :rtype: str + """ + if self._details_present: + return self._details_value + else: + return None + + @details.setter + def details(self, val): + if val is None: + del self.details + return + val = self._details_validator.validate(val) + self._details_value = val + self._details_present = True + + @details.deleter + def details(self): + self._details_value = None + self._details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAutoCanceledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAutoCanceledDetails(details={!r})'.format( + self._details_value, + ) + +TeamMergeRequestAutoCanceledDetails_validator = bv.Struct(TeamMergeRequestAutoCanceledDetails) + +class TeamMergeRequestAutoCanceledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestAutoCanceledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestAutoCanceledType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestAutoCanceledType_validator = bv.Struct(TeamMergeRequestAutoCanceledType) + +class TeamMergeRequestCanceledDetails(bb.Struct): + """ + Canceled a team merge request. + + :ivar team_log.TeamMergeRequestCanceledDetails.request_canceled_details: + Team merge request cancellation details. + """ + + __slots__ = [ + '_request_canceled_details_value', + '_request_canceled_details_present', + ] + + _has_required_fields = True + + def __init__(self, + request_canceled_details=None): + self._request_canceled_details_value = None + self._request_canceled_details_present = False + if request_canceled_details is not None: + self.request_canceled_details = request_canceled_details + + @property + def request_canceled_details(self): + """ + Team merge request cancellation details. + + :rtype: TeamMergeRequestCanceledExtraDetails + """ + if self._request_canceled_details_present: + return self._request_canceled_details_value + else: + raise AttributeError("missing required field 'request_canceled_details'") + + @request_canceled_details.setter + def request_canceled_details(self, val): + self._request_canceled_details_validator.validate_type_only(val) + self._request_canceled_details_value = val + self._request_canceled_details_present = True + + @request_canceled_details.deleter + def request_canceled_details(self): + self._request_canceled_details_value = None + self._request_canceled_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestCanceledDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestCanceledDetails(request_canceled_details={!r})'.format( + self._request_canceled_details_value, + ) + +TeamMergeRequestCanceledDetails_validator = bv.Struct(TeamMergeRequestCanceledDetails) + +class TeamMergeRequestCanceledExtraDetails(bb.Union): + """ + Team merge request cancellation 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 PrimaryTeamRequestCanceledDetails + TeamMergeRequestCanceledExtraDetails.primary_team: Team merge request + cancellation details shown to the primary team. + :ivar SecondaryTeamRequestCanceledDetails + TeamMergeRequestCanceledExtraDetails.secondary_team: Team merge request + cancellation details shown to the secondary team. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def primary_team(cls, val): + """ + Create an instance of this class set to the ``primary_team`` tag with + value ``val``. + + :param PrimaryTeamRequestCanceledDetails val: + :rtype: TeamMergeRequestCanceledExtraDetails + """ + return cls('primary_team', val) + + @classmethod + def secondary_team(cls, val): + """ + Create an instance of this class set to the ``secondary_team`` tag with + value ``val``. + + :param SecondaryTeamRequestCanceledDetails val: + :rtype: TeamMergeRequestCanceledExtraDetails + """ + return cls('secondary_team', val) + + def is_primary_team(self): + """ + Check if the union tag is ``primary_team``. + + :rtype: bool + """ + return self._tag == 'primary_team' + + def is_secondary_team(self): + """ + Check if the union tag is ``secondary_team``. + + :rtype: bool + """ + return self._tag == 'secondary_team' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_primary_team(self): + """ + Team merge request cancellation details shown to the primary team. + + Only call this if :meth:`is_primary_team` is true. + + :rtype: PrimaryTeamRequestCanceledDetails + """ + if not self.is_primary_team(): + raise AttributeError("tag 'primary_team' not set") + return self._value + + def get_secondary_team(self): + """ + Team merge request cancellation details shown to the secondary team. + + Only call this if :meth:`is_secondary_team` is true. + + :rtype: SecondaryTeamRequestCanceledDetails + """ + if not self.is_secondary_team(): + raise AttributeError("tag 'secondary_team' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestCanceledExtraDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestCanceledExtraDetails(%r, %r)' % (self._tag, self._value) + +TeamMergeRequestCanceledExtraDetails_validator = bv.Union(TeamMergeRequestCanceledExtraDetails) + +class TeamMergeRequestCanceledShownToPrimaryTeamDetails(bb.Struct): + """ + Canceled a team merge request. + + :ivar + team_log.TeamMergeRequestCanceledShownToPrimaryTeamDetails.secondary_team: + The secondary team name. + :ivar team_log.TeamMergeRequestCanceledShownToPrimaryTeamDetails.sent_by: + The name of the secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_by=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestCanceledShownToPrimaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestCanceledShownToPrimaryTeamDetails(secondary_team={!r}, sent_by={!r})'.format( + self._secondary_team_value, + self._sent_by_value, + ) + +TeamMergeRequestCanceledShownToPrimaryTeamDetails_validator = bv.Struct(TeamMergeRequestCanceledShownToPrimaryTeamDetails) + +class TeamMergeRequestCanceledShownToPrimaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestCanceledShownToPrimaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestCanceledShownToPrimaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestCanceledShownToPrimaryTeamType_validator = bv.Struct(TeamMergeRequestCanceledShownToPrimaryTeamType) + +class TeamMergeRequestCanceledShownToSecondaryTeamDetails(bb.Struct): + """ + Canceled a team merge request. + + :ivar team_log.TeamMergeRequestCanceledShownToSecondaryTeamDetails.sent_to: + The email of the primary team admin that the request was sent to. + :ivar team_log.TeamMergeRequestCanceledShownToSecondaryTeamDetails.sent_by: + The name of the secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_sent_to_value', + '_sent_to_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_to=None, + sent_by=None): + self._sent_to_value = None + self._sent_to_present = False + self._sent_by_value = None + self._sent_by_present = False + if sent_to is not None: + self.sent_to = sent_to + if sent_by is not None: + self.sent_by = sent_by + + @property + def sent_to(self): + """ + The email of the primary team admin that the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestCanceledShownToSecondaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestCanceledShownToSecondaryTeamDetails(sent_to={!r}, sent_by={!r})'.format( + self._sent_to_value, + self._sent_by_value, + ) + +TeamMergeRequestCanceledShownToSecondaryTeamDetails_validator = bv.Struct(TeamMergeRequestCanceledShownToSecondaryTeamDetails) + +class TeamMergeRequestCanceledShownToSecondaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestCanceledShownToSecondaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestCanceledShownToSecondaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestCanceledShownToSecondaryTeamType_validator = bv.Struct(TeamMergeRequestCanceledShownToSecondaryTeamType) + +class TeamMergeRequestCanceledType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestCanceledType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestCanceledType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestCanceledType_validator = bv.Struct(TeamMergeRequestCanceledType) + +class TeamMergeRequestExpiredDetails(bb.Struct): + """ + Team merge request expired. + + :ivar team_log.TeamMergeRequestExpiredDetails.request_expired_details: Team + merge request expiration details. + """ + + __slots__ = [ + '_request_expired_details_value', + '_request_expired_details_present', + ] + + _has_required_fields = True + + def __init__(self, + request_expired_details=None): + self._request_expired_details_value = None + self._request_expired_details_present = False + if request_expired_details is not None: + self.request_expired_details = request_expired_details + + @property + def request_expired_details(self): + """ + Team merge request expiration details. + + :rtype: TeamMergeRequestExpiredExtraDetails + """ + if self._request_expired_details_present: + return self._request_expired_details_value + else: + raise AttributeError("missing required field 'request_expired_details'") + + @request_expired_details.setter + def request_expired_details(self, val): + self._request_expired_details_validator.validate_type_only(val) + self._request_expired_details_value = val + self._request_expired_details_present = True + + @request_expired_details.deleter + def request_expired_details(self): + self._request_expired_details_value = None + self._request_expired_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestExpiredDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestExpiredDetails(request_expired_details={!r})'.format( + self._request_expired_details_value, + ) + +TeamMergeRequestExpiredDetails_validator = bv.Struct(TeamMergeRequestExpiredDetails) + +class TeamMergeRequestExpiredExtraDetails(bb.Union): + """ + Team merge request expiration 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 PrimaryTeamRequestExpiredDetails + TeamMergeRequestExpiredExtraDetails.primary_team: Team merge request + canceled details shown to the primary team. + :ivar SecondaryTeamRequestExpiredDetails + TeamMergeRequestExpiredExtraDetails.secondary_team: Team merge request + canceled details shown to the secondary team. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def primary_team(cls, val): + """ + Create an instance of this class set to the ``primary_team`` tag with + value ``val``. + + :param PrimaryTeamRequestExpiredDetails val: + :rtype: TeamMergeRequestExpiredExtraDetails + """ + return cls('primary_team', val) + + @classmethod + def secondary_team(cls, val): + """ + Create an instance of this class set to the ``secondary_team`` tag with + value ``val``. + + :param SecondaryTeamRequestExpiredDetails val: + :rtype: TeamMergeRequestExpiredExtraDetails + """ + return cls('secondary_team', val) + + def is_primary_team(self): + """ + Check if the union tag is ``primary_team``. + + :rtype: bool + """ + return self._tag == 'primary_team' + + def is_secondary_team(self): + """ + Check if the union tag is ``secondary_team``. + + :rtype: bool + """ + return self._tag == 'secondary_team' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_primary_team(self): + """ + Team merge request canceled details shown to the primary team. + + Only call this if :meth:`is_primary_team` is true. + + :rtype: PrimaryTeamRequestExpiredDetails + """ + if not self.is_primary_team(): + raise AttributeError("tag 'primary_team' not set") + return self._value + + def get_secondary_team(self): + """ + Team merge request canceled details shown to the secondary team. + + Only call this if :meth:`is_secondary_team` is true. + + :rtype: SecondaryTeamRequestExpiredDetails + """ + if not self.is_secondary_team(): + raise AttributeError("tag 'secondary_team' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestExpiredExtraDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestExpiredExtraDetails(%r, %r)' % (self._tag, self._value) + +TeamMergeRequestExpiredExtraDetails_validator = bv.Union(TeamMergeRequestExpiredExtraDetails) + +class TeamMergeRequestExpiredShownToPrimaryTeamDetails(bb.Struct): + """ + Team merge request expired. + + :ivar + team_log.TeamMergeRequestExpiredShownToPrimaryTeamDetails.secondary_team: + The secondary team name. + :ivar team_log.TeamMergeRequestExpiredShownToPrimaryTeamDetails.sent_by: The + name of the secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_by=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestExpiredShownToPrimaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestExpiredShownToPrimaryTeamDetails(secondary_team={!r}, sent_by={!r})'.format( + self._secondary_team_value, + self._sent_by_value, + ) + +TeamMergeRequestExpiredShownToPrimaryTeamDetails_validator = bv.Struct(TeamMergeRequestExpiredShownToPrimaryTeamDetails) + +class TeamMergeRequestExpiredShownToPrimaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestExpiredShownToPrimaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestExpiredShownToPrimaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestExpiredShownToPrimaryTeamType_validator = bv.Struct(TeamMergeRequestExpiredShownToPrimaryTeamType) + +class TeamMergeRequestExpiredShownToSecondaryTeamDetails(bb.Struct): + """ + Team merge request expired. + + :ivar team_log.TeamMergeRequestExpiredShownToSecondaryTeamDetails.sent_to: + The email of the primary team admin the request was sent to. + """ + + __slots__ = [ + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_to=None): + self._sent_to_value = None + self._sent_to_present = False + if sent_to is not None: + self.sent_to = sent_to + + @property + def sent_to(self): + """ + The email of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestExpiredShownToSecondaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestExpiredShownToSecondaryTeamDetails(sent_to={!r})'.format( + self._sent_to_value, + ) + +TeamMergeRequestExpiredShownToSecondaryTeamDetails_validator = bv.Struct(TeamMergeRequestExpiredShownToSecondaryTeamDetails) + +class TeamMergeRequestExpiredShownToSecondaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestExpiredShownToSecondaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestExpiredShownToSecondaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestExpiredShownToSecondaryTeamType_validator = bv.Struct(TeamMergeRequestExpiredShownToSecondaryTeamType) + +class TeamMergeRequestExpiredType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestExpiredType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestExpiredType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestExpiredType_validator = bv.Struct(TeamMergeRequestExpiredType) + +class TeamMergeRequestRejectedShownToPrimaryTeamDetails(bb.Struct): + """ + Rejected a team merge request. + + :ivar + team_log.TeamMergeRequestRejectedShownToPrimaryTeamDetails.secondary_team: + The secondary team name. + :ivar team_log.TeamMergeRequestRejectedShownToPrimaryTeamDetails.sent_by: + The name of the secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_by=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_by_value = None + self._sent_by_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_by is not None: + self.sent_by = sent_by + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestRejectedShownToPrimaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestRejectedShownToPrimaryTeamDetails(secondary_team={!r}, sent_by={!r})'.format( + self._secondary_team_value, + self._sent_by_value, + ) + +TeamMergeRequestRejectedShownToPrimaryTeamDetails_validator = bv.Struct(TeamMergeRequestRejectedShownToPrimaryTeamDetails) + +class TeamMergeRequestRejectedShownToPrimaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestRejectedShownToPrimaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestRejectedShownToPrimaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestRejectedShownToPrimaryTeamType_validator = bv.Struct(TeamMergeRequestRejectedShownToPrimaryTeamType) + +class TeamMergeRequestRejectedShownToSecondaryTeamDetails(bb.Struct): + """ + Rejected a team merge request. + + :ivar team_log.TeamMergeRequestRejectedShownToSecondaryTeamDetails.sent_by: + The name of the secondary team admin who sent the request originally. + """ + + __slots__ = [ + '_sent_by_value', + '_sent_by_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_by=None): + self._sent_by_value = None + self._sent_by_present = False + if sent_by is not None: + self.sent_by = sent_by + + @property + def sent_by(self): + """ + The name of the secondary team admin who sent the request originally. + + :rtype: str + """ + if self._sent_by_present: + return self._sent_by_value + else: + raise AttributeError("missing required field 'sent_by'") + + @sent_by.setter + def sent_by(self, val): + val = self._sent_by_validator.validate(val) + self._sent_by_value = val + self._sent_by_present = True + + @sent_by.deleter + def sent_by(self): + self._sent_by_value = None + self._sent_by_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestRejectedShownToSecondaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestRejectedShownToSecondaryTeamDetails(sent_by={!r})'.format( + self._sent_by_value, + ) + +TeamMergeRequestRejectedShownToSecondaryTeamDetails_validator = bv.Struct(TeamMergeRequestRejectedShownToSecondaryTeamDetails) + +class TeamMergeRequestRejectedShownToSecondaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestRejectedShownToSecondaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestRejectedShownToSecondaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestRejectedShownToSecondaryTeamType_validator = bv.Struct(TeamMergeRequestRejectedShownToSecondaryTeamType) + +class TeamMergeRequestReminderDetails(bb.Struct): + """ + Sent a team merge request reminder. + + :ivar team_log.TeamMergeRequestReminderDetails.request_reminder_details: + Team merge request reminder details. + """ + + __slots__ = [ + '_request_reminder_details_value', + '_request_reminder_details_present', + ] + + _has_required_fields = True + + def __init__(self, + request_reminder_details=None): + self._request_reminder_details_value = None + self._request_reminder_details_present = False + if request_reminder_details is not None: + self.request_reminder_details = request_reminder_details + + @property + def request_reminder_details(self): + """ + Team merge request reminder details. + + :rtype: TeamMergeRequestReminderExtraDetails + """ + if self._request_reminder_details_present: + return self._request_reminder_details_value + else: + raise AttributeError("missing required field 'request_reminder_details'") + + @request_reminder_details.setter + def request_reminder_details(self, val): + self._request_reminder_details_validator.validate_type_only(val) + self._request_reminder_details_value = val + self._request_reminder_details_present = True + + @request_reminder_details.deleter + def request_reminder_details(self): + self._request_reminder_details_value = None + self._request_reminder_details_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestReminderDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestReminderDetails(request_reminder_details={!r})'.format( + self._request_reminder_details_value, + ) + +TeamMergeRequestReminderDetails_validator = bv.Struct(TeamMergeRequestReminderDetails) + +class TeamMergeRequestReminderExtraDetails(bb.Union): + """ + Team merge request reminder 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 PrimaryTeamRequestReminderDetails + TeamMergeRequestReminderExtraDetails.primary_team: Team merge request + reminder details shown to the primary team. + :ivar SecondaryTeamRequestReminderDetails + TeamMergeRequestReminderExtraDetails.secondary_team: Team merge request + reminder details shown to the secondary team. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + other = None + + @classmethod + def primary_team(cls, val): + """ + Create an instance of this class set to the ``primary_team`` tag with + value ``val``. + + :param PrimaryTeamRequestReminderDetails val: + :rtype: TeamMergeRequestReminderExtraDetails + """ + return cls('primary_team', val) + + @classmethod + def secondary_team(cls, val): + """ + Create an instance of this class set to the ``secondary_team`` tag with + value ``val``. + + :param SecondaryTeamRequestReminderDetails val: + :rtype: TeamMergeRequestReminderExtraDetails + """ + return cls('secondary_team', val) + + def is_primary_team(self): + """ + Check if the union tag is ``primary_team``. + + :rtype: bool + """ + return self._tag == 'primary_team' + + def is_secondary_team(self): + """ + Check if the union tag is ``secondary_team``. + + :rtype: bool + """ + return self._tag == 'secondary_team' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def get_primary_team(self): + """ + Team merge request reminder details shown to the primary team. + + Only call this if :meth:`is_primary_team` is true. + + :rtype: PrimaryTeamRequestReminderDetails + """ + if not self.is_primary_team(): + raise AttributeError("tag 'primary_team' not set") + return self._value + + def get_secondary_team(self): + """ + Team merge request reminder details shown to the secondary team. + + Only call this if :meth:`is_secondary_team` is true. + + :rtype: SecondaryTeamRequestReminderDetails + """ + if not self.is_secondary_team(): + raise AttributeError("tag 'secondary_team' not set") + return self._value + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestReminderExtraDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestReminderExtraDetails(%r, %r)' % (self._tag, self._value) + +TeamMergeRequestReminderExtraDetails_validator = bv.Union(TeamMergeRequestReminderExtraDetails) + +class TeamMergeRequestReminderShownToPrimaryTeamDetails(bb.Struct): + """ + Sent a team merge request reminder. + + :ivar + team_log.TeamMergeRequestReminderShownToPrimaryTeamDetails.secondary_team: + The secondary team name. + :ivar team_log.TeamMergeRequestReminderShownToPrimaryTeamDetails.sent_to: + The name of the primary team admin the request was sent to. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_to=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_to_value = None + self._sent_to_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_to is not None: + self.sent_to = sent_to + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_to(self): + """ + The name of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestReminderShownToPrimaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestReminderShownToPrimaryTeamDetails(secondary_team={!r}, sent_to={!r})'.format( + self._secondary_team_value, + self._sent_to_value, + ) + +TeamMergeRequestReminderShownToPrimaryTeamDetails_validator = bv.Struct(TeamMergeRequestReminderShownToPrimaryTeamDetails) + +class TeamMergeRequestReminderShownToPrimaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestReminderShownToPrimaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestReminderShownToPrimaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestReminderShownToPrimaryTeamType_validator = bv.Struct(TeamMergeRequestReminderShownToPrimaryTeamType) + +class TeamMergeRequestReminderShownToSecondaryTeamDetails(bb.Struct): + """ + Sent a team merge request reminder. + + :ivar team_log.TeamMergeRequestReminderShownToSecondaryTeamDetails.sent_to: + The email of the primary team admin the request was sent to. + """ + + __slots__ = [ + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_to=None): + self._sent_to_value = None + self._sent_to_present = False + if sent_to is not None: + self.sent_to = sent_to + + @property + def sent_to(self): + """ + The email of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestReminderShownToSecondaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestReminderShownToSecondaryTeamDetails(sent_to={!r})'.format( + self._sent_to_value, + ) + +TeamMergeRequestReminderShownToSecondaryTeamDetails_validator = bv.Struct(TeamMergeRequestReminderShownToSecondaryTeamDetails) + +class TeamMergeRequestReminderShownToSecondaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestReminderShownToSecondaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestReminderShownToSecondaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestReminderShownToSecondaryTeamType_validator = bv.Struct(TeamMergeRequestReminderShownToSecondaryTeamType) + +class TeamMergeRequestReminderType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestReminderType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestReminderType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestReminderType_validator = bv.Struct(TeamMergeRequestReminderType) + +class TeamMergeRequestRevokedDetails(bb.Struct): + """ + Canceled the team merge. + + :ivar team_log.TeamMergeRequestRevokedDetails.team: The name of the other + team. + """ + + __slots__ = [ + '_team_value', + '_team_present', + ] + + _has_required_fields = True + + def __init__(self, + team=None): + self._team_value = None + self._team_present = False + if team is not None: + self.team = team + + @property + def team(self): + """ + The name of the other team. + + :rtype: str + """ + if self._team_present: + return self._team_value + else: + raise AttributeError("missing required field 'team'") + + @team.setter + def team(self, val): + val = self._team_validator.validate(val) + self._team_value = val + self._team_present = True + + @team.deleter + def team(self): + self._team_value = None + self._team_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestRevokedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestRevokedDetails(team={!r})'.format( + self._team_value, + ) + +TeamMergeRequestRevokedDetails_validator = bv.Struct(TeamMergeRequestRevokedDetails) + +class TeamMergeRequestRevokedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestRevokedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestRevokedType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestRevokedType_validator = bv.Struct(TeamMergeRequestRevokedType) + +class TeamMergeRequestSentShownToPrimaryTeamDetails(bb.Struct): + """ + Requested to merge their Dropbox team into yours. + + :ivar team_log.TeamMergeRequestSentShownToPrimaryTeamDetails.secondary_team: + The secondary team name. + :ivar team_log.TeamMergeRequestSentShownToPrimaryTeamDetails.sent_to: The + name of the primary team admin the request was sent to. + """ + + __slots__ = [ + '_secondary_team_value', + '_secondary_team_present', + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + secondary_team=None, + sent_to=None): + self._secondary_team_value = None + self._secondary_team_present = False + self._sent_to_value = None + self._sent_to_present = False + if secondary_team is not None: + self.secondary_team = secondary_team + if sent_to is not None: + self.sent_to = sent_to + + @property + def secondary_team(self): + """ + The secondary team name. + + :rtype: str + """ + if self._secondary_team_present: + return self._secondary_team_value + else: + raise AttributeError("missing required field 'secondary_team'") + + @secondary_team.setter + def secondary_team(self, val): + val = self._secondary_team_validator.validate(val) + self._secondary_team_value = val + self._secondary_team_present = True + + @secondary_team.deleter + def secondary_team(self): + self._secondary_team_value = None + self._secondary_team_present = False + + @property + def sent_to(self): + """ + The name of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestSentShownToPrimaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestSentShownToPrimaryTeamDetails(secondary_team={!r}, sent_to={!r})'.format( + self._secondary_team_value, + self._sent_to_value, + ) + +TeamMergeRequestSentShownToPrimaryTeamDetails_validator = bv.Struct(TeamMergeRequestSentShownToPrimaryTeamDetails) + +class TeamMergeRequestSentShownToPrimaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestSentShownToPrimaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestSentShownToPrimaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestSentShownToPrimaryTeamType_validator = bv.Struct(TeamMergeRequestSentShownToPrimaryTeamType) + +class TeamMergeRequestSentShownToSecondaryTeamDetails(bb.Struct): + """ + Requested to merge your team into another Dropbox team. + + :ivar team_log.TeamMergeRequestSentShownToSecondaryTeamDetails.sent_to: The + email of the primary team admin the request was sent to. + """ + + __slots__ = [ + '_sent_to_value', + '_sent_to_present', + ] + + _has_required_fields = True + + def __init__(self, + sent_to=None): + self._sent_to_value = None + self._sent_to_present = False + if sent_to is not None: + self.sent_to = sent_to + + @property + def sent_to(self): + """ + The email of the primary team admin the request was sent to. + + :rtype: str + """ + if self._sent_to_present: + return self._sent_to_value + else: + raise AttributeError("missing required field 'sent_to'") + + @sent_to.setter + def sent_to(self, val): + val = self._sent_to_validator.validate(val) + self._sent_to_value = val + self._sent_to_present = True + + @sent_to.deleter + def sent_to(self): + self._sent_to_value = None + self._sent_to_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestSentShownToSecondaryTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestSentShownToSecondaryTeamDetails(sent_to={!r})'.format( + self._sent_to_value, + ) + +TeamMergeRequestSentShownToSecondaryTeamDetails_validator = bv.Struct(TeamMergeRequestSentShownToSecondaryTeamDetails) + +class TeamMergeRequestSentShownToSecondaryTeamType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeRequestSentShownToSecondaryTeamType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeRequestSentShownToSecondaryTeamType(description={!r})'.format( + self._description_value, + ) + +TeamMergeRequestSentShownToSecondaryTeamType_validator = bv.Struct(TeamMergeRequestSentShownToSecondaryTeamType) + +class TeamMergeToDetails(bb.Struct): """ Merged this team into another team. - :ivar team_name: The name of the team that this team was merged into. + :ivar team_log.TeamMergeToDetails.team_name: The name of the team that this + team was merged into. """ __slots__ = [ @@ -35614,6 +68617,9 @@ class TeamMergeToDetails(object): self._team_name_value = None self._team_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeToDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMergeToDetails(team_name={!r})'.format( self._team_name_value, @@ -35621,12 +68627,59 @@ class TeamMergeToDetails(object): TeamMergeToDetails_validator = bv.Struct(TeamMergeToDetails) -class TeamName(object): +class TeamMergeToType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMergeToType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamMergeToType(description={!r})'.format( + self._description_value, + ) + +TeamMergeToType_validator = bv.Struct(TeamMergeToType) + +class TeamName(bb.Struct): """ Team name details - :ivar team_display_name: Team's display name. - :ivar team_legal_name: Team's legal name. + :ivar team_log.TeamName.team_display_name: Team's display name. + :ivar team_log.TeamName.team_legal_name: Team's legal name. """ __slots__ = [ @@ -35696,6 +68749,9 @@ class TeamName(object): self._team_legal_name_value = None self._team_legal_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamName, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamName(team_display_name={!r}, team_legal_name={!r})'.format( self._team_display_name_value, @@ -35704,9 +68760,9 @@ class TeamName(object): TeamName_validator = bv.Struct(TeamName) -class TeamProfileAddLogoDetails(object): +class TeamProfileAddLogoDetails(bb.Struct): """ - Added a team logo to be displayed on shared link headers. + Added team logo to display on shared link headers. """ __slots__ = [ @@ -35717,17 +68773,69 @@ class TeamProfileAddLogoDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileAddLogoDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamProfileAddLogoDetails()' TeamProfileAddLogoDetails_validator = bv.Struct(TeamProfileAddLogoDetails) -class TeamProfileChangeDefaultLanguageDetails(object): - """ - Changed the default language for the team. +class TeamProfileAddLogoType(bb.Struct): - :ivar new_value: New team's default language. - :ivar previous_value: Previous team's default language. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileAddLogoType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamProfileAddLogoType(description={!r})'.format( + self._description_value, + ) + +TeamProfileAddLogoType_validator = bv.Struct(TeamProfileAddLogoType) + +class TeamProfileChangeDefaultLanguageDetails(bb.Struct): + """ + Changed default language for team. + + :ivar team_log.TeamProfileChangeDefaultLanguageDetails.new_value: New team's + default language. + :ivar team_log.TeamProfileChangeDefaultLanguageDetails.previous_value: + Previous team's default language. """ __slots__ = [ @@ -35797,6 +68905,9 @@ class TeamProfileChangeDefaultLanguageDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileChangeDefaultLanguageDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamProfileChangeDefaultLanguageDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -35805,9 +68916,56 @@ class TeamProfileChangeDefaultLanguageDetails(object): TeamProfileChangeDefaultLanguageDetails_validator = bv.Struct(TeamProfileChangeDefaultLanguageDetails) -class TeamProfileChangeLogoDetails(object): +class TeamProfileChangeDefaultLanguageType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileChangeDefaultLanguageType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamProfileChangeDefaultLanguageType(description={!r})'.format( + self._description_value, + ) + +TeamProfileChangeDefaultLanguageType_validator = bv.Struct(TeamProfileChangeDefaultLanguageType) + +class TeamProfileChangeLogoDetails(bb.Struct): """ - Changed the team logo to be displayed on shared link headers. + Changed team logo displayed on shared link headers. """ __slots__ = [ @@ -35818,18 +68976,68 @@ class TeamProfileChangeLogoDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileChangeLogoDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamProfileChangeLogoDetails()' TeamProfileChangeLogoDetails_validator = bv.Struct(TeamProfileChangeLogoDetails) -class TeamProfileChangeNameDetails(object): - """ - Changed the team name. +class TeamProfileChangeLogoType(bb.Struct): - :ivar previous_value: Previous teams name. Might be missing due to - historical data gap. - :ivar new_value: New team name. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileChangeLogoType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamProfileChangeLogoType(description={!r})'.format( + self._description_value, + ) + +TeamProfileChangeLogoType_validator = bv.Struct(TeamProfileChangeLogoType) + +class TeamProfileChangeNameDetails(bb.Struct): + """ + Changed team name. + + :ivar team_log.TeamProfileChangeNameDetails.previous_value: Previous teams + name. Might be missing due to historical data gap. + :ivar team_log.TeamProfileChangeNameDetails.new_value: New team name. """ __slots__ = [ @@ -35902,6 +69110,9 @@ class TeamProfileChangeNameDetails(object): self._new_value_value = None self._new_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileChangeNameDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamProfileChangeNameDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -35910,9 +69121,56 @@ class TeamProfileChangeNameDetails(object): TeamProfileChangeNameDetails_validator = bv.Struct(TeamProfileChangeNameDetails) -class TeamProfileRemoveLogoDetails(object): +class TeamProfileChangeNameType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileChangeNameType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamProfileChangeNameType(description={!r})'.format( + self._description_value, + ) + +TeamProfileChangeNameType_validator = bv.Struct(TeamProfileChangeNameType) + +class TeamProfileRemoveLogoDetails(bb.Struct): """ - Removed the team logo to be displayed on shared link headers. + Removed team logo displayed on shared link headers. """ __slots__ = [ @@ -35923,14 +69181,382 @@ class TeamProfileRemoveLogoDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileRemoveLogoDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamProfileRemoveLogoDetails()' TeamProfileRemoveLogoDetails_validator = bv.Struct(TeamProfileRemoveLogoDetails) -class TfaAddBackupPhoneDetails(object): +class TeamProfileRemoveLogoType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamProfileRemoveLogoType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamProfileRemoveLogoType(description={!r})'.format( + self._description_value, + ) + +TeamProfileRemoveLogoType_validator = bv.Struct(TeamProfileRemoveLogoType) + +class TeamSelectiveSyncPolicy(bb.Union): """ - Added a backup phone for two-step verification. + Policy for controlling whether team selective sync is enabled for team. + + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamSelectiveSyncPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamSelectiveSyncPolicy(%r, %r)' % (self._tag, self._value) + +TeamSelectiveSyncPolicy_validator = bv.Union(TeamSelectiveSyncPolicy) + +class TeamSelectiveSyncPolicyChangedDetails(bb.Struct): + """ + Enabled/disabled Team Selective Sync for team. + + :ivar team_log.TeamSelectiveSyncPolicyChangedDetails.new_value: New Team + Selective Sync policy. + :ivar team_log.TeamSelectiveSyncPolicyChangedDetails.previous_value: + Previous Team Selective Sync 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 Team Selective Sync policy. + + :rtype: TeamSelectiveSyncPolicy + """ + 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 Selective Sync policy. + + :rtype: TeamSelectiveSyncPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamSelectiveSyncPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamSelectiveSyncPolicyChangedDetails(new_value={!r}, previous_value={!r})'.format( + self._new_value_value, + self._previous_value_value, + ) + +TeamSelectiveSyncPolicyChangedDetails_validator = bv.Struct(TeamSelectiveSyncPolicyChangedDetails) + +class TeamSelectiveSyncPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamSelectiveSyncPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamSelectiveSyncPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +TeamSelectiveSyncPolicyChangedType_validator = bv.Struct(TeamSelectiveSyncPolicyChangedType) + +class TeamSelectiveSyncSettingsChangedDetails(bb.Struct): + """ + Changed sync default. + + :ivar team_log.TeamSelectiveSyncSettingsChangedDetails.previous_value: + Previous value. + :ivar team_log.TeamSelectiveSyncSettingsChangedDetails.new_value: New value. + """ + + __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 value. + + :rtype: files.SyncSetting + """ + 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 value. + + :rtype: files.SyncSetting + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamSelectiveSyncSettingsChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamSelectiveSyncSettingsChangedDetails(previous_value={!r}, new_value={!r})'.format( + self._previous_value_value, + self._new_value_value, + ) + +TeamSelectiveSyncSettingsChangedDetails_validator = bv.Struct(TeamSelectiveSyncSettingsChangedDetails) + +class TeamSelectiveSyncSettingsChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamSelectiveSyncSettingsChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TeamSelectiveSyncSettingsChangedType(description={!r})'.format( + self._description_value, + ) + +TeamSelectiveSyncSettingsChangedType_validator = bv.Struct(TeamSelectiveSyncSettingsChangedType) + +class TfaAddBackupPhoneDetails(bb.Struct): + """ + Added backup phone for two-step verification. """ __slots__ = [ @@ -35941,14 +69567,64 @@ class TfaAddBackupPhoneDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaAddBackupPhoneDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaAddBackupPhoneDetails()' TfaAddBackupPhoneDetails_validator = bv.Struct(TfaAddBackupPhoneDetails) -class TfaAddSecurityKeyDetails(object): +class TfaAddBackupPhoneType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaAddBackupPhoneType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaAddBackupPhoneType(description={!r})'.format( + self._description_value, + ) + +TfaAddBackupPhoneType_validator = bv.Struct(TfaAddBackupPhoneType) + +class TfaAddSecurityKeyDetails(bb.Struct): """ - Added a security key for two-step verification. + Added security key for two-step verification. """ __slots__ = [ @@ -35959,14 +69635,64 @@ class TfaAddSecurityKeyDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaAddSecurityKeyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaAddSecurityKeyDetails()' TfaAddSecurityKeyDetails_validator = bv.Struct(TfaAddSecurityKeyDetails) -class TfaChangeBackupPhoneDetails(object): +class TfaAddSecurityKeyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaAddSecurityKeyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaAddSecurityKeyType(description={!r})'.format( + self._description_value, + ) + +TfaAddSecurityKeyType_validator = bv.Struct(TfaAddSecurityKeyType) + +class TfaChangeBackupPhoneDetails(bb.Struct): """ - Changed the backup phone for two-step verification. + Changed backup phone for two-step verification. """ __slots__ = [ @@ -35977,18 +69703,68 @@ class TfaChangeBackupPhoneDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaChangeBackupPhoneDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaChangeBackupPhoneDetails()' TfaChangeBackupPhoneDetails_validator = bv.Struct(TfaChangeBackupPhoneDetails) -class TfaChangePolicyDetails(object): - """ - Change two-step verification policy for the team. +class TfaChangeBackupPhoneType(bb.Struct): - :ivar new_value: New change policy. - :ivar previous_value: Previous change policy. Might be missing due to - historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaChangeBackupPhoneType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaChangeBackupPhoneType(description={!r})'.format( + self._description_value, + ) + +TfaChangeBackupPhoneType_validator = bv.Struct(TfaChangeBackupPhoneType) + +class TfaChangePolicyDetails(bb.Struct): + """ + Changed two-step verification setting for team. + + :ivar team_log.TfaChangePolicyDetails.new_value: New change policy. + :ivar team_log.TfaChangePolicyDetails.previous_value: Previous change + policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -36017,7 +69793,7 @@ class TfaChangePolicyDetails(object): """ New change policy. - :rtype: team_policies.TwoStepVerificationPolicy_validator + :rtype: team_policies.TwoStepVerificationPolicy """ if self._new_value_present: return self._new_value_value @@ -36040,7 +69816,7 @@ class TfaChangePolicyDetails(object): """ Previous change policy. Might be missing due to historical data gap. - :rtype: team_policies.TwoStepVerificationPolicy_validator + :rtype: team_policies.TwoStepVerificationPolicy """ if self._previous_value_present: return self._previous_value_value @@ -36061,6 +69837,9 @@ class TfaChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -36069,16 +69848,65 @@ class TfaChangePolicyDetails(object): TfaChangePolicyDetails_validator = bv.Struct(TfaChangePolicyDetails) -class TfaChangeStatusDetails(object): - """ - Enabled, disabled or changed the configuration for two-step verification. +class TfaChangePolicyType(bb.Struct): - :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 rescue code. This - flag is relevant when the two factor authentication configuration is - disabled. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaChangePolicyType(description={!r})'.format( + self._description_value, + ) + +TfaChangePolicyType_validator = bv.Struct(TfaChangePolicyType) + +class TfaChangeStatusDetails(bb.Struct): + """ + Enabled/disabled/changed two-step verification setting. + + :ivar team_log.TfaChangeStatusDetails.new_value: The new two factor + authentication configuration. + :ivar team_log.TfaChangeStatusDetails.previous_value: The previous two + factor authentication configuration. Might be missing due to historical + data gap. + :ivar team_log.TfaChangeStatusDetails.used_rescue_code: Used two factor + authentication rescue code. This flag is relevant when the two factor + authentication configuration is disabled. """ __slots__ = [ @@ -36186,6 +70014,9 @@ class TfaChangeStatusDetails(object): self._used_rescue_code_value = None self._used_rescue_code_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaChangeStatusDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaChangeStatusDetails(new_value={!r}, previous_value={!r}, used_rescue_code={!r})'.format( self._new_value_value, @@ -36195,6 +70026,53 @@ class TfaChangeStatusDetails(object): TfaChangeStatusDetails_validator = bv.Struct(TfaChangeStatusDetails) +class TfaChangeStatusType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaChangeStatusType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaChangeStatusType(description={!r})'.format( + self._description_value, + ) + +TfaChangeStatusType_validator = bv.Struct(TfaChangeStatusType) + class TfaConfiguration(bb.Union): """ Two factor authentication configuration. Note: the enabled option is @@ -36257,14 +70135,17 @@ class TfaConfiguration(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaConfiguration, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaConfiguration(%r, %r)' % (self._tag, self._value) TfaConfiguration_validator = bv.Union(TfaConfiguration) -class TfaRemoveBackupPhoneDetails(object): +class TfaRemoveBackupPhoneDetails(bb.Struct): """ - Removed the backup phone for two-step verification. + Removed backup phone for two-step verification. """ __slots__ = [ @@ -36275,14 +70156,64 @@ class TfaRemoveBackupPhoneDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaRemoveBackupPhoneDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaRemoveBackupPhoneDetails()' TfaRemoveBackupPhoneDetails_validator = bv.Struct(TfaRemoveBackupPhoneDetails) -class TfaRemoveSecurityKeyDetails(object): +class TfaRemoveBackupPhoneType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaRemoveBackupPhoneType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaRemoveBackupPhoneType(description={!r})'.format( + self._description_value, + ) + +TfaRemoveBackupPhoneType_validator = bv.Struct(TfaRemoveBackupPhoneType) + +class TfaRemoveSecurityKeyDetails(bb.Struct): """ - Removed a security key for two-step verification. + Removed security key for two-step verification. """ __slots__ = [ @@ -36293,12 +70224,62 @@ class TfaRemoveSecurityKeyDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaRemoveSecurityKeyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaRemoveSecurityKeyDetails()' TfaRemoveSecurityKeyDetails_validator = bv.Struct(TfaRemoveSecurityKeyDetails) -class TfaResetDetails(object): +class TfaRemoveSecurityKeyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaRemoveSecurityKeyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaRemoveSecurityKeyType(description={!r})'.format( + self._description_value, + ) + +TfaRemoveSecurityKeyType_validator = bv.Struct(TfaRemoveSecurityKeyType) + +class TfaResetDetails(bb.Struct): """ Reset two-step verification for team member. """ @@ -36311,11 +70292,61 @@ class TfaResetDetails(object): def __init__(self): pass + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaResetDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TfaResetDetails()' TfaResetDetails_validator = bv.Struct(TfaResetDetails) +class TfaResetType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TfaResetType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TfaResetType(description={!r})'.format( + self._description_value, + ) + +TfaResetType_validator = bv.Struct(TfaResetType) + class TimeUnit(bb.Union): """ This class acts as a tagged union. Only one of the ``is_*`` methods will @@ -36415,19 +70446,258 @@ class TimeUnit(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TimeUnit, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TimeUnit(%r, %r)' % (self._tag, self._value) TimeUnit_validator = bv.Union(TimeUnit) -class TwoAccountChangePolicyDetails(object): +class TrustedNonTeamMemberLogInfo(UserLogInfo): """ - Enabled or disabled the option for team members to link a personal Dropbox - account in addition to their work account to the same computer. + User that is not a member of the team but considered trusted. - :ivar new_value: New two account policy. - :ivar previous_value: Previous two account policy. Might be missing due to - historical data gap. + :ivar team_log.TrustedNonTeamMemberLogInfo.trusted_non_team_member_type: + Indicates the type of the trusted non team member user. + """ + + __slots__ = [ + '_trusted_non_team_member_type_value', + '_trusted_non_team_member_type_present', + ] + + _has_required_fields = True + + def __init__(self, + trusted_non_team_member_type=None, + account_id=None, + display_name=None, + email=None): + super(TrustedNonTeamMemberLogInfo, self).__init__(account_id, + display_name, + email) + self._trusted_non_team_member_type_value = None + self._trusted_non_team_member_type_present = False + if trusted_non_team_member_type is not None: + self.trusted_non_team_member_type = trusted_non_team_member_type + + @property + def trusted_non_team_member_type(self): + """ + Indicates the type of the trusted non team member user. + + :rtype: TrustedNonTeamMemberType + """ + if self._trusted_non_team_member_type_present: + return self._trusted_non_team_member_type_value + else: + raise AttributeError("missing required field 'trusted_non_team_member_type'") + + @trusted_non_team_member_type.setter + def trusted_non_team_member_type(self, val): + self._trusted_non_team_member_type_validator.validate_type_only(val) + self._trusted_non_team_member_type_value = val + self._trusted_non_team_member_type_present = True + + @trusted_non_team_member_type.deleter + def trusted_non_team_member_type(self): + self._trusted_non_team_member_type_value = None + self._trusted_non_team_member_type_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TrustedNonTeamMemberLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TrustedNonTeamMemberLogInfo(trusted_non_team_member_type={!r}, account_id={!r}, display_name={!r}, email={!r})'.format( + self._trusted_non_team_member_type_value, + self._account_id_value, + self._display_name_value, + self._email_value, + ) + +TrustedNonTeamMemberLogInfo_validator = bv.Struct(TrustedNonTeamMemberLogInfo) + +class TrustedNonTeamMemberType(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 + multi_instance_admin = None + # Attribute is overwritten below the class definition + other = None + + def is_multi_instance_admin(self): + """ + Check if the union tag is ``multi_instance_admin``. + + :rtype: bool + """ + return self._tag == 'multi_instance_admin' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TrustedNonTeamMemberType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TrustedNonTeamMemberType(%r, %r)' % (self._tag, self._value) + +TrustedNonTeamMemberType_validator = bv.Union(TrustedNonTeamMemberType) + +class TrustedTeamsRequestAction(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 + invited = None + # Attribute is overwritten below the class definition + expired = None + # Attribute is overwritten below the class definition + revoked = None + # Attribute is overwritten below the class definition + accepted = None + # Attribute is overwritten below the class definition + declined = None + # Attribute is overwritten below the class definition + other = None + + def is_invited(self): + """ + Check if the union tag is ``invited``. + + :rtype: bool + """ + return self._tag == 'invited' + + def is_expired(self): + """ + Check if the union tag is ``expired``. + + :rtype: bool + """ + return self._tag == 'expired' + + def is_revoked(self): + """ + Check if the union tag is ``revoked``. + + :rtype: bool + """ + return self._tag == 'revoked' + + def is_accepted(self): + """ + Check if the union tag is ``accepted``. + + :rtype: bool + """ + return self._tag == 'accepted' + + def is_declined(self): + """ + Check if the union tag is ``declined``. + + :rtype: bool + """ + return self._tag == 'declined' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TrustedTeamsRequestAction, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TrustedTeamsRequestAction(%r, %r)' % (self._tag, self._value) + +TrustedTeamsRequestAction_validator = bv.Union(TrustedTeamsRequestAction) + +class TrustedTeamsRequestState(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 + invited = None + # Attribute is overwritten below the class definition + linked = None + # Attribute is overwritten below the class definition + unlinked = None + # Attribute is overwritten below the class definition + other = None + + def is_invited(self): + """ + Check if the union tag is ``invited``. + + :rtype: bool + """ + return self._tag == 'invited' + + def is_linked(self): + """ + Check if the union tag is ``linked``. + + :rtype: bool + """ + return self._tag == 'linked' + + def is_unlinked(self): + """ + Check if the union tag is ``unlinked``. + + :rtype: bool + """ + return self._tag == 'unlinked' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TrustedTeamsRequestState, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TrustedTeamsRequestState(%r, %r)' % (self._tag, self._value) + +TrustedTeamsRequestState_validator = bv.Union(TrustedTeamsRequestState) + +class TwoAccountChangePolicyDetails(bb.Struct): + """ + Enabled/disabled option for members to link personal Dropbox account and + team account to same computer. + + :ivar team_log.TwoAccountChangePolicyDetails.new_value: New two account + policy. + :ivar team_log.TwoAccountChangePolicyDetails.previous_value: Previous two + account policy. Might be missing due to historical data gap. """ __slots__ = [ @@ -36501,6 +70771,9 @@ class TwoAccountChangePolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TwoAccountChangePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TwoAccountChangePolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -36509,6 +70782,53 @@ class TwoAccountChangePolicyDetails(object): TwoAccountChangePolicyDetails_validator = bv.Struct(TwoAccountChangePolicyDetails) +class TwoAccountChangePolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TwoAccountChangePolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TwoAccountChangePolicyType(description={!r})'.format( + self._description_value, + ) + +TwoAccountChangePolicyType_validator = bv.Struct(TwoAccountChangePolicyType) + class TwoAccountPolicy(bb.Union): """ Policy for pairing personal account to work account @@ -36550,6 +70870,9 @@ class TwoAccountPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TwoAccountPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TwoAccountPolicy(%r, %r)' % (self._tag, self._value) @@ -36571,6 +70894,9 @@ class UserLinkedAppLogInfo(AppLogInfo): super(UserLinkedAppLogInfo, self).__init__(app_id, display_name) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserLinkedAppLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserLinkedAppLogInfo(app_id={!r}, display_name={!r})'.format( self._app_id_value, @@ -36579,13 +70905,14 @@ class UserLinkedAppLogInfo(AppLogInfo): UserLinkedAppLogInfo_validator = bv.Struct(UserLinkedAppLogInfo) -class UserNameLogInfo(object): +class UserNameLogInfo(bb.Struct): """ User's name logged information - :ivar given_name: Given name. - :ivar surname: Surname. - :ivar locale: Locale. Might be missing due to historical data gap. + :ivar team_log.UserNameLogInfo.given_name: Given name. + :ivar team_log.UserNameLogInfo.surname: Surname. + :ivar team_log.UserNameLogInfo.locale: Locale. Might be missing due to + historical data gap. """ __slots__ = [ @@ -36688,6 +71015,9 @@ class UserNameLogInfo(object): self._locale_value = None self._locale_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserNameLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserNameLogInfo(given_name={!r}, surname={!r}, locale={!r})'.format( self._given_name_value, @@ -36714,6 +71044,9 @@ class UserOrTeamLinkedAppLogInfo(AppLogInfo): super(UserOrTeamLinkedAppLogInfo, self).__init__(app_id, display_name) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(UserOrTeamLinkedAppLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'UserOrTeamLinkedAppLogInfo(app_id={!r}, display_name={!r})'.format( self._app_id_value, @@ -36722,6 +71055,307 @@ class UserOrTeamLinkedAppLogInfo(AppLogInfo): UserOrTeamLinkedAppLogInfo_validator = bv.Struct(UserOrTeamLinkedAppLogInfo) +class ViewerInfoPolicyChangedDetails(bb.Struct): + """ + Changed team policy for viewer info. + + :ivar team_log.ViewerInfoPolicyChangedDetails.previous_value: Previous + Viewer Info policy. + :ivar team_log.ViewerInfoPolicyChangedDetails.new_value: New Viewer Info + 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 Viewer Info policy. + + :rtype: PassPolicy + """ + 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 Viewer Info policy. + + :rtype: PassPolicy + """ + 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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ViewerInfoPolicyChangedDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ViewerInfoPolicyChangedDetails(previous_value={!r}, new_value={!r})'.format( + self._previous_value_value, + self._new_value_value, + ) + +ViewerInfoPolicyChangedDetails_validator = bv.Struct(ViewerInfoPolicyChangedDetails) + +class ViewerInfoPolicyChangedType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(ViewerInfoPolicyChangedType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ViewerInfoPolicyChangedType(description={!r})'.format( + self._description_value, + ) + +ViewerInfoPolicyChangedType_validator = bv.Struct(ViewerInfoPolicyChangedType) + +class WebDeviceSessionLogInfo(DeviceSessionLogInfo): + """ + Information on active web sessions + + :ivar team_log.WebDeviceSessionLogInfo.session_info: Web session unique id. + Might be missing due to historical data gap. + :ivar team_log.WebDeviceSessionLogInfo.user_agent: Information on the + hosting device. + :ivar team_log.WebDeviceSessionLogInfo.os: Information on the hosting + operating system. + :ivar team_log.WebDeviceSessionLogInfo.browser: Information on the browser + used for this web session. + """ + + __slots__ = [ + '_session_info_value', + '_session_info_present', + '_user_agent_value', + '_user_agent_present', + '_os_value', + '_os_present', + '_browser_value', + '_browser_present', + ] + + _has_required_fields = True + + def __init__(self, + user_agent=None, + os=None, + browser=None, + ip_address=None, + created=None, + updated=None, + session_info=None): + super(WebDeviceSessionLogInfo, self).__init__(ip_address, + created, + updated) + self._session_info_value = None + self._session_info_present = False + self._user_agent_value = None + self._user_agent_present = False + self._os_value = None + self._os_present = False + self._browser_value = None + self._browser_present = False + if session_info is not None: + self.session_info = session_info + 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 + + @property + def session_info(self): + """ + Web session unique id. Might be missing due to historical data gap. + + :rtype: WebSessionLogInfo + """ + if self._session_info_present: + return self._session_info_value + else: + return None + + @session_info.setter + def session_info(self, val): + if val is None: + del self.session_info + return + self._session_info_validator.validate_type_only(val) + self._session_info_value = val + self._session_info_present = True + + @session_info.deleter + def session_info(self): + self._session_info_value = None + self._session_info_present = False + + @property + def user_agent(self): + """ + Information on the hosting device. + + :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 + + @property + def os(self): + """ + Information on the hosting operating system. + + :rtype: str + """ + if self._os_present: + return self._os_value + else: + raise AttributeError("missing required field 'os'") + + @os.setter + def os(self, val): + val = self._os_validator.validate(val) + self._os_value = val + self._os_present = True + + @os.deleter + def os(self): + self._os_value = None + self._os_present = False + + @property + def browser(self): + """ + Information on the browser used for this web session. + + :rtype: str + """ + if self._browser_present: + return self._browser_value + else: + raise AttributeError("missing required field 'browser'") + + @browser.setter + def browser(self, val): + val = self._browser_validator.validate(val) + self._browser_value = val + self._browser_present = True + + @browser.deleter + def browser(self): + self._browser_value = None + self._browser_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebDeviceSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'WebDeviceSessionLogInfo(user_agent={!r}, os={!r}, browser={!r}, ip_address={!r}, created={!r}, updated={!r}, session_info={!r})'.format( + self._user_agent_value, + self._os_value, + self._browser_value, + self._ip_address_value, + self._created_value, + self._updated_value, + self._session_info_value, + ) + +WebDeviceSessionLogInfo_validator = bv.Struct(WebDeviceSessionLogInfo) + class WebSessionLogInfo(SessionLogInfo): """ Web session. @@ -36736,6 +71370,9 @@ class WebSessionLogInfo(SessionLogInfo): session_id=None): super(WebSessionLogInfo, self).__init__(session_id) + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebSessionLogInfo, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WebSessionLogInfo(session_id={!r})'.format( self._session_id_value, @@ -36743,14 +71380,15 @@ class WebSessionLogInfo(SessionLogInfo): WebSessionLogInfo_validator = bv.Struct(WebSessionLogInfo) -class WebSessionsChangeFixedLengthPolicyDetails(object): +class WebSessionsChangeFixedLengthPolicyDetails(bb.Struct): """ - Changed how long team members can stay signed in to Dropbox on the web. + Changed how long members can stay signed in to Dropbox.com. - :ivar new_value: New session length policy. Might be missing due to - historical data gap. - :ivar previous_value: Previous session length policy. Might be missing due - to historical data gap. + :ivar team_log.WebSessionsChangeFixedLengthPolicyDetails.new_value: New + session length policy. Might be missing due to historical data gap. + :ivar team_log.WebSessionsChangeFixedLengthPolicyDetails.previous_value: + Previous session length policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -36827,6 +71465,9 @@ class WebSessionsChangeFixedLengthPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebSessionsChangeFixedLengthPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WebSessionsChangeFixedLengthPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -36835,15 +71476,62 @@ class WebSessionsChangeFixedLengthPolicyDetails(object): WebSessionsChangeFixedLengthPolicyDetails_validator = bv.Struct(WebSessionsChangeFixedLengthPolicyDetails) -class WebSessionsChangeIdleLengthPolicyDetails(object): - """ - Changed how long team members can be idle while signed in to Dropbox on the - web. +class WebSessionsChangeFixedLengthPolicyType(bb.Struct): - :ivar new_value: New idle length policy. Might be missing due to historical - data gap. - :ivar previous_value: Previous idle length policy. Might be missing due to - historical data gap. + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebSessionsChangeFixedLengthPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'WebSessionsChangeFixedLengthPolicyType(description={!r})'.format( + self._description_value, + ) + +WebSessionsChangeFixedLengthPolicyType_validator = bv.Struct(WebSessionsChangeFixedLengthPolicyType) + +class WebSessionsChangeIdleLengthPolicyDetails(bb.Struct): + """ + Changed how long team members can be idle while signed in to Dropbox.com. + + :ivar team_log.WebSessionsChangeIdleLengthPolicyDetails.new_value: New idle + length policy. Might be missing due to historical data gap. + :ivar team_log.WebSessionsChangeIdleLengthPolicyDetails.previous_value: + Previous idle length policy. Might be missing due to historical data + gap. """ __slots__ = [ @@ -36920,6 +71608,9 @@ class WebSessionsChangeIdleLengthPolicyDetails(object): self._previous_value_value = None self._previous_value_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebSessionsChangeIdleLengthPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WebSessionsChangeIdleLengthPolicyDetails(new_value={!r}, previous_value={!r})'.format( self._new_value_value, @@ -36928,6 +71619,53 @@ class WebSessionsChangeIdleLengthPolicyDetails(object): WebSessionsChangeIdleLengthPolicyDetails_validator = bv.Struct(WebSessionsChangeIdleLengthPolicyDetails) +class WebSessionsChangeIdleLengthPolicyType(bb.Struct): + + __slots__ = [ + '_description_value', + '_description_present', + ] + + _has_required_fields = True + + def __init__(self, + description=None): + self._description_value = None + self._description_present = False + if description is not None: + self.description = description + + @property + def description(self): + """ + :rtype: str + """ + if self._description_present: + return self._description_value + else: + raise AttributeError("missing required field 'description'") + + @description.setter + def description(self, val): + val = self._description_validator.validate(val) + self._description_value = val + self._description_present = True + + @description.deleter + def description(self): + self._description_value = None + self._description_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebSessionsChangeIdleLengthPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'WebSessionsChangeIdleLengthPolicyType(description={!r})'.format( + self._description_value, + ) + +WebSessionsChangeIdleLengthPolicyType_validator = bv.Struct(WebSessionsChangeIdleLengthPolicyType) + class WebSessionsFixedLengthPolicy(bb.Union): """ Web sessions fixed length policy. @@ -36936,8 +71674,10 @@ class WebSessionsFixedLengthPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar DurationLogInfo defined: Defined fixed session length. - :ivar undefined: Undefined fixed session length. + :ivar DurationLogInfo WebSessionsFixedLengthPolicy.defined: Defined fixed + session length. + :ivar team_log.WebSessionsFixedLengthPolicy.undefined: Undefined fixed + session length. """ _catch_all = 'other' @@ -36993,6 +71733,9 @@ class WebSessionsFixedLengthPolicy(bb.Union): raise AttributeError("tag 'defined' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebSessionsFixedLengthPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WebSessionsFixedLengthPolicy(%r, %r)' % (self._tag, self._value) @@ -37006,8 +71749,10 @@ class WebSessionsIdleLengthPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar DurationLogInfo defined: Defined idle session length. - :ivar undefined: Undefined idle session length. + :ivar DurationLogInfo WebSessionsIdleLengthPolicy.defined: Defined idle + session length. + :ivar team_log.WebSessionsIdleLengthPolicy.undefined: Undefined idle session + length. """ _catch_all = 'other' @@ -37063,13 +71808,19 @@ class WebSessionsIdleLengthPolicy(bb.Union): raise AttributeError("tag 'defined' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(WebSessionsIdleLengthPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'WebSessionsIdleLengthPolicy(%r, %r)' % (self._tag, self._value) WebSessionsIdleLengthPolicy_validator = bv.Union(WebSessionsIdleLengthPolicy) AppId_validator = bv.String() +EmailAddress_validator = bv.String(max_length=255) +FilePath_validator = bv.String() IpAddress_validator = bv.String() +NamespaceId_validator = bv.String() RequestId_validator = bv.String() TeamEventList_validator = bv.List(TeamEvent_validator) AccessMethodLogInfo._end_user_validator = SessionLogInfo_validator @@ -37113,6 +71864,10 @@ AccountCaptureChangeAvailabilityDetails._all_fields_ = [ ('previous_value', AccountCaptureChangeAvailabilityDetails._previous_value_validator), ] +AccountCaptureChangeAvailabilityType._description_validator = bv.String() +AccountCaptureChangeAvailabilityType._all_field_names_ = set(['description']) +AccountCaptureChangeAvailabilityType._all_fields_ = [('description', AccountCaptureChangeAvailabilityType._description_validator)] + AccountCaptureChangePolicyDetails._new_value_validator = AccountCapturePolicy_validator AccountCaptureChangePolicyDetails._previous_value_validator = bv.Nullable(AccountCapturePolicy_validator) AccountCaptureChangePolicyDetails._all_field_names_ = set([ @@ -37124,10 +71879,26 @@ AccountCaptureChangePolicyDetails._all_fields_ = [ ('previous_value', AccountCaptureChangePolicyDetails._previous_value_validator), ] +AccountCaptureChangePolicyType._description_validator = bv.String() +AccountCaptureChangePolicyType._all_field_names_ = set(['description']) +AccountCaptureChangePolicyType._all_fields_ = [('description', AccountCaptureChangePolicyType._description_validator)] + AccountCaptureMigrateAccountDetails._domain_name_validator = bv.String() AccountCaptureMigrateAccountDetails._all_field_names_ = set(['domain_name']) AccountCaptureMigrateAccountDetails._all_fields_ = [('domain_name', AccountCaptureMigrateAccountDetails._domain_name_validator)] +AccountCaptureMigrateAccountType._description_validator = bv.String() +AccountCaptureMigrateAccountType._all_field_names_ = set(['description']) +AccountCaptureMigrateAccountType._all_fields_ = [('description', AccountCaptureMigrateAccountType._description_validator)] + +AccountCaptureNotificationEmailsSentDetails._domain_name_validator = bv.String() +AccountCaptureNotificationEmailsSentDetails._all_field_names_ = set(['domain_name']) +AccountCaptureNotificationEmailsSentDetails._all_fields_ = [('domain_name', AccountCaptureNotificationEmailsSentDetails._domain_name_validator)] + +AccountCaptureNotificationEmailsSentType._description_validator = bv.String() +AccountCaptureNotificationEmailsSentType._all_field_names_ = set(['description']) +AccountCaptureNotificationEmailsSentType._all_fields_ = [('description', AccountCaptureNotificationEmailsSentType._description_validator)] + AccountCapturePolicy._disabled_validator = bv.Void() AccountCapturePolicy._invited_users_validator = bv.Void() AccountCapturePolicy._all_users_validator = bv.Void() @@ -37148,11 +71919,27 @@ AccountCaptureRelinquishAccountDetails._domain_name_validator = bv.String() AccountCaptureRelinquishAccountDetails._all_field_names_ = set(['domain_name']) AccountCaptureRelinquishAccountDetails._all_fields_ = [('domain_name', AccountCaptureRelinquishAccountDetails._domain_name_validator)] +AccountCaptureRelinquishAccountType._description_validator = bv.String() +AccountCaptureRelinquishAccountType._all_field_names_ = set(['description']) +AccountCaptureRelinquishAccountType._all_fields_ = [('description', AccountCaptureRelinquishAccountType._description_validator)] + +ActionDetails._team_join_details_validator = JoinTeamDetails_validator +ActionDetails._remove_action_validator = MemberRemoveActionType_validator +ActionDetails._other_validator = bv.Void() +ActionDetails._tagmap = { + 'team_join_details': ActionDetails._team_join_details_validator, + 'remove_action': ActionDetails._remove_action_validator, + 'other': ActionDetails._other_validator, +} + +ActionDetails.other = ActionDetails('other') + 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._anonymous_validator = bv.Void() ActorLogInfo._other_validator = bv.Void() ActorLogInfo._tagmap = { 'user': ActorLogInfo._user_validator, @@ -37160,40 +71947,50 @@ ActorLogInfo._tagmap = { 'app': ActorLogInfo._app_validator, 'reseller': ActorLogInfo._reseller_validator, 'dropbox': ActorLogInfo._dropbox_validator, + 'anonymous': ActorLogInfo._anonymous_validator, 'other': ActorLogInfo._other_validator, } ActorLogInfo.dropbox = ActorLogInfo('dropbox') +ActorLogInfo.anonymous = ActorLogInfo('anonymous') ActorLogInfo.other = ActorLogInfo('other') -AdminRole._user_validator = bv.Void() -AdminRole._limited_admin_validator = bv.Void() -AdminRole._support_admin_validator = bv.Void() -AdminRole._user_management_admin_validator = bv.Void() AdminRole._team_admin_validator = bv.Void() +AdminRole._user_management_admin_validator = bv.Void() +AdminRole._support_admin_validator = bv.Void() +AdminRole._limited_admin_validator = bv.Void() +AdminRole._member_only_validator = bv.Void() AdminRole._other_validator = bv.Void() AdminRole._tagmap = { - 'user': AdminRole._user_validator, - 'limited_admin': AdminRole._limited_admin_validator, - 'support_admin': AdminRole._support_admin_validator, - 'user_management_admin': AdminRole._user_management_admin_validator, 'team_admin': AdminRole._team_admin_validator, + 'user_management_admin': AdminRole._user_management_admin_validator, + 'support_admin': AdminRole._support_admin_validator, + 'limited_admin': AdminRole._limited_admin_validator, + 'member_only': AdminRole._member_only_validator, 'other': AdminRole._other_validator, } -AdminRole.user = AdminRole('user') -AdminRole.limited_admin = AdminRole('limited_admin') -AdminRole.support_admin = AdminRole('support_admin') -AdminRole.user_management_admin = AdminRole('user_management_admin') AdminRole.team_admin = AdminRole('team_admin') +AdminRole.user_management_admin = AdminRole('user_management_admin') +AdminRole.support_admin = AdminRole('support_admin') +AdminRole.limited_admin = AdminRole('limited_admin') +AdminRole.member_only = AdminRole('member_only') AdminRole.other = AdminRole('other') AllowDownloadDisabledDetails._all_field_names_ = set([]) AllowDownloadDisabledDetails._all_fields_ = [] +AllowDownloadDisabledType._description_validator = bv.String() +AllowDownloadDisabledType._all_field_names_ = set(['description']) +AllowDownloadDisabledType._all_fields_ = [('description', AllowDownloadDisabledType._description_validator)] + AllowDownloadEnabledDetails._all_field_names_ = set([]) AllowDownloadEnabledDetails._all_fields_ = [] +AllowDownloadEnabledType._description_validator = bv.String() +AllowDownloadEnabledType._all_field_names_ = set(['description']) +AllowDownloadEnabledType._all_fields_ = [('description', AllowDownloadEnabledType._description_validator)] + ApiSessionLogInfo._request_id_validator = RequestId_validator ApiSessionLogInfo._all_field_names_ = set(['request_id']) ApiSessionLogInfo._all_fields_ = [('request_id', ApiSessionLogInfo._request_id_validator)] @@ -37202,10 +71999,18 @@ AppLinkTeamDetails._app_info_validator = AppLogInfo_validator AppLinkTeamDetails._all_field_names_ = set(['app_info']) AppLinkTeamDetails._all_fields_ = [('app_info', AppLinkTeamDetails._app_info_validator)] +AppLinkTeamType._description_validator = bv.String() +AppLinkTeamType._all_field_names_ = set(['description']) +AppLinkTeamType._all_fields_ = [('description', AppLinkTeamType._description_validator)] + AppLinkUserDetails._app_info_validator = AppLogInfo_validator AppLinkUserDetails._all_field_names_ = set(['app_info']) AppLinkUserDetails._all_fields_ = [('app_info', AppLinkUserDetails._app_info_validator)] +AppLinkUserType._description_validator = bv.String() +AppLinkUserType._all_field_names_ = set(['description']) +AppLinkUserType._all_fields_ = [('description', AppLinkUserType._description_validator)] + AppLogInfo._app_id_validator = bv.Nullable(AppId_validator) AppLogInfo._display_name_validator = bv.Nullable(bv.String()) AppLogInfo._field_names_ = set([ @@ -37235,32 +72040,70 @@ AppUnlinkTeamDetails._app_info_validator = AppLogInfo_validator AppUnlinkTeamDetails._all_field_names_ = set(['app_info']) AppUnlinkTeamDetails._all_fields_ = [('app_info', AppUnlinkTeamDetails._app_info_validator)] +AppUnlinkTeamType._description_validator = bv.String() +AppUnlinkTeamType._all_field_names_ = set(['description']) +AppUnlinkTeamType._all_fields_ = [('description', AppUnlinkTeamType._description_validator)] + AppUnlinkUserDetails._app_info_validator = AppLogInfo_validator AppUnlinkUserDetails._all_field_names_ = set(['app_info']) AppUnlinkUserDetails._all_fields_ = [('app_info', AppUnlinkUserDetails._app_info_validator)] +AppUnlinkUserType._description_validator = bv.String() +AppUnlinkUserType._all_field_names_ = set(['description']) +AppUnlinkUserType._all_fields_ = [('description', AppUnlinkUserType._description_validator)] + AssetLogInfo._file_validator = FileLogInfo_validator AssetLogInfo._folder_validator = FolderLogInfo_validator AssetLogInfo._paper_document_validator = PaperDocumentLogInfo_validator AssetLogInfo._paper_folder_validator = PaperFolderLogInfo_validator +AssetLogInfo._showcase_document_validator = ShowcaseDocumentLogInfo_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, + 'showcase_document': AssetLogInfo._showcase_document_validator, 'other': AssetLogInfo._other_validator, } AssetLogInfo.other = AssetLogInfo('other') +CameraUploadsPolicy._disabled_validator = bv.Void() +CameraUploadsPolicy._enabled_validator = bv.Void() +CameraUploadsPolicy._other_validator = bv.Void() +CameraUploadsPolicy._tagmap = { + 'disabled': CameraUploadsPolicy._disabled_validator, + 'enabled': CameraUploadsPolicy._enabled_validator, + 'other': CameraUploadsPolicy._other_validator, +} + +CameraUploadsPolicy.disabled = CameraUploadsPolicy('disabled') +CameraUploadsPolicy.enabled = CameraUploadsPolicy('enabled') +CameraUploadsPolicy.other = CameraUploadsPolicy('other') + +CameraUploadsPolicyChangedDetails._new_value_validator = CameraUploadsPolicy_validator +CameraUploadsPolicyChangedDetails._previous_value_validator = CameraUploadsPolicy_validator +CameraUploadsPolicyChangedDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +CameraUploadsPolicyChangedDetails._all_fields_ = [ + ('new_value', CameraUploadsPolicyChangedDetails._new_value_validator), + ('previous_value', CameraUploadsPolicyChangedDetails._previous_value_validator), +] + +CameraUploadsPolicyChangedType._description_validator = bv.String() +CameraUploadsPolicyChangedType._all_field_names_ = set(['description']) +CameraUploadsPolicyChangedType._all_fields_ = [('description', CameraUploadsPolicyChangedType._description_validator)] + Certificate._subject_validator = bv.String() Certificate._issuer_validator = bv.String() Certificate._issue_date_validator = bv.String() Certificate._expiration_date_validator = bv.String() Certificate._serial_number_validator = bv.String() Certificate._sha1_fingerprint_validator = bv.String() -Certificate._common_name_validator = bv.String() +Certificate._common_name_validator = bv.Nullable(bv.String()) Certificate._all_field_names_ = set([ 'subject', 'issuer', @@ -37284,18 +72127,9 @@ 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') +CollectionShareType._description_validator = bv.String() +CollectionShareType._all_field_names_ = set(['description']) +CollectionShareType._all_fields_ = [('description', CollectionShareType._description_validator)] ContentPermanentDeletePolicy._disabled_validator = bv.Void() ContentPermanentDeletePolicy._enabled_validator = bv.Void() @@ -37312,21 +72146,30 @@ ContentPermanentDeletePolicy.other = ContentPermanentDeletePolicy('other') ContextLogInfo._team_member_validator = TeamMemberLogInfo_validator ContextLogInfo._non_team_member_validator = NonTeamMemberLogInfo_validator +ContextLogInfo._anonymous_validator = bv.Void() ContextLogInfo._team_validator = bv.Void() +ContextLogInfo._trusted_non_team_member_validator = TrustedNonTeamMemberLogInfo_validator ContextLogInfo._other_validator = bv.Void() ContextLogInfo._tagmap = { 'team_member': ContextLogInfo._team_member_validator, 'non_team_member': ContextLogInfo._non_team_member_validator, + 'anonymous': ContextLogInfo._anonymous_validator, 'team': ContextLogInfo._team_validator, + 'trusted_non_team_member': ContextLogInfo._trusted_non_team_member_validator, 'other': ContextLogInfo._other_validator, } +ContextLogInfo.anonymous = ContextLogInfo('anonymous') ContextLogInfo.team = ContextLogInfo('team') ContextLogInfo.other = ContextLogInfo('other') CreateFolderDetails._all_field_names_ = set([]) CreateFolderDetails._all_fields_ = [] +CreateFolderType._description_validator = bv.String() +CreateFolderType._all_field_names_ = set(['description']) +CreateFolderType._all_fields_ = [('description', CreateFolderType._description_validator)] + DataPlacementRestrictionChangePolicyDetails._previous_value_validator = PlacementRestriction_validator DataPlacementRestrictionChangePolicyDetails._new_value_validator = PlacementRestriction_validator DataPlacementRestrictionChangePolicyDetails._all_field_names_ = set([ @@ -37338,10 +72181,73 @@ DataPlacementRestrictionChangePolicyDetails._all_fields_ = [ ('new_value', DataPlacementRestrictionChangePolicyDetails._new_value_validator), ] +DataPlacementRestrictionChangePolicyType._description_validator = bv.String() +DataPlacementRestrictionChangePolicyType._all_field_names_ = set(['description']) +DataPlacementRestrictionChangePolicyType._all_fields_ = [('description', DataPlacementRestrictionChangePolicyType._description_validator)] + DataPlacementRestrictionSatisfyPolicyDetails._placement_restriction_validator = PlacementRestriction_validator DataPlacementRestrictionSatisfyPolicyDetails._all_field_names_ = set(['placement_restriction']) DataPlacementRestrictionSatisfyPolicyDetails._all_fields_ = [('placement_restriction', DataPlacementRestrictionSatisfyPolicyDetails._placement_restriction_validator)] +DataPlacementRestrictionSatisfyPolicyType._description_validator = bv.String() +DataPlacementRestrictionSatisfyPolicyType._all_field_names_ = set(['description']) +DataPlacementRestrictionSatisfyPolicyType._all_fields_ = [('description', DataPlacementRestrictionSatisfyPolicyType._description_validator)] + +DeviceSessionLogInfo._ip_address_validator = bv.Nullable(IpAddress_validator) +DeviceSessionLogInfo._created_validator = bv.Nullable(common.DropboxTimestamp_validator) +DeviceSessionLogInfo._updated_validator = bv.Nullable(common.DropboxTimestamp_validator) +DeviceSessionLogInfo._field_names_ = set([ + 'ip_address', + 'created', + 'updated', +]) +DeviceSessionLogInfo._all_field_names_ = DeviceSessionLogInfo._field_names_ +DeviceSessionLogInfo._fields_ = [ + ('ip_address', DeviceSessionLogInfo._ip_address_validator), + ('created', DeviceSessionLogInfo._created_validator), + ('updated', DeviceSessionLogInfo._updated_validator), +] +DeviceSessionLogInfo._all_fields_ = DeviceSessionLogInfo._fields_ + +DeviceSessionLogInfo._tag_to_subtype_ = { + (u'desktop_device_session',): DesktopDeviceSessionLogInfo_validator, + (u'mobile_device_session',): MobileDeviceSessionLogInfo_validator, + (u'web_device_session',): WebDeviceSessionLogInfo_validator, + (u'legacy_device_session',): LegacyDeviceSessionLogInfo_validator, +} +DeviceSessionLogInfo._pytype_to_tag_and_subtype_ = { + DesktopDeviceSessionLogInfo: ((u'desktop_device_session',), DesktopDeviceSessionLogInfo_validator), + MobileDeviceSessionLogInfo: ((u'mobile_device_session',), MobileDeviceSessionLogInfo_validator), + WebDeviceSessionLogInfo: ((u'web_device_session',), WebDeviceSessionLogInfo_validator), + LegacyDeviceSessionLogInfo: ((u'legacy_device_session',), LegacyDeviceSessionLogInfo_validator), +} +DeviceSessionLogInfo._is_catch_all_ = True + +DesktopDeviceSessionLogInfo._session_info_validator = bv.Nullable(DesktopSessionLogInfo_validator) +DesktopDeviceSessionLogInfo._host_name_validator = bv.String() +DesktopDeviceSessionLogInfo._client_type_validator = team.DesktopPlatform_validator +DesktopDeviceSessionLogInfo._client_version_validator = bv.Nullable(bv.String()) +DesktopDeviceSessionLogInfo._platform_validator = bv.String() +DesktopDeviceSessionLogInfo._is_delete_on_unlink_supported_validator = bv.Boolean() +DesktopDeviceSessionLogInfo._field_names_ = set([ + 'session_info', + 'host_name', + 'client_type', + 'client_version', + 'platform', + 'is_delete_on_unlink_supported', +]) +DesktopDeviceSessionLogInfo._all_field_names_ = DeviceSessionLogInfo._all_field_names_.union(DesktopDeviceSessionLogInfo._field_names_) +DesktopDeviceSessionLogInfo._fields_ = [ + ('session_info', DesktopDeviceSessionLogInfo._session_info_validator), + ('host_name', DesktopDeviceSessionLogInfo._host_name_validator), + ('client_type', DesktopDeviceSessionLogInfo._client_type_validator), + ('client_version', DesktopDeviceSessionLogInfo._client_version_validator), + ('platform', DesktopDeviceSessionLogInfo._platform_validator), + ('is_delete_on_unlink_supported', DesktopDeviceSessionLogInfo._is_delete_on_unlink_supported_validator), +] +DesktopDeviceSessionLogInfo._all_fields_ = DeviceSessionLogInfo._all_fields_ + DesktopDeviceSessionLogInfo._fields_ + SessionLogInfo._session_id_validator = bv.Nullable(common.SessionId_validator) SessionLogInfo._field_names_ = set(['session_id']) SessionLogInfo._all_field_names_ = SessionLogInfo._field_names_ @@ -37376,6 +72282,10 @@ DeviceApprovalsChangeDesktopPolicyDetails._all_fields_ = [ ('previous_value', DeviceApprovalsChangeDesktopPolicyDetails._previous_value_validator), ] +DeviceApprovalsChangeDesktopPolicyType._description_validator = bv.String() +DeviceApprovalsChangeDesktopPolicyType._all_field_names_ = set(['description']) +DeviceApprovalsChangeDesktopPolicyType._all_fields_ = [('description', DeviceApprovalsChangeDesktopPolicyType._description_validator)] + DeviceApprovalsChangeMobilePolicyDetails._new_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator) DeviceApprovalsChangeMobilePolicyDetails._previous_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator) DeviceApprovalsChangeMobilePolicyDetails._all_field_names_ = set([ @@ -37387,6 +72297,10 @@ DeviceApprovalsChangeMobilePolicyDetails._all_fields_ = [ ('previous_value', DeviceApprovalsChangeMobilePolicyDetails._previous_value_validator), ] +DeviceApprovalsChangeMobilePolicyType._description_validator = bv.String() +DeviceApprovalsChangeMobilePolicyType._all_field_names_ = set(['description']) +DeviceApprovalsChangeMobilePolicyType._all_fields_ = [('description', DeviceApprovalsChangeMobilePolicyType._description_validator)] + DeviceApprovalsChangeOverageActionDetails._new_value_validator = bv.Nullable(team_policies.RolloutMethod_validator) DeviceApprovalsChangeOverageActionDetails._previous_value_validator = bv.Nullable(team_policies.RolloutMethod_validator) DeviceApprovalsChangeOverageActionDetails._all_field_names_ = set([ @@ -37398,6 +72312,10 @@ DeviceApprovalsChangeOverageActionDetails._all_fields_ = [ ('previous_value', DeviceApprovalsChangeOverageActionDetails._previous_value_validator), ] +DeviceApprovalsChangeOverageActionType._description_validator = bv.String() +DeviceApprovalsChangeOverageActionType._all_field_names_ = set(['description']) +DeviceApprovalsChangeOverageActionType._all_fields_ = [('description', DeviceApprovalsChangeOverageActionType._description_validator)] + DeviceApprovalsChangeUnlinkActionDetails._new_value_validator = bv.Nullable(DeviceUnlinkPolicy_validator) DeviceApprovalsChangeUnlinkActionDetails._previous_value_validator = bv.Nullable(DeviceUnlinkPolicy_validator) DeviceApprovalsChangeUnlinkActionDetails._all_field_names_ = set([ @@ -37409,6 +72327,10 @@ DeviceApprovalsChangeUnlinkActionDetails._all_fields_ = [ ('previous_value', DeviceApprovalsChangeUnlinkActionDetails._previous_value_validator), ] +DeviceApprovalsChangeUnlinkActionType._description_validator = bv.String() +DeviceApprovalsChangeUnlinkActionType._all_field_names_ = set(['description']) +DeviceApprovalsChangeUnlinkActionType._all_fields_ = [('description', DeviceApprovalsChangeUnlinkActionType._description_validator)] + DeviceApprovalsPolicy._unlimited_validator = bv.Void() DeviceApprovalsPolicy._limited_validator = bv.Void() DeviceApprovalsPolicy._other_validator = bv.Void() @@ -37422,96 +72344,100 @@ DeviceApprovalsPolicy.unlimited = DeviceApprovalsPolicy('unlimited') DeviceApprovalsPolicy.limited = DeviceApprovalsPolicy('limited') DeviceApprovalsPolicy.other = DeviceApprovalsPolicy('other') -DeviceChangeIpDesktopDetails._device_info_validator = DeviceLogInfo_validator -DeviceChangeIpDesktopDetails._all_field_names_ = set(['device_info']) -DeviceChangeIpDesktopDetails._all_fields_ = [('device_info', DeviceChangeIpDesktopDetails._device_info_validator)] +DeviceChangeIpDesktopDetails._device_session_info_validator = DeviceSessionLogInfo_validator +DeviceChangeIpDesktopDetails._all_field_names_ = set(['device_session_info']) +DeviceChangeIpDesktopDetails._all_fields_ = [('device_session_info', DeviceChangeIpDesktopDetails._device_session_info_validator)] -DeviceChangeIpMobileDetails._device_info_validator = DeviceLogInfo_validator -DeviceChangeIpMobileDetails._all_field_names_ = set(['device_info']) -DeviceChangeIpMobileDetails._all_fields_ = [('device_info', DeviceChangeIpMobileDetails._device_info_validator)] +DeviceChangeIpDesktopType._description_validator = bv.String() +DeviceChangeIpDesktopType._all_field_names_ = set(['description']) +DeviceChangeIpDesktopType._all_fields_ = [('description', DeviceChangeIpDesktopType._description_validator)] + +DeviceChangeIpMobileDetails._device_session_info_validator = bv.Nullable(DeviceSessionLogInfo_validator) +DeviceChangeIpMobileDetails._all_field_names_ = set(['device_session_info']) +DeviceChangeIpMobileDetails._all_fields_ = [('device_session_info', DeviceChangeIpMobileDetails._device_session_info_validator)] + +DeviceChangeIpMobileType._description_validator = bv.String() +DeviceChangeIpMobileType._all_field_names_ = set(['description']) +DeviceChangeIpMobileType._all_fields_ = [('description', DeviceChangeIpMobileType._description_validator)] -DeviceChangeIpWebDetails._device_info_validator = bv.Nullable(DeviceLogInfo_validator) DeviceChangeIpWebDetails._user_agent_validator = bv.String() -DeviceChangeIpWebDetails._all_field_names_ = set([ - 'device_info', - 'user_agent', -]) -DeviceChangeIpWebDetails._all_fields_ = [ - ('device_info', DeviceChangeIpWebDetails._device_info_validator), - ('user_agent', DeviceChangeIpWebDetails._user_agent_validator), -] +DeviceChangeIpWebDetails._all_field_names_ = set(['user_agent']) +DeviceChangeIpWebDetails._all_fields_ = [('user_agent', DeviceChangeIpWebDetails._user_agent_validator)] -DeviceDeleteOnUnlinkFailDetails._device_info_validator = DeviceLogInfo_validator +DeviceChangeIpWebType._description_validator = bv.String() +DeviceChangeIpWebType._all_field_names_ = set(['description']) +DeviceChangeIpWebType._all_fields_ = [('description', DeviceChangeIpWebType._description_validator)] + +DeviceDeleteOnUnlinkFailDetails._session_info_validator = bv.Nullable(SessionLogInfo_validator) +DeviceDeleteOnUnlinkFailDetails._display_name_validator = bv.Nullable(bv.String()) DeviceDeleteOnUnlinkFailDetails._num_failures_validator = bv.Int64() DeviceDeleteOnUnlinkFailDetails._all_field_names_ = set([ - 'device_info', + 'session_info', + 'display_name', 'num_failures', ]) DeviceDeleteOnUnlinkFailDetails._all_fields_ = [ - ('device_info', DeviceDeleteOnUnlinkFailDetails._device_info_validator), + ('session_info', DeviceDeleteOnUnlinkFailDetails._session_info_validator), + ('display_name', DeviceDeleteOnUnlinkFailDetails._display_name_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)] +DeviceDeleteOnUnlinkFailType._description_validator = bv.String() +DeviceDeleteOnUnlinkFailType._all_field_names_ = set(['description']) +DeviceDeleteOnUnlinkFailType._all_fields_ = [('description', DeviceDeleteOnUnlinkFailType._description_validator)] -DeviceLinkFailDetails._device_info_validator = bv.Nullable(DeviceLogInfo_validator) +DeviceDeleteOnUnlinkSuccessDetails._session_info_validator = bv.Nullable(SessionLogInfo_validator) +DeviceDeleteOnUnlinkSuccessDetails._display_name_validator = bv.Nullable(bv.String()) +DeviceDeleteOnUnlinkSuccessDetails._all_field_names_ = set([ + 'session_info', + 'display_name', +]) +DeviceDeleteOnUnlinkSuccessDetails._all_fields_ = [ + ('session_info', DeviceDeleteOnUnlinkSuccessDetails._session_info_validator), + ('display_name', DeviceDeleteOnUnlinkSuccessDetails._display_name_validator), +] + +DeviceDeleteOnUnlinkSuccessType._description_validator = bv.String() +DeviceDeleteOnUnlinkSuccessType._all_field_names_ = set(['description']) +DeviceDeleteOnUnlinkSuccessType._all_fields_ = [('description', DeviceDeleteOnUnlinkSuccessType._description_validator)] + +DeviceLinkFailDetails._ip_address_validator = bv.Nullable(IpAddress_validator) DeviceLinkFailDetails._device_type_validator = DeviceType_validator DeviceLinkFailDetails._all_field_names_ = set([ - 'device_info', + 'ip_address', 'device_type', ]) DeviceLinkFailDetails._all_fields_ = [ - ('device_info', DeviceLinkFailDetails._device_info_validator), + ('ip_address', DeviceLinkFailDetails._ip_address_validator), ('device_type', DeviceLinkFailDetails._device_type_validator), ] -DeviceLinkSuccessDetails._device_info_validator = DeviceLogInfo_validator -DeviceLinkSuccessDetails._all_field_names_ = set(['device_info']) -DeviceLinkSuccessDetails._all_fields_ = [('device_info', DeviceLinkSuccessDetails._device_info_validator)] +DeviceLinkFailType._description_validator = bv.String() +DeviceLinkFailType._all_field_names_ = set(['description']) +DeviceLinkFailType._all_fields_ = [('description', DeviceLinkFailType._description_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._app_version_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', - 'app_version', -]) -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), - ('app_version', DeviceLogInfo._app_version_validator), -] +DeviceLinkSuccessDetails._device_session_info_validator = bv.Nullable(DeviceSessionLogInfo_validator) +DeviceLinkSuccessDetails._all_field_names_ = set(['device_session_info']) +DeviceLinkSuccessDetails._all_fields_ = [('device_session_info', DeviceLinkSuccessDetails._device_session_info_validator)] + +DeviceLinkSuccessType._description_validator = bv.String() +DeviceLinkSuccessType._all_field_names_ = set(['description']) +DeviceLinkSuccessType._all_fields_ = [('description', DeviceLinkSuccessType._description_validator)] DeviceManagementDisabledDetails._all_field_names_ = set([]) DeviceManagementDisabledDetails._all_fields_ = [] +DeviceManagementDisabledType._description_validator = bv.String() +DeviceManagementDisabledType._all_field_names_ = set(['description']) +DeviceManagementDisabledType._all_fields_ = [('description', DeviceManagementDisabledType._description_validator)] + DeviceManagementEnabledDetails._all_field_names_ = set([]) DeviceManagementEnabledDetails._all_fields_ = [] +DeviceManagementEnabledType._description_validator = bv.String() +DeviceManagementEnabledType._all_field_names_ = set(['description']) +DeviceManagementEnabledType._all_fields_ = [('description', DeviceManagementEnabledType._description_validator)] + DeviceType._desktop_validator = bv.Void() DeviceType._mobile_validator = bv.Void() DeviceType._other_validator = bv.Void() @@ -37525,14 +72451,17 @@ DeviceType.desktop = DeviceType('desktop') DeviceType.mobile = DeviceType('mobile') DeviceType.other = DeviceType('other') -DeviceUnlinkDetails._device_info_validator = DeviceLogInfo_validator +DeviceUnlinkDetails._session_info_validator = bv.Nullable(SessionLogInfo_validator) +DeviceUnlinkDetails._display_name_validator = bv.Nullable(bv.String()) DeviceUnlinkDetails._delete_data_validator = bv.Boolean() DeviceUnlinkDetails._all_field_names_ = set([ - 'device_info', + 'session_info', + 'display_name', 'delete_data', ]) DeviceUnlinkDetails._all_fields_ = [ - ('device_info', DeviceUnlinkDetails._device_info_validator), + ('session_info', DeviceUnlinkDetails._session_info_validator), + ('display_name', DeviceUnlinkDetails._display_name_validator), ('delete_data', DeviceUnlinkDetails._delete_data_validator), ] @@ -37549,16 +72478,46 @@ DeviceUnlinkPolicy.remove = DeviceUnlinkPolicy('remove') DeviceUnlinkPolicy.keep = DeviceUnlinkPolicy('keep') DeviceUnlinkPolicy.other = DeviceUnlinkPolicy('other') +DeviceUnlinkType._description_validator = bv.String() +DeviceUnlinkType._all_field_names_ = set(['description']) +DeviceUnlinkType._all_fields_ = [('description', DeviceUnlinkType._description_validator)] + +DirectoryRestrictionsAddMembersDetails._all_field_names_ = set([]) +DirectoryRestrictionsAddMembersDetails._all_fields_ = [] + +DirectoryRestrictionsAddMembersType._description_validator = bv.String() +DirectoryRestrictionsAddMembersType._all_field_names_ = set(['description']) +DirectoryRestrictionsAddMembersType._all_fields_ = [('description', DirectoryRestrictionsAddMembersType._description_validator)] + +DirectoryRestrictionsRemoveMembersDetails._all_field_names_ = set([]) +DirectoryRestrictionsRemoveMembersDetails._all_fields_ = [] + +DirectoryRestrictionsRemoveMembersType._description_validator = bv.String() +DirectoryRestrictionsRemoveMembersType._all_field_names_ = set(['description']) +DirectoryRestrictionsRemoveMembersType._all_fields_ = [('description', DirectoryRestrictionsRemoveMembersType._description_validator)] + DisabledDomainInvitesDetails._all_field_names_ = set([]) DisabledDomainInvitesDetails._all_fields_ = [] +DisabledDomainInvitesType._description_validator = bv.String() +DisabledDomainInvitesType._all_field_names_ = set(['description']) +DisabledDomainInvitesType._all_fields_ = [('description', DisabledDomainInvitesType._description_validator)] + DomainInvitesApproveRequestToJoinTeamDetails._all_field_names_ = set([]) DomainInvitesApproveRequestToJoinTeamDetails._all_fields_ = [] +DomainInvitesApproveRequestToJoinTeamType._description_validator = bv.String() +DomainInvitesApproveRequestToJoinTeamType._all_field_names_ = set(['description']) +DomainInvitesApproveRequestToJoinTeamType._all_fields_ = [('description', DomainInvitesApproveRequestToJoinTeamType._description_validator)] + DomainInvitesDeclineRequestToJoinTeamDetails._all_field_names_ = set([]) DomainInvitesDeclineRequestToJoinTeamDetails._all_fields_ = [] -DomainInvitesEmailExistingUsersDetails._domain_name_validator = bv.List(bv.String()) +DomainInvitesDeclineRequestToJoinTeamType._description_validator = bv.String() +DomainInvitesDeclineRequestToJoinTeamType._all_field_names_ = set(['description']) +DomainInvitesDeclineRequestToJoinTeamType._all_fields_ = [('description', DomainInvitesDeclineRequestToJoinTeamType._description_validator)] + +DomainInvitesEmailExistingUsersDetails._domain_name_validator = bv.String() DomainInvitesEmailExistingUsersDetails._num_recipients_validator = bv.UInt64() DomainInvitesEmailExistingUsersDetails._all_field_names_ = set([ 'domain_name', @@ -37569,15 +72528,31 @@ DomainInvitesEmailExistingUsersDetails._all_fields_ = [ ('num_recipients', DomainInvitesEmailExistingUsersDetails._num_recipients_validator), ] +DomainInvitesEmailExistingUsersType._description_validator = bv.String() +DomainInvitesEmailExistingUsersType._all_field_names_ = set(['description']) +DomainInvitesEmailExistingUsersType._all_fields_ = [('description', DomainInvitesEmailExistingUsersType._description_validator)] + DomainInvitesRequestToJoinTeamDetails._all_field_names_ = set([]) DomainInvitesRequestToJoinTeamDetails._all_fields_ = [] +DomainInvitesRequestToJoinTeamType._description_validator = bv.String() +DomainInvitesRequestToJoinTeamType._all_field_names_ = set(['description']) +DomainInvitesRequestToJoinTeamType._all_fields_ = [('description', DomainInvitesRequestToJoinTeamType._description_validator)] + DomainInvitesSetInviteNewUserPrefToNoDetails._all_field_names_ = set([]) DomainInvitesSetInviteNewUserPrefToNoDetails._all_fields_ = [] +DomainInvitesSetInviteNewUserPrefToNoType._description_validator = bv.String() +DomainInvitesSetInviteNewUserPrefToNoType._all_field_names_ = set(['description']) +DomainInvitesSetInviteNewUserPrefToNoType._all_fields_ = [('description', DomainInvitesSetInviteNewUserPrefToNoType._description_validator)] + DomainInvitesSetInviteNewUserPrefToYesDetails._all_field_names_ = set([]) DomainInvitesSetInviteNewUserPrefToYesDetails._all_fields_ = [] +DomainInvitesSetInviteNewUserPrefToYesType._description_validator = bv.String() +DomainInvitesSetInviteNewUserPrefToYesType._all_field_names_ = set(['description']) +DomainInvitesSetInviteNewUserPrefToYesType._all_fields_ = [('description', DomainInvitesSetInviteNewUserPrefToYesType._description_validator)] + DomainVerificationAddDomainFailDetails._domain_name_validator = bv.String() DomainVerificationAddDomainFailDetails._verification_method_validator = bv.Nullable(bv.String()) DomainVerificationAddDomainFailDetails._all_field_names_ = set([ @@ -37589,6 +72564,10 @@ DomainVerificationAddDomainFailDetails._all_fields_ = [ ('verification_method', DomainVerificationAddDomainFailDetails._verification_method_validator), ] +DomainVerificationAddDomainFailType._description_validator = bv.String() +DomainVerificationAddDomainFailType._all_field_names_ = set(['description']) +DomainVerificationAddDomainFailType._all_fields_ = [('description', DomainVerificationAddDomainFailType._description_validator)] + DomainVerificationAddDomainSuccessDetails._domain_names_validator = bv.List(bv.String()) DomainVerificationAddDomainSuccessDetails._verification_method_validator = bv.Nullable(bv.String()) DomainVerificationAddDomainSuccessDetails._all_field_names_ = set([ @@ -37600,10 +72579,31 @@ DomainVerificationAddDomainSuccessDetails._all_fields_ = [ ('verification_method', DomainVerificationAddDomainSuccessDetails._verification_method_validator), ] +DomainVerificationAddDomainSuccessType._description_validator = bv.String() +DomainVerificationAddDomainSuccessType._all_field_names_ = set(['description']) +DomainVerificationAddDomainSuccessType._all_fields_ = [('description', DomainVerificationAddDomainSuccessType._description_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)] +DomainVerificationRemoveDomainType._description_validator = bv.String() +DomainVerificationRemoveDomainType._all_field_names_ = set(['description']) +DomainVerificationRemoveDomainType._all_fields_ = [('description', DomainVerificationRemoveDomainType._description_validator)] + +DownloadPolicyType._allow_validator = bv.Void() +DownloadPolicyType._disallow_validator = bv.Void() +DownloadPolicyType._other_validator = bv.Void() +DownloadPolicyType._tagmap = { + 'allow': DownloadPolicyType._allow_validator, + 'disallow': DownloadPolicyType._disallow_validator, + 'other': DownloadPolicyType._other_validator, +} + +DownloadPolicyType.allow = DownloadPolicyType('allow') +DownloadPolicyType.disallow = DownloadPolicyType('disallow') +DownloadPolicyType.other = DownloadPolicyType('other') + DurationLogInfo._unit_validator = TimeUnit_validator DurationLogInfo._amount_validator = bv.UInt64() DurationLogInfo._all_field_names_ = set([ @@ -37618,6 +72618,10 @@ DurationLogInfo._all_fields_ = [ EmmAddExceptionDetails._all_field_names_ = set([]) EmmAddExceptionDetails._all_fields_ = [] +EmmAddExceptionType._description_validator = bv.String() +EmmAddExceptionType._all_field_names_ = set(['description']) +EmmAddExceptionType._all_fields_ = [('description', EmmAddExceptionType._description_validator)] + EmmChangePolicyDetails._new_value_validator = team_policies.EmmState_validator EmmChangePolicyDetails._previous_value_validator = bv.Nullable(team_policies.EmmState_validator) EmmChangePolicyDetails._all_field_names_ = set([ @@ -37629,36 +72633,57 @@ EmmChangePolicyDetails._all_fields_ = [ ('previous_value', EmmChangePolicyDetails._previous_value_validator), ] +EmmChangePolicyType._description_validator = bv.String() +EmmChangePolicyType._all_field_names_ = set(['description']) +EmmChangePolicyType._all_fields_ = [('description', EmmChangePolicyType._description_validator)] + EmmCreateExceptionsReportDetails._all_field_names_ = set([]) EmmCreateExceptionsReportDetails._all_fields_ = [] +EmmCreateExceptionsReportType._description_validator = bv.String() +EmmCreateExceptionsReportType._all_field_names_ = set(['description']) +EmmCreateExceptionsReportType._all_fields_ = [('description', EmmCreateExceptionsReportType._description_validator)] + EmmCreateUsageReportDetails._all_field_names_ = set([]) EmmCreateUsageReportDetails._all_fields_ = [] -EmmLoginSuccessDetails._all_field_names_ = set([]) -EmmLoginSuccessDetails._all_fields_ = [] +EmmCreateUsageReportType._description_validator = bv.String() +EmmCreateUsageReportType._all_field_names_ = set(['description']) +EmmCreateUsageReportType._all_fields_ = [('description', EmmCreateUsageReportType._description_validator)] + +EmmErrorDetails._error_details_validator = FailureDetailsLogInfo_validator +EmmErrorDetails._all_field_names_ = set(['error_details']) +EmmErrorDetails._all_fields_ = [('error_details', EmmErrorDetails._error_details_validator)] + +EmmErrorType._description_validator = bv.String() +EmmErrorType._all_field_names_ = set(['description']) +EmmErrorType._all_fields_ = [('description', EmmErrorType._description_validator)] EmmRefreshAuthTokenDetails._all_field_names_ = set([]) EmmRefreshAuthTokenDetails._all_fields_ = [] +EmmRefreshAuthTokenType._description_validator = bv.String() +EmmRefreshAuthTokenType._all_field_names_ = set(['description']) +EmmRefreshAuthTokenType._all_fields_ = [('description', EmmRefreshAuthTokenType._description_validator)] + EmmRemoveExceptionDetails._all_field_names_ = set([]) EmmRemoveExceptionDetails._all_fields_ = [] +EmmRemoveExceptionType._description_validator = bv.String() +EmmRemoveExceptionType._all_field_names_ = set(['description']) +EmmRemoveExceptionType._all_fields_ = [('description', EmmRemoveExceptionType._description_validator)] + EnabledDomainInvitesDetails._all_field_names_ = set([]) EnabledDomainInvitesDetails._all_fields_ = [] -EventCategory._account_capture_validator = bv.Void() -EventCategory._administration_validator = bv.Void() +EnabledDomainInvitesType._description_validator = bv.String() +EnabledDomainInvitesType._all_field_names_ = set(['description']) +EnabledDomainInvitesType._all_fields_ = [('description', EnabledDomainInvitesType._description_validator)] + 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() @@ -37667,31 +72692,20 @@ 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._showcase_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._trusted_teams_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, @@ -37700,32 +72714,21 @@ EventCategory._tagmap = { '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, + 'showcase': EventCategory._showcase_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, + 'trusted_teams': EventCategory._trusted_teams_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') @@ -37734,39 +72737,26 @@ 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.showcase = EventCategory('showcase') 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.trusted_teams = EventCategory('trusted_teams') 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_admin_export_start_details_validator = PaperAdminExportStartDetails_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_from_details_validator = TeamMergeFromDetails_validator -EventDetails._team_merge_to_details_validator = TeamMergeToDetails_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._integration_connected_details_validator = IntegrationConnectedDetails_validator +EventDetails._integration_disconnected_details_validator = IntegrationDisconnectedDetails_validator EventDetails._file_add_comment_details_validator = FileAddCommentDetails_validator EventDetails._file_change_comment_subscription_details_validator = FileChangeCommentSubscriptionDetails_validator EventDetails._file_delete_comment_details_validator = FileDeleteCommentDetails_validator +EventDetails._file_edit_comment_details_validator = FileEditCommentDetails_validator EventDetails._file_like_comment_details_validator = FileLikeCommentDetails_validator EventDetails._file_resolve_comment_details_validator = FileResolveCommentDetails_validator EventDetails._file_unlike_comment_details_validator = FileUnlikeCommentDetails_validator @@ -37784,6 +72774,7 @@ 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_notification_emails_sent_details_validator = AccountCaptureNotificationEmailsSentDetails_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 @@ -37811,14 +72802,11 @@ 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_change_details_validator = FileRequestChangeDetails_validator EventDetails._file_request_close_details_validator = FileRequestCloseDetails_validator EventDetails._file_request_create_details_validator = FileRequestCreateDetails_validator +EventDetails._file_request_delete_details_validator = FileRequestDeleteDetails_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 @@ -37826,25 +72814,41 @@ EventDetails._group_change_management_type_details_validator = GroupChangeManage 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._emm_error_details_validator = EmmErrorDetails_validator +EventDetails._guest_admin_signed_in_via_trusted_teams_details_validator = GuestAdminSignedInViaTrustedTeamsDetails_validator +EventDetails._guest_admin_signed_out_via_trusted_teams_details_validator = GuestAdminSignedOutViaTrustedTeamsDetails_validator +EventDetails._login_fail_details_validator = LoginFailDetails_validator +EventDetails._login_success_details_validator = LoginSuccessDetails_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._sso_error_details_validator = SsoErrorDetails_validator +EventDetails._member_add_external_id_details_validator = MemberAddExternalIdDetails_validator EventDetails._member_add_name_details_validator = MemberAddNameDetails_validator EventDetails._member_change_admin_role_details_validator = MemberChangeAdminRoleDetails_validator EventDetails._member_change_email_details_validator = MemberChangeEmailDetails_validator +EventDetails._member_change_external_id_details_validator = MemberChangeExternalIdDetails_validator +EventDetails._member_change_membership_type_details_validator = MemberChangeMembershipTypeDetails_validator EventDetails._member_change_name_details_validator = MemberChangeNameDetails_validator EventDetails._member_change_status_details_validator = MemberChangeStatusDetails_validator +EventDetails._member_delete_manual_contacts_details_validator = MemberDeleteManualContactsDetails_validator +EventDetails._member_permanently_delete_account_contents_details_validator = MemberPermanentlyDeleteAccountContentsDetails_validator +EventDetails._member_remove_external_id_details_validator = MemberRemoveExternalIdDetails_validator +EventDetails._member_space_limits_add_custom_quota_details_validator = MemberSpaceLimitsAddCustomQuotaDetails_validator +EventDetails._member_space_limits_change_custom_quota_details_validator = MemberSpaceLimitsChangeCustomQuotaDetails_validator +EventDetails._member_space_limits_change_status_details_validator = MemberSpaceLimitsChangeStatusDetails_validator +EventDetails._member_space_limits_remove_custom_quota_details_validator = MemberSpaceLimitsRemoveCustomQuotaDetails_validator EventDetails._member_suggest_details_validator = MemberSuggestDetails_validator +EventDetails._member_transfer_account_contents_details_validator = MemberTransferAccountContentsDetails_validator +EventDetails._secondary_mails_policy_changed_details_validator = SecondaryMailsPolicyChangedDetails_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 @@ -37865,6 +72869,7 @@ 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_ownership_changed_details_validator = PaperDocOwnershipChangedDetails_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 @@ -37874,17 +72879,26 @@ EventDetails._paper_doc_trashed_details_validator = PaperDocTrashedDetails_valid EventDetails._paper_doc_unresolve_comment_details_validator = PaperDocUnresolveCommentDetails_validator EventDetails._paper_doc_untrashed_details_validator = PaperDocUntrashedDetails_validator EventDetails._paper_doc_view_details_validator = PaperDocViewDetails_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._paper_folder_change_subscription_details_validator = PaperFolderChangeSubscriptionDetails_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._paper_published_link_create_details_validator = PaperPublishedLinkCreateDetails_validator +EventDetails._paper_published_link_disabled_details_validator = PaperPublishedLinkDisabledDetails_validator +EventDetails._paper_published_link_view_details_validator = PaperPublishedLinkViewDetails_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._export_members_report_details_validator = ExportMembersReportDetails_validator +EventDetails._paper_admin_export_start_details_validator = PaperAdminExportStartDetails_validator EventDetails._smart_sync_create_admin_privilege_report_details_validator = SmartSyncCreateAdminPrivilegeReportDetails_validator EventDetails._team_activity_create_report_details_validator = TeamActivityCreateReportDetails_validator +EventDetails._team_activity_create_report_fail_details_validator = TeamActivityCreateReportFailDetails_validator EventDetails._collection_share_details_validator = CollectionShareDetails_validator EventDetails._note_acl_invite_only_details_validator = NoteAclInviteOnlyDetails_validator EventDetails._note_acl_link_details_validator = NoteAclLinkDetails_validator @@ -37894,9 +72908,11 @@ EventDetails._note_share_receive_details_validator = NoteShareReceiveDetails_val 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_external_invite_warn_details_validator = SfExternalInviteWarnDetails_validator +EventDetails._sf_fb_invite_details_validator = SfFbInviteDetails_validator +EventDetails._sf_fb_invite_change_role_details_validator = SfFbInviteChangeRoleDetails_validator +EventDetails._sf_fb_uninvite_details_validator = SfFbUninviteDetails_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 @@ -37918,36 +72934,59 @@ EventDetails._shared_content_claim_invitation_details_validator = SharedContentC 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_invitees_details_validator = SharedContentRemoveInviteesDetails_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_change_members_inheritance_policy_details_validator = SharedFolderChangeMembersInheritancePolicyDetails_validator +EventDetails._shared_folder_change_members_management_policy_details_validator = SharedFolderChangeMembersManagementPolicyDetails_validator +EventDetails._shared_folder_change_members_policy_details_validator = SharedFolderChangeMembersPolicyDetails_validator EventDetails._shared_folder_create_details_validator = SharedFolderCreateDetails_validator +EventDetails._shared_folder_decline_invitation_details_validator = SharedFolderDeclineInvitationDetails_validator EventDetails._shared_folder_mount_details_validator = SharedFolderMountDetails_validator +EventDetails._shared_folder_nest_details_validator = SharedFolderNestDetails_validator EventDetails._shared_folder_transfer_ownership_details_validator = SharedFolderTransferOwnershipDetails_validator EventDetails._shared_folder_unmount_details_validator = SharedFolderUnmountDetails_validator +EventDetails._shared_link_add_expiry_details_validator = SharedLinkAddExpiryDetails_validator +EventDetails._shared_link_change_expiry_details_validator = SharedLinkChangeExpiryDetails_validator +EventDetails._shared_link_change_visibility_details_validator = SharedLinkChangeVisibilityDetails_validator +EventDetails._shared_link_copy_details_validator = SharedLinkCopyDetails_validator +EventDetails._shared_link_create_details_validator = SharedLinkCreateDetails_validator +EventDetails._shared_link_disable_details_validator = SharedLinkDisableDetails_validator +EventDetails._shared_link_download_details_validator = SharedLinkDownloadDetails_validator +EventDetails._shared_link_remove_expiry_details_validator = SharedLinkRemoveExpiryDetails_validator +EventDetails._shared_link_share_details_validator = SharedLinkShareDetails_validator +EventDetails._shared_link_view_details_validator = SharedLinkViewDetails_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._showcase_access_granted_details_validator = ShowcaseAccessGrantedDetails_validator +EventDetails._showcase_add_member_details_validator = ShowcaseAddMemberDetails_validator +EventDetails._showcase_archived_details_validator = ShowcaseArchivedDetails_validator +EventDetails._showcase_created_details_validator = ShowcaseCreatedDetails_validator +EventDetails._showcase_delete_comment_details_validator = ShowcaseDeleteCommentDetails_validator +EventDetails._showcase_edited_details_validator = ShowcaseEditedDetails_validator +EventDetails._showcase_edit_comment_details_validator = ShowcaseEditCommentDetails_validator +EventDetails._showcase_file_added_details_validator = ShowcaseFileAddedDetails_validator +EventDetails._showcase_file_download_details_validator = ShowcaseFileDownloadDetails_validator +EventDetails._showcase_file_removed_details_validator = ShowcaseFileRemovedDetails_validator +EventDetails._showcase_file_view_details_validator = ShowcaseFileViewDetails_validator +EventDetails._showcase_permanently_deleted_details_validator = ShowcasePermanentlyDeletedDetails_validator +EventDetails._showcase_post_comment_details_validator = ShowcasePostCommentDetails_validator +EventDetails._showcase_remove_member_details_validator = ShowcaseRemoveMemberDetails_validator +EventDetails._showcase_renamed_details_validator = ShowcaseRenamedDetails_validator +EventDetails._showcase_request_access_details_validator = ShowcaseRequestAccessDetails_validator +EventDetails._showcase_resolve_comment_details_validator = ShowcaseResolveCommentDetails_validator +EventDetails._showcase_restored_details_validator = ShowcaseRestoredDetails_validator +EventDetails._showcase_trashed_details_validator = ShowcaseTrashedDetails_validator +EventDetails._showcase_trashed_deprecated_details_validator = ShowcaseTrashedDeprecatedDetails_validator +EventDetails._showcase_unresolve_comment_details_validator = ShowcaseUnresolveCommentDetails_validator +EventDetails._showcase_untrashed_details_validator = ShowcaseUntrashedDetails_validator +EventDetails._showcase_untrashed_deprecated_details_validator = ShowcaseUntrashedDeprecatedDetails_validator +EventDetails._showcase_view_details_validator = ShowcaseViewDetails_validator EventDetails._sso_add_cert_details_validator = SsoAddCertDetails_validator EventDetails._sso_add_login_url_details_validator = SsoAddLoginUrlDetails_validator EventDetails._sso_add_logout_url_details_validator = SsoAddLogoutUrlDetails_validator @@ -37963,15 +73002,19 @@ EventDetails._team_folder_create_details_validator = TeamFolderCreateDetails_val 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._team_selective_sync_settings_changed_details_validator = TeamSelectiveSyncSettingsChangedDetails_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._camera_uploads_policy_changed_details_validator = CameraUploadsPolicyChangedDetails_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._directory_restrictions_add_members_details_validator = DirectoryRestrictionsAddMembersDetails_validator +EventDetails._directory_restrictions_remove_members_details_validator = DirectoryRestrictionsRemoveMembersDetails_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 @@ -37982,8 +73025,10 @@ EventDetails._file_requests_emails_enabled_details_validator = FileRequestsEmail 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._integration_policy_changed_details_validator = IntegrationPolicyChangedDetails_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_caps_type_policy_details_validator = MemberSpaceLimitsChangeCapsTypePolicyDetails_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 @@ -37993,18 +73038,31 @@ EventDetails._paper_change_deployment_policy_details_validator = PaperChangeDepl EventDetails._paper_change_member_link_policy_details_validator = PaperChangeMemberLinkPolicyDetails_validator EventDetails._paper_change_member_policy_details_validator = PaperChangeMemberPolicyDetails_validator EventDetails._paper_change_policy_details_validator = PaperChangePolicyDetails_validator +EventDetails._paper_default_folder_policy_changed_details_validator = PaperDefaultFolderPolicyChangedDetails_validator +EventDetails._paper_desktop_policy_changed_details_validator = PaperDesktopPolicyChangedDetails_validator +EventDetails._paper_enabled_users_group_addition_details_validator = PaperEnabledUsersGroupAdditionDetails_validator +EventDetails._paper_enabled_users_group_removal_details_validator = PaperEnabledUsersGroupRemovalDetails_validator EventDetails._permanent_delete_change_policy_details_validator = PermanentDeleteChangePolicyDetails_validator +EventDetails._reseller_support_change_policy_details_validator = ResellerSupportChangePolicyDetails_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._showcase_change_download_policy_details_validator = ShowcaseChangeDownloadPolicyDetails_validator +EventDetails._showcase_change_enabled_policy_details_validator = ShowcaseChangeEnabledPolicyDetails_validator +EventDetails._showcase_change_external_sharing_policy_details_validator = ShowcaseChangeExternalSharingPolicyDetails_validator EventDetails._smart_sync_change_policy_details_validator = SmartSyncChangePolicyDetails_validator EventDetails._smart_sync_not_opt_out_details_validator = SmartSyncNotOptOutDetails_validator EventDetails._smart_sync_opt_out_details_validator = SmartSyncOptOutDetails_validator EventDetails._sso_change_policy_details_validator = SsoChangePolicyDetails_validator +EventDetails._team_extensions_policy_changed_details_validator = TeamExtensionsPolicyChangedDetails_validator +EventDetails._team_selective_sync_policy_changed_details_validator = TeamSelectiveSyncPolicyChangedDetails_validator EventDetails._tfa_change_policy_details_validator = TfaChangePolicyDetails_validator EventDetails._two_account_change_policy_details_validator = TwoAccountChangePolicyDetails_validator +EventDetails._viewer_info_policy_changed_details_validator = ViewerInfoPolicyChangedDetails_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_merge_from_details_validator = TeamMergeFromDetails_validator +EventDetails._team_merge_to_details_validator = TeamMergeToDetails_validator EventDetails._team_profile_add_logo_details_validator = TeamProfileAddLogoDetails_validator EventDetails._team_profile_change_default_language_details_validator = TeamProfileChangeDefaultLanguageDetails_validator EventDetails._team_profile_change_logo_details_validator = TeamProfileChangeLogoDetails_validator @@ -38017,29 +73075,38 @@ EventDetails._tfa_change_status_details_validator = TfaChangeStatusDetails_valid 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._guest_admin_change_status_details_validator = GuestAdminChangeStatusDetails_validator +EventDetails._team_merge_request_accepted_details_validator = TeamMergeRequestAcceptedDetails_validator +EventDetails._team_merge_request_accepted_shown_to_primary_team_details_validator = TeamMergeRequestAcceptedShownToPrimaryTeamDetails_validator +EventDetails._team_merge_request_accepted_shown_to_secondary_team_details_validator = TeamMergeRequestAcceptedShownToSecondaryTeamDetails_validator +EventDetails._team_merge_request_auto_canceled_details_validator = TeamMergeRequestAutoCanceledDetails_validator +EventDetails._team_merge_request_canceled_details_validator = TeamMergeRequestCanceledDetails_validator +EventDetails._team_merge_request_canceled_shown_to_primary_team_details_validator = TeamMergeRequestCanceledShownToPrimaryTeamDetails_validator +EventDetails._team_merge_request_canceled_shown_to_secondary_team_details_validator = TeamMergeRequestCanceledShownToSecondaryTeamDetails_validator +EventDetails._team_merge_request_expired_details_validator = TeamMergeRequestExpiredDetails_validator +EventDetails._team_merge_request_expired_shown_to_primary_team_details_validator = TeamMergeRequestExpiredShownToPrimaryTeamDetails_validator +EventDetails._team_merge_request_expired_shown_to_secondary_team_details_validator = TeamMergeRequestExpiredShownToSecondaryTeamDetails_validator +EventDetails._team_merge_request_rejected_shown_to_primary_team_details_validator = TeamMergeRequestRejectedShownToPrimaryTeamDetails_validator +EventDetails._team_merge_request_rejected_shown_to_secondary_team_details_validator = TeamMergeRequestRejectedShownToSecondaryTeamDetails_validator +EventDetails._team_merge_request_reminder_details_validator = TeamMergeRequestReminderDetails_validator +EventDetails._team_merge_request_reminder_shown_to_primary_team_details_validator = TeamMergeRequestReminderShownToPrimaryTeamDetails_validator +EventDetails._team_merge_request_reminder_shown_to_secondary_team_details_validator = TeamMergeRequestReminderShownToSecondaryTeamDetails_validator +EventDetails._team_merge_request_revoked_details_validator = TeamMergeRequestRevokedDetails_validator +EventDetails._team_merge_request_sent_shown_to_primary_team_details_validator = TeamMergeRequestSentShownToPrimaryTeamDetails_validator +EventDetails._team_merge_request_sent_shown_to_secondary_team_details_validator = TeamMergeRequestSentShownToSecondaryTeamDetails_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_admin_export_start_details': EventDetails._paper_admin_export_start_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_from_details': EventDetails._team_merge_from_details_validator, - 'team_merge_to_details': EventDetails._team_merge_to_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, + 'integration_connected_details': EventDetails._integration_connected_details_validator, + 'integration_disconnected_details': EventDetails._integration_disconnected_details_validator, 'file_add_comment_details': EventDetails._file_add_comment_details_validator, 'file_change_comment_subscription_details': EventDetails._file_change_comment_subscription_details_validator, 'file_delete_comment_details': EventDetails._file_delete_comment_details_validator, + 'file_edit_comment_details': EventDetails._file_edit_comment_details_validator, 'file_like_comment_details': EventDetails._file_like_comment_details_validator, 'file_resolve_comment_details': EventDetails._file_resolve_comment_details_validator, 'file_unlike_comment_details': EventDetails._file_unlike_comment_details_validator, @@ -38057,6 +73124,7 @@ EventDetails._tagmap = { '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_notification_emails_sent_details': EventDetails._account_capture_notification_emails_sent_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, @@ -38084,14 +73152,11 @@ EventDetails._tagmap = { '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_change_details': EventDetails._file_request_change_details_validator, 'file_request_close_details': EventDetails._file_request_close_details_validator, 'file_request_create_details': EventDetails._file_request_create_details_validator, + 'file_request_delete_details': EventDetails._file_request_delete_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, @@ -38099,25 +73164,41 @@ EventDetails._tagmap = { '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, + 'emm_error_details': EventDetails._emm_error_details_validator, + 'guest_admin_signed_in_via_trusted_teams_details': EventDetails._guest_admin_signed_in_via_trusted_teams_details_validator, + 'guest_admin_signed_out_via_trusted_teams_details': EventDetails._guest_admin_signed_out_via_trusted_teams_details_validator, + 'login_fail_details': EventDetails._login_fail_details_validator, + 'login_success_details': EventDetails._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, + 'sso_error_details': EventDetails._sso_error_details_validator, + 'member_add_external_id_details': EventDetails._member_add_external_id_details_validator, 'member_add_name_details': EventDetails._member_add_name_details_validator, 'member_change_admin_role_details': EventDetails._member_change_admin_role_details_validator, 'member_change_email_details': EventDetails._member_change_email_details_validator, + 'member_change_external_id_details': EventDetails._member_change_external_id_details_validator, + 'member_change_membership_type_details': EventDetails._member_change_membership_type_details_validator, 'member_change_name_details': EventDetails._member_change_name_details_validator, 'member_change_status_details': EventDetails._member_change_status_details_validator, + 'member_delete_manual_contacts_details': EventDetails._member_delete_manual_contacts_details_validator, + 'member_permanently_delete_account_contents_details': EventDetails._member_permanently_delete_account_contents_details_validator, + 'member_remove_external_id_details': EventDetails._member_remove_external_id_details_validator, + 'member_space_limits_add_custom_quota_details': EventDetails._member_space_limits_add_custom_quota_details_validator, + 'member_space_limits_change_custom_quota_details': EventDetails._member_space_limits_change_custom_quota_details_validator, + 'member_space_limits_change_status_details': EventDetails._member_space_limits_change_status_details_validator, + 'member_space_limits_remove_custom_quota_details': EventDetails._member_space_limits_remove_custom_quota_details_validator, 'member_suggest_details': EventDetails._member_suggest_details_validator, + 'member_transfer_account_contents_details': EventDetails._member_transfer_account_contents_details_validator, + 'secondary_mails_policy_changed_details': EventDetails._secondary_mails_policy_changed_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, @@ -38138,6 +73219,7 @@ EventDetails._tagmap = { '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_ownership_changed_details': EventDetails._paper_doc_ownership_changed_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, @@ -38147,17 +73229,26 @@ EventDetails._tagmap = { 'paper_doc_unresolve_comment_details': EventDetails._paper_doc_unresolve_comment_details_validator, 'paper_doc_untrashed_details': EventDetails._paper_doc_untrashed_details_validator, 'paper_doc_view_details': EventDetails._paper_doc_view_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, 'paper_folder_change_subscription_details': EventDetails._paper_folder_change_subscription_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, + 'paper_published_link_create_details': EventDetails._paper_published_link_create_details_validator, + 'paper_published_link_disabled_details': EventDetails._paper_published_link_disabled_details_validator, + 'paper_published_link_view_details': EventDetails._paper_published_link_view_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, + 'export_members_report_details': EventDetails._export_members_report_details_validator, + 'paper_admin_export_start_details': EventDetails._paper_admin_export_start_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, + 'team_activity_create_report_fail_details': EventDetails._team_activity_create_report_fail_details_validator, 'collection_share_details': EventDetails._collection_share_details_validator, 'note_acl_invite_only_details': EventDetails._note_acl_invite_only_details_validator, 'note_acl_link_details': EventDetails._note_acl_link_details_validator, @@ -38167,9 +73258,11 @@ EventDetails._tagmap = { '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_external_invite_warn_details': EventDetails._sf_external_invite_warn_details_validator, + 'sf_fb_invite_details': EventDetails._sf_fb_invite_details_validator, + 'sf_fb_invite_change_role_details': EventDetails._sf_fb_invite_change_role_details_validator, + 'sf_fb_uninvite_details': EventDetails._sf_fb_uninvite_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, @@ -38191,36 +73284,59 @@ EventDetails._tagmap = { '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_invitees_details': EventDetails._shared_content_remove_invitees_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_change_members_inheritance_policy_details': EventDetails._shared_folder_change_members_inheritance_policy_details_validator, + 'shared_folder_change_members_management_policy_details': EventDetails._shared_folder_change_members_management_policy_details_validator, + 'shared_folder_change_members_policy_details': EventDetails._shared_folder_change_members_policy_details_validator, 'shared_folder_create_details': EventDetails._shared_folder_create_details_validator, + 'shared_folder_decline_invitation_details': EventDetails._shared_folder_decline_invitation_details_validator, 'shared_folder_mount_details': EventDetails._shared_folder_mount_details_validator, + 'shared_folder_nest_details': EventDetails._shared_folder_nest_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_link_add_expiry_details': EventDetails._shared_link_add_expiry_details_validator, + 'shared_link_change_expiry_details': EventDetails._shared_link_change_expiry_details_validator, + 'shared_link_change_visibility_details': EventDetails._shared_link_change_visibility_details_validator, + 'shared_link_copy_details': EventDetails._shared_link_copy_details_validator, + 'shared_link_create_details': EventDetails._shared_link_create_details_validator, + 'shared_link_disable_details': EventDetails._shared_link_disable_details_validator, + 'shared_link_download_details': EventDetails._shared_link_download_details_validator, + 'shared_link_remove_expiry_details': EventDetails._shared_link_remove_expiry_details_validator, + 'shared_link_share_details': EventDetails._shared_link_share_details_validator, + 'shared_link_view_details': EventDetails._shared_link_view_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, + 'showcase_access_granted_details': EventDetails._showcase_access_granted_details_validator, + 'showcase_add_member_details': EventDetails._showcase_add_member_details_validator, + 'showcase_archived_details': EventDetails._showcase_archived_details_validator, + 'showcase_created_details': EventDetails._showcase_created_details_validator, + 'showcase_delete_comment_details': EventDetails._showcase_delete_comment_details_validator, + 'showcase_edited_details': EventDetails._showcase_edited_details_validator, + 'showcase_edit_comment_details': EventDetails._showcase_edit_comment_details_validator, + 'showcase_file_added_details': EventDetails._showcase_file_added_details_validator, + 'showcase_file_download_details': EventDetails._showcase_file_download_details_validator, + 'showcase_file_removed_details': EventDetails._showcase_file_removed_details_validator, + 'showcase_file_view_details': EventDetails._showcase_file_view_details_validator, + 'showcase_permanently_deleted_details': EventDetails._showcase_permanently_deleted_details_validator, + 'showcase_post_comment_details': EventDetails._showcase_post_comment_details_validator, + 'showcase_remove_member_details': EventDetails._showcase_remove_member_details_validator, + 'showcase_renamed_details': EventDetails._showcase_renamed_details_validator, + 'showcase_request_access_details': EventDetails._showcase_request_access_details_validator, + 'showcase_resolve_comment_details': EventDetails._showcase_resolve_comment_details_validator, + 'showcase_restored_details': EventDetails._showcase_restored_details_validator, + 'showcase_trashed_details': EventDetails._showcase_trashed_details_validator, + 'showcase_trashed_deprecated_details': EventDetails._showcase_trashed_deprecated_details_validator, + 'showcase_unresolve_comment_details': EventDetails._showcase_unresolve_comment_details_validator, + 'showcase_untrashed_details': EventDetails._showcase_untrashed_details_validator, + 'showcase_untrashed_deprecated_details': EventDetails._showcase_untrashed_deprecated_details_validator, + 'showcase_view_details': EventDetails._showcase_view_details_validator, 'sso_add_cert_details': EventDetails._sso_add_cert_details_validator, 'sso_add_login_url_details': EventDetails._sso_add_login_url_details_validator, 'sso_add_logout_url_details': EventDetails._sso_add_logout_url_details_validator, @@ -38236,15 +73352,19 @@ EventDetails._tagmap = { '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, + 'team_selective_sync_settings_changed_details': EventDetails._team_selective_sync_settings_changed_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, + 'camera_uploads_policy_changed_details': EventDetails._camera_uploads_policy_changed_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, + 'directory_restrictions_add_members_details': EventDetails._directory_restrictions_add_members_details_validator, + 'directory_restrictions_remove_members_details': EventDetails._directory_restrictions_remove_members_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, @@ -38255,8 +73375,10 @@ EventDetails._tagmap = { '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, + 'integration_policy_changed_details': EventDetails._integration_policy_changed_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_caps_type_policy_details': EventDetails._member_space_limits_change_caps_type_policy_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, @@ -38266,18 +73388,31 @@ EventDetails._tagmap = { 'paper_change_member_link_policy_details': EventDetails._paper_change_member_link_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, + 'paper_default_folder_policy_changed_details': EventDetails._paper_default_folder_policy_changed_details_validator, + 'paper_desktop_policy_changed_details': EventDetails._paper_desktop_policy_changed_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, 'permanent_delete_change_policy_details': EventDetails._permanent_delete_change_policy_details_validator, + 'reseller_support_change_policy_details': EventDetails._reseller_support_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, + 'showcase_change_download_policy_details': EventDetails._showcase_change_download_policy_details_validator, + 'showcase_change_enabled_policy_details': EventDetails._showcase_change_enabled_policy_details_validator, + 'showcase_change_external_sharing_policy_details': EventDetails._showcase_change_external_sharing_policy_details_validator, 'smart_sync_change_policy_details': EventDetails._smart_sync_change_policy_details_validator, 'smart_sync_not_opt_out_details': EventDetails._smart_sync_not_opt_out_details_validator, 'smart_sync_opt_out_details': EventDetails._smart_sync_opt_out_details_validator, 'sso_change_policy_details': EventDetails._sso_change_policy_details_validator, + 'team_extensions_policy_changed_details': EventDetails._team_extensions_policy_changed_details_validator, + 'team_selective_sync_policy_changed_details': EventDetails._team_selective_sync_policy_changed_details_validator, 'tfa_change_policy_details': EventDetails._tfa_change_policy_details_validator, 'two_account_change_policy_details': EventDetails._two_account_change_policy_details_validator, + 'viewer_info_policy_changed_details': EventDetails._viewer_info_policy_changed_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_merge_from_details': EventDetails._team_merge_from_details_validator, + 'team_merge_to_details': EventDetails._team_merge_to_details_validator, 'team_profile_add_logo_details': EventDetails._team_profile_add_logo_details_validator, 'team_profile_change_default_language_details': EventDetails._team_profile_change_default_language_details_validator, 'team_profile_change_logo_details': EventDetails._team_profile_change_logo_details_validator, @@ -38290,304 +73425,390 @@ EventDetails._tagmap = { '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, + 'guest_admin_change_status_details': EventDetails._guest_admin_change_status_details_validator, + 'team_merge_request_accepted_details': EventDetails._team_merge_request_accepted_details_validator, + 'team_merge_request_accepted_shown_to_primary_team_details': EventDetails._team_merge_request_accepted_shown_to_primary_team_details_validator, + 'team_merge_request_accepted_shown_to_secondary_team_details': EventDetails._team_merge_request_accepted_shown_to_secondary_team_details_validator, + 'team_merge_request_auto_canceled_details': EventDetails._team_merge_request_auto_canceled_details_validator, + 'team_merge_request_canceled_details': EventDetails._team_merge_request_canceled_details_validator, + 'team_merge_request_canceled_shown_to_primary_team_details': EventDetails._team_merge_request_canceled_shown_to_primary_team_details_validator, + 'team_merge_request_canceled_shown_to_secondary_team_details': EventDetails._team_merge_request_canceled_shown_to_secondary_team_details_validator, + 'team_merge_request_expired_details': EventDetails._team_merge_request_expired_details_validator, + 'team_merge_request_expired_shown_to_primary_team_details': EventDetails._team_merge_request_expired_shown_to_primary_team_details_validator, + 'team_merge_request_expired_shown_to_secondary_team_details': EventDetails._team_merge_request_expired_shown_to_secondary_team_details_validator, + 'team_merge_request_rejected_shown_to_primary_team_details': EventDetails._team_merge_request_rejected_shown_to_primary_team_details_validator, + 'team_merge_request_rejected_shown_to_secondary_team_details': EventDetails._team_merge_request_rejected_shown_to_secondary_team_details_validator, + 'team_merge_request_reminder_details': EventDetails._team_merge_request_reminder_details_validator, + 'team_merge_request_reminder_shown_to_primary_team_details': EventDetails._team_merge_request_reminder_shown_to_primary_team_details_validator, + 'team_merge_request_reminder_shown_to_secondary_team_details': EventDetails._team_merge_request_reminder_shown_to_secondary_team_details_validator, + 'team_merge_request_revoked_details': EventDetails._team_merge_request_revoked_details_validator, + 'team_merge_request_sent_shown_to_primary_team_details': EventDetails._team_merge_request_sent_shown_to_primary_team_details_validator, + 'team_merge_request_sent_shown_to_secondary_team_details': EventDetails._team_merge_request_sent_shown_to_secondary_team_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_admin_export_start_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_from_validator = bv.Void() -EventType._team_merge_to_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._file_add_comment_validator = bv.Void() -EventType._file_change_comment_subscription_validator = bv.Void() -EventType._file_delete_comment_validator = bv.Void() -EventType._file_like_comment_validator = bv.Void() -EventType._file_resolve_comment_validator = bv.Void() -EventType._file_unlike_comment_validator = bv.Void() -EventType._file_unresolve_comment_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_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_admin_role_validator = bv.Void() -EventType._member_change_email_validator = bv.Void() -EventType._member_change_name_validator = bv.Void() -EventType._member_change_status_validator = bv.Void() -EventType._member_suggest_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_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_change_subscription_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_trashed_validator = bv.Void() -EventType._paper_doc_unresolve_comment_validator = bv.Void() -EventType._paper_doc_untrashed_validator = bv.Void() -EventType._paper_doc_view_validator = bv.Void() -EventType._paper_folder_change_subscription_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._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._sso_add_cert_validator = bv.Void() -EventType._sso_add_login_url_validator = bv.Void() -EventType._sso_add_logout_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._sso_remove_cert_validator = bv.Void() -EventType._sso_remove_login_url_validator = bv.Void() -EventType._sso_remove_logout_url_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_link_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._smart_sync_not_opt_out_validator = bv.Void() -EventType._smart_sync_opt_out_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_default_language_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._app_link_team_validator = AppLinkTeamType_validator +EventType._app_link_user_validator = AppLinkUserType_validator +EventType._app_unlink_team_validator = AppUnlinkTeamType_validator +EventType._app_unlink_user_validator = AppUnlinkUserType_validator +EventType._integration_connected_validator = IntegrationConnectedType_validator +EventType._integration_disconnected_validator = IntegrationDisconnectedType_validator +EventType._file_add_comment_validator = FileAddCommentType_validator +EventType._file_change_comment_subscription_validator = FileChangeCommentSubscriptionType_validator +EventType._file_delete_comment_validator = FileDeleteCommentType_validator +EventType._file_edit_comment_validator = FileEditCommentType_validator +EventType._file_like_comment_validator = FileLikeCommentType_validator +EventType._file_resolve_comment_validator = FileResolveCommentType_validator +EventType._file_unlike_comment_validator = FileUnlikeCommentType_validator +EventType._file_unresolve_comment_validator = FileUnresolveCommentType_validator +EventType._device_change_ip_desktop_validator = DeviceChangeIpDesktopType_validator +EventType._device_change_ip_mobile_validator = DeviceChangeIpMobileType_validator +EventType._device_change_ip_web_validator = DeviceChangeIpWebType_validator +EventType._device_delete_on_unlink_fail_validator = DeviceDeleteOnUnlinkFailType_validator +EventType._device_delete_on_unlink_success_validator = DeviceDeleteOnUnlinkSuccessType_validator +EventType._device_link_fail_validator = DeviceLinkFailType_validator +EventType._device_link_success_validator = DeviceLinkSuccessType_validator +EventType._device_management_disabled_validator = DeviceManagementDisabledType_validator +EventType._device_management_enabled_validator = DeviceManagementEnabledType_validator +EventType._device_unlink_validator = DeviceUnlinkType_validator +EventType._emm_refresh_auth_token_validator = EmmRefreshAuthTokenType_validator +EventType._account_capture_change_availability_validator = AccountCaptureChangeAvailabilityType_validator +EventType._account_capture_migrate_account_validator = AccountCaptureMigrateAccountType_validator +EventType._account_capture_notification_emails_sent_validator = AccountCaptureNotificationEmailsSentType_validator +EventType._account_capture_relinquish_account_validator = AccountCaptureRelinquishAccountType_validator +EventType._disabled_domain_invites_validator = DisabledDomainInvitesType_validator +EventType._domain_invites_approve_request_to_join_team_validator = DomainInvitesApproveRequestToJoinTeamType_validator +EventType._domain_invites_decline_request_to_join_team_validator = DomainInvitesDeclineRequestToJoinTeamType_validator +EventType._domain_invites_email_existing_users_validator = DomainInvitesEmailExistingUsersType_validator +EventType._domain_invites_request_to_join_team_validator = DomainInvitesRequestToJoinTeamType_validator +EventType._domain_invites_set_invite_new_user_pref_to_no_validator = DomainInvitesSetInviteNewUserPrefToNoType_validator +EventType._domain_invites_set_invite_new_user_pref_to_yes_validator = DomainInvitesSetInviteNewUserPrefToYesType_validator +EventType._domain_verification_add_domain_fail_validator = DomainVerificationAddDomainFailType_validator +EventType._domain_verification_add_domain_success_validator = DomainVerificationAddDomainSuccessType_validator +EventType._domain_verification_remove_domain_validator = DomainVerificationRemoveDomainType_validator +EventType._enabled_domain_invites_validator = EnabledDomainInvitesType_validator +EventType._create_folder_validator = CreateFolderType_validator +EventType._file_add_validator = FileAddType_validator +EventType._file_copy_validator = FileCopyType_validator +EventType._file_delete_validator = FileDeleteType_validator +EventType._file_download_validator = FileDownloadType_validator +EventType._file_edit_validator = FileEditType_validator +EventType._file_get_copy_reference_validator = FileGetCopyReferenceType_validator +EventType._file_move_validator = FileMoveType_validator +EventType._file_permanently_delete_validator = FilePermanentlyDeleteType_validator +EventType._file_preview_validator = FilePreviewType_validator +EventType._file_rename_validator = FileRenameType_validator +EventType._file_restore_validator = FileRestoreType_validator +EventType._file_revert_validator = FileRevertType_validator +EventType._file_rollback_changes_validator = FileRollbackChangesType_validator +EventType._file_save_copy_reference_validator = FileSaveCopyReferenceType_validator +EventType._file_request_change_validator = FileRequestChangeType_validator +EventType._file_request_close_validator = FileRequestCloseType_validator +EventType._file_request_create_validator = FileRequestCreateType_validator +EventType._file_request_delete_validator = FileRequestDeleteType_validator +EventType._file_request_receive_file_validator = FileRequestReceiveFileType_validator +EventType._group_add_external_id_validator = GroupAddExternalIdType_validator +EventType._group_add_member_validator = GroupAddMemberType_validator +EventType._group_change_external_id_validator = GroupChangeExternalIdType_validator +EventType._group_change_management_type_validator = GroupChangeManagementTypeType_validator +EventType._group_change_member_role_validator = GroupChangeMemberRoleType_validator +EventType._group_create_validator = GroupCreateType_validator +EventType._group_delete_validator = GroupDeleteType_validator +EventType._group_description_updated_validator = GroupDescriptionUpdatedType_validator +EventType._group_join_policy_updated_validator = GroupJoinPolicyUpdatedType_validator +EventType._group_moved_validator = GroupMovedType_validator +EventType._group_remove_external_id_validator = GroupRemoveExternalIdType_validator +EventType._group_remove_member_validator = GroupRemoveMemberType_validator +EventType._group_rename_validator = GroupRenameType_validator +EventType._emm_error_validator = EmmErrorType_validator +EventType._guest_admin_signed_in_via_trusted_teams_validator = GuestAdminSignedInViaTrustedTeamsType_validator +EventType._guest_admin_signed_out_via_trusted_teams_validator = GuestAdminSignedOutViaTrustedTeamsType_validator +EventType._login_fail_validator = LoginFailType_validator +EventType._login_success_validator = LoginSuccessType_validator +EventType._logout_validator = LogoutType_validator +EventType._reseller_support_session_end_validator = ResellerSupportSessionEndType_validator +EventType._reseller_support_session_start_validator = ResellerSupportSessionStartType_validator +EventType._sign_in_as_session_end_validator = SignInAsSessionEndType_validator +EventType._sign_in_as_session_start_validator = SignInAsSessionStartType_validator +EventType._sso_error_validator = SsoErrorType_validator +EventType._member_add_external_id_validator = MemberAddExternalIdType_validator +EventType._member_add_name_validator = MemberAddNameType_validator +EventType._member_change_admin_role_validator = MemberChangeAdminRoleType_validator +EventType._member_change_email_validator = MemberChangeEmailType_validator +EventType._member_change_external_id_validator = MemberChangeExternalIdType_validator +EventType._member_change_membership_type_validator = MemberChangeMembershipTypeType_validator +EventType._member_change_name_validator = MemberChangeNameType_validator +EventType._member_change_status_validator = MemberChangeStatusType_validator +EventType._member_delete_manual_contacts_validator = MemberDeleteManualContactsType_validator +EventType._member_permanently_delete_account_contents_validator = MemberPermanentlyDeleteAccountContentsType_validator +EventType._member_remove_external_id_validator = MemberRemoveExternalIdType_validator +EventType._member_space_limits_add_custom_quota_validator = MemberSpaceLimitsAddCustomQuotaType_validator +EventType._member_space_limits_change_custom_quota_validator = MemberSpaceLimitsChangeCustomQuotaType_validator +EventType._member_space_limits_change_status_validator = MemberSpaceLimitsChangeStatusType_validator +EventType._member_space_limits_remove_custom_quota_validator = MemberSpaceLimitsRemoveCustomQuotaType_validator +EventType._member_suggest_validator = MemberSuggestType_validator +EventType._member_transfer_account_contents_validator = MemberTransferAccountContentsType_validator +EventType._secondary_mails_policy_changed_validator = SecondaryMailsPolicyChangedType_validator +EventType._paper_content_add_member_validator = PaperContentAddMemberType_validator +EventType._paper_content_add_to_folder_validator = PaperContentAddToFolderType_validator +EventType._paper_content_archive_validator = PaperContentArchiveType_validator +EventType._paper_content_create_validator = PaperContentCreateType_validator +EventType._paper_content_permanently_delete_validator = PaperContentPermanentlyDeleteType_validator +EventType._paper_content_remove_from_folder_validator = PaperContentRemoveFromFolderType_validator +EventType._paper_content_remove_member_validator = PaperContentRemoveMemberType_validator +EventType._paper_content_rename_validator = PaperContentRenameType_validator +EventType._paper_content_restore_validator = PaperContentRestoreType_validator +EventType._paper_doc_add_comment_validator = PaperDocAddCommentType_validator +EventType._paper_doc_change_member_role_validator = PaperDocChangeMemberRoleType_validator +EventType._paper_doc_change_sharing_policy_validator = PaperDocChangeSharingPolicyType_validator +EventType._paper_doc_change_subscription_validator = PaperDocChangeSubscriptionType_validator +EventType._paper_doc_deleted_validator = PaperDocDeletedType_validator +EventType._paper_doc_delete_comment_validator = PaperDocDeleteCommentType_validator +EventType._paper_doc_download_validator = PaperDocDownloadType_validator +EventType._paper_doc_edit_validator = PaperDocEditType_validator +EventType._paper_doc_edit_comment_validator = PaperDocEditCommentType_validator +EventType._paper_doc_followed_validator = PaperDocFollowedType_validator +EventType._paper_doc_mention_validator = PaperDocMentionType_validator +EventType._paper_doc_ownership_changed_validator = PaperDocOwnershipChangedType_validator +EventType._paper_doc_request_access_validator = PaperDocRequestAccessType_validator +EventType._paper_doc_resolve_comment_validator = PaperDocResolveCommentType_validator +EventType._paper_doc_revert_validator = PaperDocRevertType_validator +EventType._paper_doc_slack_share_validator = PaperDocSlackShareType_validator +EventType._paper_doc_team_invite_validator = PaperDocTeamInviteType_validator +EventType._paper_doc_trashed_validator = PaperDocTrashedType_validator +EventType._paper_doc_unresolve_comment_validator = PaperDocUnresolveCommentType_validator +EventType._paper_doc_untrashed_validator = PaperDocUntrashedType_validator +EventType._paper_doc_view_validator = PaperDocViewType_validator +EventType._paper_external_view_allow_validator = PaperExternalViewAllowType_validator +EventType._paper_external_view_default_team_validator = PaperExternalViewDefaultTeamType_validator +EventType._paper_external_view_forbid_validator = PaperExternalViewForbidType_validator +EventType._paper_folder_change_subscription_validator = PaperFolderChangeSubscriptionType_validator +EventType._paper_folder_deleted_validator = PaperFolderDeletedType_validator +EventType._paper_folder_followed_validator = PaperFolderFollowedType_validator +EventType._paper_folder_team_invite_validator = PaperFolderTeamInviteType_validator +EventType._paper_published_link_create_validator = PaperPublishedLinkCreateType_validator +EventType._paper_published_link_disabled_validator = PaperPublishedLinkDisabledType_validator +EventType._paper_published_link_view_validator = PaperPublishedLinkViewType_validator +EventType._password_change_validator = PasswordChangeType_validator +EventType._password_reset_validator = PasswordResetType_validator +EventType._password_reset_all_validator = PasswordResetAllType_validator +EventType._emm_create_exceptions_report_validator = EmmCreateExceptionsReportType_validator +EventType._emm_create_usage_report_validator = EmmCreateUsageReportType_validator +EventType._export_members_report_validator = ExportMembersReportType_validator +EventType._paper_admin_export_start_validator = PaperAdminExportStartType_validator +EventType._smart_sync_create_admin_privilege_report_validator = SmartSyncCreateAdminPrivilegeReportType_validator +EventType._team_activity_create_report_validator = TeamActivityCreateReportType_validator +EventType._team_activity_create_report_fail_validator = TeamActivityCreateReportFailType_validator +EventType._collection_share_validator = CollectionShareType_validator +EventType._note_acl_invite_only_validator = NoteAclInviteOnlyType_validator +EventType._note_acl_link_validator = NoteAclLinkType_validator +EventType._note_acl_team_link_validator = NoteAclTeamLinkType_validator +EventType._note_shared_validator = NoteSharedType_validator +EventType._note_share_receive_validator = NoteShareReceiveType_validator +EventType._open_note_shared_validator = OpenNoteSharedType_validator +EventType._sf_add_group_validator = SfAddGroupType_validator +EventType._sf_allow_non_members_to_view_shared_links_validator = SfAllowNonMembersToViewSharedLinksType_validator +EventType._sf_external_invite_warn_validator = SfExternalInviteWarnType_validator +EventType._sf_fb_invite_validator = SfFbInviteType_validator +EventType._sf_fb_invite_change_role_validator = SfFbInviteChangeRoleType_validator +EventType._sf_fb_uninvite_validator = SfFbUninviteType_validator +EventType._sf_invite_group_validator = SfInviteGroupType_validator +EventType._sf_team_grant_access_validator = SfTeamGrantAccessType_validator +EventType._sf_team_invite_validator = SfTeamInviteType_validator +EventType._sf_team_invite_change_role_validator = SfTeamInviteChangeRoleType_validator +EventType._sf_team_join_validator = SfTeamJoinType_validator +EventType._sf_team_join_from_oob_link_validator = SfTeamJoinFromOobLinkType_validator +EventType._sf_team_uninvite_validator = SfTeamUninviteType_validator +EventType._shared_content_add_invitees_validator = SharedContentAddInviteesType_validator +EventType._shared_content_add_link_expiry_validator = SharedContentAddLinkExpiryType_validator +EventType._shared_content_add_link_password_validator = SharedContentAddLinkPasswordType_validator +EventType._shared_content_add_member_validator = SharedContentAddMemberType_validator +EventType._shared_content_change_downloads_policy_validator = SharedContentChangeDownloadsPolicyType_validator +EventType._shared_content_change_invitee_role_validator = SharedContentChangeInviteeRoleType_validator +EventType._shared_content_change_link_audience_validator = SharedContentChangeLinkAudienceType_validator +EventType._shared_content_change_link_expiry_validator = SharedContentChangeLinkExpiryType_validator +EventType._shared_content_change_link_password_validator = SharedContentChangeLinkPasswordType_validator +EventType._shared_content_change_member_role_validator = SharedContentChangeMemberRoleType_validator +EventType._shared_content_change_viewer_info_policy_validator = SharedContentChangeViewerInfoPolicyType_validator +EventType._shared_content_claim_invitation_validator = SharedContentClaimInvitationType_validator +EventType._shared_content_copy_validator = SharedContentCopyType_validator +EventType._shared_content_download_validator = SharedContentDownloadType_validator +EventType._shared_content_relinquish_membership_validator = SharedContentRelinquishMembershipType_validator +EventType._shared_content_remove_invitees_validator = SharedContentRemoveInviteesType_validator +EventType._shared_content_remove_link_expiry_validator = SharedContentRemoveLinkExpiryType_validator +EventType._shared_content_remove_link_password_validator = SharedContentRemoveLinkPasswordType_validator +EventType._shared_content_remove_member_validator = SharedContentRemoveMemberType_validator +EventType._shared_content_request_access_validator = SharedContentRequestAccessType_validator +EventType._shared_content_unshare_validator = SharedContentUnshareType_validator +EventType._shared_content_view_validator = SharedContentViewType_validator +EventType._shared_folder_change_link_policy_validator = SharedFolderChangeLinkPolicyType_validator +EventType._shared_folder_change_members_inheritance_policy_validator = SharedFolderChangeMembersInheritancePolicyType_validator +EventType._shared_folder_change_members_management_policy_validator = SharedFolderChangeMembersManagementPolicyType_validator +EventType._shared_folder_change_members_policy_validator = SharedFolderChangeMembersPolicyType_validator +EventType._shared_folder_create_validator = SharedFolderCreateType_validator +EventType._shared_folder_decline_invitation_validator = SharedFolderDeclineInvitationType_validator +EventType._shared_folder_mount_validator = SharedFolderMountType_validator +EventType._shared_folder_nest_validator = SharedFolderNestType_validator +EventType._shared_folder_transfer_ownership_validator = SharedFolderTransferOwnershipType_validator +EventType._shared_folder_unmount_validator = SharedFolderUnmountType_validator +EventType._shared_link_add_expiry_validator = SharedLinkAddExpiryType_validator +EventType._shared_link_change_expiry_validator = SharedLinkChangeExpiryType_validator +EventType._shared_link_change_visibility_validator = SharedLinkChangeVisibilityType_validator +EventType._shared_link_copy_validator = SharedLinkCopyType_validator +EventType._shared_link_create_validator = SharedLinkCreateType_validator +EventType._shared_link_disable_validator = SharedLinkDisableType_validator +EventType._shared_link_download_validator = SharedLinkDownloadType_validator +EventType._shared_link_remove_expiry_validator = SharedLinkRemoveExpiryType_validator +EventType._shared_link_share_validator = SharedLinkShareType_validator +EventType._shared_link_view_validator = SharedLinkViewType_validator +EventType._shared_note_opened_validator = SharedNoteOpenedType_validator +EventType._shmodel_group_share_validator = ShmodelGroupShareType_validator +EventType._showcase_access_granted_validator = ShowcaseAccessGrantedType_validator +EventType._showcase_add_member_validator = ShowcaseAddMemberType_validator +EventType._showcase_archived_validator = ShowcaseArchivedType_validator +EventType._showcase_created_validator = ShowcaseCreatedType_validator +EventType._showcase_delete_comment_validator = ShowcaseDeleteCommentType_validator +EventType._showcase_edited_validator = ShowcaseEditedType_validator +EventType._showcase_edit_comment_validator = ShowcaseEditCommentType_validator +EventType._showcase_file_added_validator = ShowcaseFileAddedType_validator +EventType._showcase_file_download_validator = ShowcaseFileDownloadType_validator +EventType._showcase_file_removed_validator = ShowcaseFileRemovedType_validator +EventType._showcase_file_view_validator = ShowcaseFileViewType_validator +EventType._showcase_permanently_deleted_validator = ShowcasePermanentlyDeletedType_validator +EventType._showcase_post_comment_validator = ShowcasePostCommentType_validator +EventType._showcase_remove_member_validator = ShowcaseRemoveMemberType_validator +EventType._showcase_renamed_validator = ShowcaseRenamedType_validator +EventType._showcase_request_access_validator = ShowcaseRequestAccessType_validator +EventType._showcase_resolve_comment_validator = ShowcaseResolveCommentType_validator +EventType._showcase_restored_validator = ShowcaseRestoredType_validator +EventType._showcase_trashed_validator = ShowcaseTrashedType_validator +EventType._showcase_trashed_deprecated_validator = ShowcaseTrashedDeprecatedType_validator +EventType._showcase_unresolve_comment_validator = ShowcaseUnresolveCommentType_validator +EventType._showcase_untrashed_validator = ShowcaseUntrashedType_validator +EventType._showcase_untrashed_deprecated_validator = ShowcaseUntrashedDeprecatedType_validator +EventType._showcase_view_validator = ShowcaseViewType_validator +EventType._sso_add_cert_validator = SsoAddCertType_validator +EventType._sso_add_login_url_validator = SsoAddLoginUrlType_validator +EventType._sso_add_logout_url_validator = SsoAddLogoutUrlType_validator +EventType._sso_change_cert_validator = SsoChangeCertType_validator +EventType._sso_change_login_url_validator = SsoChangeLoginUrlType_validator +EventType._sso_change_logout_url_validator = SsoChangeLogoutUrlType_validator +EventType._sso_change_saml_identity_mode_validator = SsoChangeSamlIdentityModeType_validator +EventType._sso_remove_cert_validator = SsoRemoveCertType_validator +EventType._sso_remove_login_url_validator = SsoRemoveLoginUrlType_validator +EventType._sso_remove_logout_url_validator = SsoRemoveLogoutUrlType_validator +EventType._team_folder_change_status_validator = TeamFolderChangeStatusType_validator +EventType._team_folder_create_validator = TeamFolderCreateType_validator +EventType._team_folder_downgrade_validator = TeamFolderDowngradeType_validator +EventType._team_folder_permanently_delete_validator = TeamFolderPermanentlyDeleteType_validator +EventType._team_folder_rename_validator = TeamFolderRenameType_validator +EventType._team_selective_sync_settings_changed_validator = TeamSelectiveSyncSettingsChangedType_validator +EventType._account_capture_change_policy_validator = AccountCaptureChangePolicyType_validator +EventType._allow_download_disabled_validator = AllowDownloadDisabledType_validator +EventType._allow_download_enabled_validator = AllowDownloadEnabledType_validator +EventType._camera_uploads_policy_changed_validator = CameraUploadsPolicyChangedType_validator +EventType._data_placement_restriction_change_policy_validator = DataPlacementRestrictionChangePolicyType_validator +EventType._data_placement_restriction_satisfy_policy_validator = DataPlacementRestrictionSatisfyPolicyType_validator +EventType._device_approvals_change_desktop_policy_validator = DeviceApprovalsChangeDesktopPolicyType_validator +EventType._device_approvals_change_mobile_policy_validator = DeviceApprovalsChangeMobilePolicyType_validator +EventType._device_approvals_change_overage_action_validator = DeviceApprovalsChangeOverageActionType_validator +EventType._device_approvals_change_unlink_action_validator = DeviceApprovalsChangeUnlinkActionType_validator +EventType._directory_restrictions_add_members_validator = DirectoryRestrictionsAddMembersType_validator +EventType._directory_restrictions_remove_members_validator = DirectoryRestrictionsRemoveMembersType_validator +EventType._emm_add_exception_validator = EmmAddExceptionType_validator +EventType._emm_change_policy_validator = EmmChangePolicyType_validator +EventType._emm_remove_exception_validator = EmmRemoveExceptionType_validator +EventType._extended_version_history_change_policy_validator = ExtendedVersionHistoryChangePolicyType_validator +EventType._file_comments_change_policy_validator = FileCommentsChangePolicyType_validator +EventType._file_requests_change_policy_validator = FileRequestsChangePolicyType_validator +EventType._file_requests_emails_enabled_validator = FileRequestsEmailsEnabledType_validator +EventType._file_requests_emails_restricted_to_team_only_validator = FileRequestsEmailsRestrictedToTeamOnlyType_validator +EventType._google_sso_change_policy_validator = GoogleSsoChangePolicyType_validator +EventType._group_user_management_change_policy_validator = GroupUserManagementChangePolicyType_validator +EventType._integration_policy_changed_validator = IntegrationPolicyChangedType_validator +EventType._member_requests_change_policy_validator = MemberRequestsChangePolicyType_validator +EventType._member_space_limits_add_exception_validator = MemberSpaceLimitsAddExceptionType_validator +EventType._member_space_limits_change_caps_type_policy_validator = MemberSpaceLimitsChangeCapsTypePolicyType_validator +EventType._member_space_limits_change_policy_validator = MemberSpaceLimitsChangePolicyType_validator +EventType._member_space_limits_remove_exception_validator = MemberSpaceLimitsRemoveExceptionType_validator +EventType._member_suggestions_change_policy_validator = MemberSuggestionsChangePolicyType_validator +EventType._microsoft_office_addin_change_policy_validator = MicrosoftOfficeAddinChangePolicyType_validator +EventType._network_control_change_policy_validator = NetworkControlChangePolicyType_validator +EventType._paper_change_deployment_policy_validator = PaperChangeDeploymentPolicyType_validator +EventType._paper_change_member_link_policy_validator = PaperChangeMemberLinkPolicyType_validator +EventType._paper_change_member_policy_validator = PaperChangeMemberPolicyType_validator +EventType._paper_change_policy_validator = PaperChangePolicyType_validator +EventType._paper_default_folder_policy_changed_validator = PaperDefaultFolderPolicyChangedType_validator +EventType._paper_desktop_policy_changed_validator = PaperDesktopPolicyChangedType_validator +EventType._paper_enabled_users_group_addition_validator = PaperEnabledUsersGroupAdditionType_validator +EventType._paper_enabled_users_group_removal_validator = PaperEnabledUsersGroupRemovalType_validator +EventType._permanent_delete_change_policy_validator = PermanentDeleteChangePolicyType_validator +EventType._reseller_support_change_policy_validator = ResellerSupportChangePolicyType_validator +EventType._sharing_change_folder_join_policy_validator = SharingChangeFolderJoinPolicyType_validator +EventType._sharing_change_link_policy_validator = SharingChangeLinkPolicyType_validator +EventType._sharing_change_member_policy_validator = SharingChangeMemberPolicyType_validator +EventType._showcase_change_download_policy_validator = ShowcaseChangeDownloadPolicyType_validator +EventType._showcase_change_enabled_policy_validator = ShowcaseChangeEnabledPolicyType_validator +EventType._showcase_change_external_sharing_policy_validator = ShowcaseChangeExternalSharingPolicyType_validator +EventType._smart_sync_change_policy_validator = SmartSyncChangePolicyType_validator +EventType._smart_sync_not_opt_out_validator = SmartSyncNotOptOutType_validator +EventType._smart_sync_opt_out_validator = SmartSyncOptOutType_validator +EventType._sso_change_policy_validator = SsoChangePolicyType_validator +EventType._team_extensions_policy_changed_validator = TeamExtensionsPolicyChangedType_validator +EventType._team_selective_sync_policy_changed_validator = TeamSelectiveSyncPolicyChangedType_validator +EventType._tfa_change_policy_validator = TfaChangePolicyType_validator +EventType._two_account_change_policy_validator = TwoAccountChangePolicyType_validator +EventType._viewer_info_policy_changed_validator = ViewerInfoPolicyChangedType_validator +EventType._web_sessions_change_fixed_length_policy_validator = WebSessionsChangeFixedLengthPolicyType_validator +EventType._web_sessions_change_idle_length_policy_validator = WebSessionsChangeIdleLengthPolicyType_validator +EventType._team_merge_from_validator = TeamMergeFromType_validator +EventType._team_merge_to_validator = TeamMergeToType_validator +EventType._team_profile_add_logo_validator = TeamProfileAddLogoType_validator +EventType._team_profile_change_default_language_validator = TeamProfileChangeDefaultLanguageType_validator +EventType._team_profile_change_logo_validator = TeamProfileChangeLogoType_validator +EventType._team_profile_change_name_validator = TeamProfileChangeNameType_validator +EventType._team_profile_remove_logo_validator = TeamProfileRemoveLogoType_validator +EventType._tfa_add_backup_phone_validator = TfaAddBackupPhoneType_validator +EventType._tfa_add_security_key_validator = TfaAddSecurityKeyType_validator +EventType._tfa_change_backup_phone_validator = TfaChangeBackupPhoneType_validator +EventType._tfa_change_status_validator = TfaChangeStatusType_validator +EventType._tfa_remove_backup_phone_validator = TfaRemoveBackupPhoneType_validator +EventType._tfa_remove_security_key_validator = TfaRemoveSecurityKeyType_validator +EventType._tfa_reset_validator = TfaResetType_validator +EventType._guest_admin_change_status_validator = GuestAdminChangeStatusType_validator +EventType._team_merge_request_accepted_validator = TeamMergeRequestAcceptedType_validator +EventType._team_merge_request_accepted_shown_to_primary_team_validator = TeamMergeRequestAcceptedShownToPrimaryTeamType_validator +EventType._team_merge_request_accepted_shown_to_secondary_team_validator = TeamMergeRequestAcceptedShownToSecondaryTeamType_validator +EventType._team_merge_request_auto_canceled_validator = TeamMergeRequestAutoCanceledType_validator +EventType._team_merge_request_canceled_validator = TeamMergeRequestCanceledType_validator +EventType._team_merge_request_canceled_shown_to_primary_team_validator = TeamMergeRequestCanceledShownToPrimaryTeamType_validator +EventType._team_merge_request_canceled_shown_to_secondary_team_validator = TeamMergeRequestCanceledShownToSecondaryTeamType_validator +EventType._team_merge_request_expired_validator = TeamMergeRequestExpiredType_validator +EventType._team_merge_request_expired_shown_to_primary_team_validator = TeamMergeRequestExpiredShownToPrimaryTeamType_validator +EventType._team_merge_request_expired_shown_to_secondary_team_validator = TeamMergeRequestExpiredShownToSecondaryTeamType_validator +EventType._team_merge_request_rejected_shown_to_primary_team_validator = TeamMergeRequestRejectedShownToPrimaryTeamType_validator +EventType._team_merge_request_rejected_shown_to_secondary_team_validator = TeamMergeRequestRejectedShownToSecondaryTeamType_validator +EventType._team_merge_request_reminder_validator = TeamMergeRequestReminderType_validator +EventType._team_merge_request_reminder_shown_to_primary_team_validator = TeamMergeRequestReminderShownToPrimaryTeamType_validator +EventType._team_merge_request_reminder_shown_to_secondary_team_validator = TeamMergeRequestReminderShownToSecondaryTeamType_validator +EventType._team_merge_request_revoked_validator = TeamMergeRequestRevokedType_validator +EventType._team_merge_request_sent_shown_to_primary_team_validator = TeamMergeRequestSentShownToPrimaryTeamType_validator +EventType._team_merge_request_sent_shown_to_secondary_team_validator = TeamMergeRequestSentShownToSecondaryTeamType_validator 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_admin_export_start': EventType._paper_admin_export_start_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_from': EventType._team_merge_from_validator, - 'team_merge_to': EventType._team_merge_to_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, + 'integration_connected': EventType._integration_connected_validator, + 'integration_disconnected': EventType._integration_disconnected_validator, 'file_add_comment': EventType._file_add_comment_validator, 'file_change_comment_subscription': EventType._file_change_comment_subscription_validator, 'file_delete_comment': EventType._file_delete_comment_validator, + 'file_edit_comment': EventType._file_edit_comment_validator, 'file_like_comment': EventType._file_like_comment_validator, 'file_resolve_comment': EventType._file_resolve_comment_validator, 'file_unlike_comment': EventType._file_unlike_comment_validator, @@ -38605,6 +73826,7 @@ EventType._tagmap = { '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_notification_emails_sent': EventType._account_capture_notification_emails_sent_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, @@ -38632,14 +73854,11 @@ EventType._tagmap = { '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_change': EventType._file_request_change_validator, 'file_request_close': EventType._file_request_close_validator, 'file_request_create': EventType._file_request_create_validator, + 'file_request_delete': EventType._file_request_delete_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, @@ -38647,25 +73866,41 @@ EventType._tagmap = { '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, + 'emm_error': EventType._emm_error_validator, + 'guest_admin_signed_in_via_trusted_teams': EventType._guest_admin_signed_in_via_trusted_teams_validator, + 'guest_admin_signed_out_via_trusted_teams': EventType._guest_admin_signed_out_via_trusted_teams_validator, + 'login_fail': EventType._login_fail_validator, + 'login_success': EventType._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, + 'sso_error': EventType._sso_error_validator, + 'member_add_external_id': EventType._member_add_external_id_validator, 'member_add_name': EventType._member_add_name_validator, 'member_change_admin_role': EventType._member_change_admin_role_validator, 'member_change_email': EventType._member_change_email_validator, + 'member_change_external_id': EventType._member_change_external_id_validator, + 'member_change_membership_type': EventType._member_change_membership_type_validator, 'member_change_name': EventType._member_change_name_validator, 'member_change_status': EventType._member_change_status_validator, + 'member_delete_manual_contacts': EventType._member_delete_manual_contacts_validator, + 'member_permanently_delete_account_contents': EventType._member_permanently_delete_account_contents_validator, + 'member_remove_external_id': EventType._member_remove_external_id_validator, + 'member_space_limits_add_custom_quota': EventType._member_space_limits_add_custom_quota_validator, + 'member_space_limits_change_custom_quota': EventType._member_space_limits_change_custom_quota_validator, + 'member_space_limits_change_status': EventType._member_space_limits_change_status_validator, + 'member_space_limits_remove_custom_quota': EventType._member_space_limits_remove_custom_quota_validator, 'member_suggest': EventType._member_suggest_validator, + 'member_transfer_account_contents': EventType._member_transfer_account_contents_validator, + 'secondary_mails_policy_changed': EventType._secondary_mails_policy_changed_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, @@ -38686,6 +73921,7 @@ EventType._tagmap = { '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_ownership_changed': EventType._paper_doc_ownership_changed_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, @@ -38695,17 +73931,26 @@ EventType._tagmap = { 'paper_doc_unresolve_comment': EventType._paper_doc_unresolve_comment_validator, 'paper_doc_untrashed': EventType._paper_doc_untrashed_validator, 'paper_doc_view': EventType._paper_doc_view_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, 'paper_folder_change_subscription': EventType._paper_folder_change_subscription_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, + 'paper_published_link_create': EventType._paper_published_link_create_validator, + 'paper_published_link_disabled': EventType._paper_published_link_disabled_validator, + 'paper_published_link_view': EventType._paper_published_link_view_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, + 'export_members_report': EventType._export_members_report_validator, + 'paper_admin_export_start': EventType._paper_admin_export_start_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, + 'team_activity_create_report_fail': EventType._team_activity_create_report_fail_validator, 'collection_share': EventType._collection_share_validator, 'note_acl_invite_only': EventType._note_acl_invite_only_validator, 'note_acl_link': EventType._note_acl_link_validator, @@ -38715,9 +73960,11 @@ EventType._tagmap = { '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_external_invite_warn': EventType._sf_external_invite_warn_validator, + 'sf_fb_invite': EventType._sf_fb_invite_validator, + 'sf_fb_invite_change_role': EventType._sf_fb_invite_change_role_validator, + 'sf_fb_uninvite': EventType._sf_fb_uninvite_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, @@ -38739,36 +73986,59 @@ EventType._tagmap = { '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_invitees': EventType._shared_content_remove_invitees_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_change_members_inheritance_policy': EventType._shared_folder_change_members_inheritance_policy_validator, + 'shared_folder_change_members_management_policy': EventType._shared_folder_change_members_management_policy_validator, + 'shared_folder_change_members_policy': EventType._shared_folder_change_members_policy_validator, 'shared_folder_create': EventType._shared_folder_create_validator, + 'shared_folder_decline_invitation': EventType._shared_folder_decline_invitation_validator, 'shared_folder_mount': EventType._shared_folder_mount_validator, + 'shared_folder_nest': EventType._shared_folder_nest_validator, 'shared_folder_transfer_ownership': EventType._shared_folder_transfer_ownership_validator, 'shared_folder_unmount': EventType._shared_folder_unmount_validator, + 'shared_link_add_expiry': EventType._shared_link_add_expiry_validator, + 'shared_link_change_expiry': EventType._shared_link_change_expiry_validator, + 'shared_link_change_visibility': EventType._shared_link_change_visibility_validator, + 'shared_link_copy': EventType._shared_link_copy_validator, + 'shared_link_create': EventType._shared_link_create_validator, + 'shared_link_disable': EventType._shared_link_disable_validator, + 'shared_link_download': EventType._shared_link_download_validator, + 'shared_link_remove_expiry': EventType._shared_link_remove_expiry_validator, + 'shared_link_share': EventType._shared_link_share_validator, + 'shared_link_view': EventType._shared_link_view_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, + 'showcase_access_granted': EventType._showcase_access_granted_validator, + 'showcase_add_member': EventType._showcase_add_member_validator, + 'showcase_archived': EventType._showcase_archived_validator, + 'showcase_created': EventType._showcase_created_validator, + 'showcase_delete_comment': EventType._showcase_delete_comment_validator, + 'showcase_edited': EventType._showcase_edited_validator, + 'showcase_edit_comment': EventType._showcase_edit_comment_validator, + 'showcase_file_added': EventType._showcase_file_added_validator, + 'showcase_file_download': EventType._showcase_file_download_validator, + 'showcase_file_removed': EventType._showcase_file_removed_validator, + 'showcase_file_view': EventType._showcase_file_view_validator, + 'showcase_permanently_deleted': EventType._showcase_permanently_deleted_validator, + 'showcase_post_comment': EventType._showcase_post_comment_validator, + 'showcase_remove_member': EventType._showcase_remove_member_validator, + 'showcase_renamed': EventType._showcase_renamed_validator, + 'showcase_request_access': EventType._showcase_request_access_validator, + 'showcase_resolve_comment': EventType._showcase_resolve_comment_validator, + 'showcase_restored': EventType._showcase_restored_validator, + 'showcase_trashed': EventType._showcase_trashed_validator, + 'showcase_trashed_deprecated': EventType._showcase_trashed_deprecated_validator, + 'showcase_unresolve_comment': EventType._showcase_unresolve_comment_validator, + 'showcase_untrashed': EventType._showcase_untrashed_validator, + 'showcase_untrashed_deprecated': EventType._showcase_untrashed_deprecated_validator, + 'showcase_view': EventType._showcase_view_validator, 'sso_add_cert': EventType._sso_add_cert_validator, 'sso_add_login_url': EventType._sso_add_login_url_validator, 'sso_add_logout_url': EventType._sso_add_logout_url_validator, @@ -38784,15 +74054,19 @@ EventType._tagmap = { '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, + 'team_selective_sync_settings_changed': EventType._team_selective_sync_settings_changed_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, + 'camera_uploads_policy_changed': EventType._camera_uploads_policy_changed_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, + 'directory_restrictions_add_members': EventType._directory_restrictions_add_members_validator, + 'directory_restrictions_remove_members': EventType._directory_restrictions_remove_members_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, @@ -38803,8 +74077,10 @@ EventType._tagmap = { '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, + 'integration_policy_changed': EventType._integration_policy_changed_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_caps_type_policy': EventType._member_space_limits_change_caps_type_policy_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, @@ -38814,18 +74090,31 @@ EventType._tagmap = { 'paper_change_member_link_policy': EventType._paper_change_member_link_policy_validator, 'paper_change_member_policy': EventType._paper_change_member_policy_validator, 'paper_change_policy': EventType._paper_change_policy_validator, + 'paper_default_folder_policy_changed': EventType._paper_default_folder_policy_changed_validator, + 'paper_desktop_policy_changed': EventType._paper_desktop_policy_changed_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, 'permanent_delete_change_policy': EventType._permanent_delete_change_policy_validator, + 'reseller_support_change_policy': EventType._reseller_support_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, + 'showcase_change_download_policy': EventType._showcase_change_download_policy_validator, + 'showcase_change_enabled_policy': EventType._showcase_change_enabled_policy_validator, + 'showcase_change_external_sharing_policy': EventType._showcase_change_external_sharing_policy_validator, 'smart_sync_change_policy': EventType._smart_sync_change_policy_validator, 'smart_sync_not_opt_out': EventType._smart_sync_not_opt_out_validator, 'smart_sync_opt_out': EventType._smart_sync_opt_out_validator, 'sso_change_policy': EventType._sso_change_policy_validator, + 'team_extensions_policy_changed': EventType._team_extensions_policy_changed_validator, + 'team_selective_sync_policy_changed': EventType._team_selective_sync_policy_changed_validator, 'tfa_change_policy': EventType._tfa_change_policy_validator, 'two_account_change_policy': EventType._two_account_change_policy_validator, + 'viewer_info_policy_changed': EventType._viewer_info_policy_changed_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_merge_from': EventType._team_merge_from_validator, + 'team_merge_to': EventType._team_merge_to_validator, 'team_profile_add_logo': EventType._team_profile_add_logo_validator, 'team_profile_change_default_language': EventType._team_profile_change_default_language_validator, 'team_profile_change_logo': EventType._team_profile_change_logo_validator, @@ -38838,281 +74127,37 @@ EventType._tagmap = { '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, + 'guest_admin_change_status': EventType._guest_admin_change_status_validator, + 'team_merge_request_accepted': EventType._team_merge_request_accepted_validator, + 'team_merge_request_accepted_shown_to_primary_team': EventType._team_merge_request_accepted_shown_to_primary_team_validator, + 'team_merge_request_accepted_shown_to_secondary_team': EventType._team_merge_request_accepted_shown_to_secondary_team_validator, + 'team_merge_request_auto_canceled': EventType._team_merge_request_auto_canceled_validator, + 'team_merge_request_canceled': EventType._team_merge_request_canceled_validator, + 'team_merge_request_canceled_shown_to_primary_team': EventType._team_merge_request_canceled_shown_to_primary_team_validator, + 'team_merge_request_canceled_shown_to_secondary_team': EventType._team_merge_request_canceled_shown_to_secondary_team_validator, + 'team_merge_request_expired': EventType._team_merge_request_expired_validator, + 'team_merge_request_expired_shown_to_primary_team': EventType._team_merge_request_expired_shown_to_primary_team_validator, + 'team_merge_request_expired_shown_to_secondary_team': EventType._team_merge_request_expired_shown_to_secondary_team_validator, + 'team_merge_request_rejected_shown_to_primary_team': EventType._team_merge_request_rejected_shown_to_primary_team_validator, + 'team_merge_request_rejected_shown_to_secondary_team': EventType._team_merge_request_rejected_shown_to_secondary_team_validator, + 'team_merge_request_reminder': EventType._team_merge_request_reminder_validator, + 'team_merge_request_reminder_shown_to_primary_team': EventType._team_merge_request_reminder_shown_to_primary_team_validator, + 'team_merge_request_reminder_shown_to_secondary_team': EventType._team_merge_request_reminder_shown_to_secondary_team_validator, + 'team_merge_request_revoked': EventType._team_merge_request_revoked_validator, + 'team_merge_request_sent_shown_to_primary_team': EventType._team_merge_request_sent_shown_to_primary_team_validator, + 'team_merge_request_sent_shown_to_secondary_team': EventType._team_merge_request_sent_shown_to_secondary_team_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_admin_export_start = EventType('paper_admin_export_start') -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_from = EventType('team_merge_from') -EventType.team_merge_to = EventType('team_merge_to') -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.file_add_comment = EventType('file_add_comment') -EventType.file_change_comment_subscription = EventType('file_change_comment_subscription') -EventType.file_delete_comment = EventType('file_delete_comment') -EventType.file_like_comment = EventType('file_like_comment') -EventType.file_resolve_comment = EventType('file_resolve_comment') -EventType.file_unlike_comment = EventType('file_unlike_comment') -EventType.file_unresolve_comment = EventType('file_unresolve_comment') -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_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_admin_role = EventType('member_change_admin_role') -EventType.member_change_email = EventType('member_change_email') -EventType.member_change_name = EventType('member_change_name') -EventType.member_change_status = EventType('member_change_status') -EventType.member_suggest = EventType('member_suggest') -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_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_change_subscription = EventType('paper_doc_change_subscription') -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_trashed = EventType('paper_doc_trashed') -EventType.paper_doc_unresolve_comment = EventType('paper_doc_unresolve_comment') -EventType.paper_doc_untrashed = EventType('paper_doc_untrashed') -EventType.paper_doc_view = EventType('paper_doc_view') -EventType.paper_folder_change_subscription = EventType('paper_folder_change_subscription') -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.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.sso_add_cert = EventType('sso_add_cert') -EventType.sso_add_login_url = EventType('sso_add_login_url') -EventType.sso_add_logout_url = EventType('sso_add_logout_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.sso_remove_cert = EventType('sso_remove_cert') -EventType.sso_remove_login_url = EventType('sso_remove_login_url') -EventType.sso_remove_logout_url = EventType('sso_remove_logout_url') -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_link_policy = EventType('paper_change_member_link_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.smart_sync_not_opt_out = EventType('smart_sync_not_opt_out') -EventType.smart_sync_opt_out = EventType('smart_sync_opt_out') -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_default_language = EventType('team_profile_change_default_language') -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') +ExportMembersReportDetails._all_field_names_ = set([]) +ExportMembersReportDetails._all_fields_ = [] + +ExportMembersReportType._description_validator = bv.String() +ExportMembersReportType._all_field_names_ = set(['description']) +ExportMembersReportType._all_fields_ = [('description', ExportMembersReportType._description_validator)] + ExtendedVersionHistoryChangePolicyDetails._new_value_validator = ExtendedVersionHistoryPolicy_validator ExtendedVersionHistoryChangePolicyDetails._previous_value_validator = bv.Nullable(ExtendedVersionHistoryPolicy_validator) ExtendedVersionHistoryChangePolicyDetails._all_field_names_ = set([ @@ -39124,22 +74169,40 @@ ExtendedVersionHistoryChangePolicyDetails._all_fields_ = [ ('previous_value', ExtendedVersionHistoryChangePolicyDetails._previous_value_validator), ] +ExtendedVersionHistoryChangePolicyType._description_validator = bv.String() +ExtendedVersionHistoryChangePolicyType._all_field_names_ = set(['description']) +ExtendedVersionHistoryChangePolicyType._all_fields_ = [('description', ExtendedVersionHistoryChangePolicyType._description_validator)] + ExtendedVersionHistoryPolicy._explicitly_limited_validator = bv.Void() ExtendedVersionHistoryPolicy._explicitly_unlimited_validator = bv.Void() ExtendedVersionHistoryPolicy._implicitly_limited_validator = bv.Void() +ExtendedVersionHistoryPolicy._implicitly_unlimited_validator = bv.Void() ExtendedVersionHistoryPolicy._other_validator = bv.Void() ExtendedVersionHistoryPolicy._tagmap = { 'explicitly_limited': ExtendedVersionHistoryPolicy._explicitly_limited_validator, 'explicitly_unlimited': ExtendedVersionHistoryPolicy._explicitly_unlimited_validator, 'implicitly_limited': ExtendedVersionHistoryPolicy._implicitly_limited_validator, + 'implicitly_unlimited': ExtendedVersionHistoryPolicy._implicitly_unlimited_validator, 'other': ExtendedVersionHistoryPolicy._other_validator, } ExtendedVersionHistoryPolicy.explicitly_limited = ExtendedVersionHistoryPolicy('explicitly_limited') ExtendedVersionHistoryPolicy.explicitly_unlimited = ExtendedVersionHistoryPolicy('explicitly_unlimited') ExtendedVersionHistoryPolicy.implicitly_limited = ExtendedVersionHistoryPolicy('implicitly_limited') +ExtendedVersionHistoryPolicy.implicitly_unlimited = ExtendedVersionHistoryPolicy('implicitly_unlimited') ExtendedVersionHistoryPolicy.other = ExtendedVersionHistoryPolicy('other') +ExternalUserLogInfo._user_identifier_validator = bv.String() +ExternalUserLogInfo._identifier_type_validator = IdentifierType_validator +ExternalUserLogInfo._all_field_names_ = set([ + 'user_identifier', + 'identifier_type', +]) +ExternalUserLogInfo._all_fields_ = [ + ('user_identifier', ExternalUserLogInfo._user_identifier_validator), + ('identifier_type', ExternalUserLogInfo._identifier_type_validator), +] + FailureDetailsLogInfo._user_friendly_message_validator = bv.Nullable(bv.String()) FailureDetailsLogInfo._technical_error_message_validator = bv.Nullable(bv.String()) FailureDetailsLogInfo._all_field_names_ = set([ @@ -39151,34 +74214,36 @@ FailureDetailsLogInfo._all_fields_ = [ ('technical_error_message', FailureDetailsLogInfo._technical_error_message_validator), ] -FileAddCommentDetails._target_asset_index_validator = bv.UInt64() FileAddCommentDetails._comment_text_validator = bv.Nullable(bv.String()) -FileAddCommentDetails._all_field_names_ = set([ - 'target_asset_index', - 'comment_text', -]) -FileAddCommentDetails._all_fields_ = [ - ('target_asset_index', FileAddCommentDetails._target_asset_index_validator), - ('comment_text', FileAddCommentDetails._comment_text_validator), -] +FileAddCommentDetails._all_field_names_ = set(['comment_text']) +FileAddCommentDetails._all_fields_ = [('comment_text', FileAddCommentDetails._comment_text_validator)] + +FileAddCommentType._description_validator = bv.String() +FileAddCommentType._all_field_names_ = set(['description']) +FileAddCommentType._all_fields_ = [('description', FileAddCommentType._description_validator)] FileAddDetails._all_field_names_ = set([]) FileAddDetails._all_fields_ = [] -FileChangeCommentSubscriptionDetails._target_asset_index_validator = bv.UInt64() +FileAddType._description_validator = bv.String() +FileAddType._all_field_names_ = set(['description']) +FileAddType._all_fields_ = [('description', FileAddType._description_validator)] + FileChangeCommentSubscriptionDetails._new_value_validator = FileCommentNotificationPolicy_validator FileChangeCommentSubscriptionDetails._previous_value_validator = bv.Nullable(FileCommentNotificationPolicy_validator) FileChangeCommentSubscriptionDetails._all_field_names_ = set([ - 'target_asset_index', 'new_value', 'previous_value', ]) FileChangeCommentSubscriptionDetails._all_fields_ = [ - ('target_asset_index', FileChangeCommentSubscriptionDetails._target_asset_index_validator), ('new_value', FileChangeCommentSubscriptionDetails._new_value_validator), ('previous_value', FileChangeCommentSubscriptionDetails._previous_value_validator), ] +FileChangeCommentSubscriptionType._description_validator = bv.String() +FileChangeCommentSubscriptionType._all_field_names_ = set(['description']) +FileChangeCommentSubscriptionType._all_fields_ = [('description', FileChangeCommentSubscriptionType._description_validator)] + FileCommentNotificationPolicy._disabled_validator = bv.Void() FileCommentNotificationPolicy._enabled_validator = bv.Void() FileCommentNotificationPolicy._other_validator = bv.Void() @@ -39203,6 +74268,10 @@ FileCommentsChangePolicyDetails._all_fields_ = [ ('previous_value', FileCommentsChangePolicyDetails._previous_value_validator), ] +FileCommentsChangePolicyType._description_validator = bv.String() +FileCommentsChangePolicyType._all_field_names_ = set(['description']) +FileCommentsChangePolicyType._all_fields_ = [('description', FileCommentsChangePolicyType._description_validator)] + FileCommentsPolicy._disabled_validator = bv.Void() FileCommentsPolicy._enabled_validator = bv.Void() FileCommentsPolicy._other_validator = bv.Void() @@ -39220,39 +74289,68 @@ FileCopyDetails._relocate_action_details_validator = bv.List(RelocateAssetRefere FileCopyDetails._all_field_names_ = set(['relocate_action_details']) FileCopyDetails._all_fields_ = [('relocate_action_details', FileCopyDetails._relocate_action_details_validator)] -FileDeleteCommentDetails._target_asset_index_validator = bv.UInt64() +FileCopyType._description_validator = bv.String() +FileCopyType._all_field_names_ = set(['description']) +FileCopyType._all_fields_ = [('description', FileCopyType._description_validator)] + FileDeleteCommentDetails._comment_text_validator = bv.Nullable(bv.String()) -FileDeleteCommentDetails._all_field_names_ = set([ - 'target_asset_index', - 'comment_text', -]) -FileDeleteCommentDetails._all_fields_ = [ - ('target_asset_index', FileDeleteCommentDetails._target_asset_index_validator), - ('comment_text', FileDeleteCommentDetails._comment_text_validator), -] +FileDeleteCommentDetails._all_field_names_ = set(['comment_text']) +FileDeleteCommentDetails._all_fields_ = [('comment_text', FileDeleteCommentDetails._comment_text_validator)] + +FileDeleteCommentType._description_validator = bv.String() +FileDeleteCommentType._all_field_names_ = set(['description']) +FileDeleteCommentType._all_fields_ = [('description', FileDeleteCommentType._description_validator)] FileDeleteDetails._all_field_names_ = set([]) FileDeleteDetails._all_fields_ = [] +FileDeleteType._description_validator = bv.String() +FileDeleteType._all_field_names_ = set(['description']) +FileDeleteType._all_fields_ = [('description', FileDeleteType._description_validator)] + FileDownloadDetails._all_field_names_ = set([]) FileDownloadDetails._all_fields_ = [] +FileDownloadType._description_validator = bv.String() +FileDownloadType._all_field_names_ = set(['description']) +FileDownloadType._all_fields_ = [('description', FileDownloadType._description_validator)] + +FileEditCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +FileEditCommentDetails._previous_comment_text_validator = bv.String() +FileEditCommentDetails._all_field_names_ = set([ + 'comment_text', + 'previous_comment_text', +]) +FileEditCommentDetails._all_fields_ = [ + ('comment_text', FileEditCommentDetails._comment_text_validator), + ('previous_comment_text', FileEditCommentDetails._previous_comment_text_validator), +] + +FileEditCommentType._description_validator = bv.String() +FileEditCommentType._all_field_names_ = set(['description']) +FileEditCommentType._all_fields_ = [('description', FileEditCommentType._description_validator)] + FileEditDetails._all_field_names_ = set([]) FileEditDetails._all_fields_ = [] +FileEditType._description_validator = bv.String() +FileEditType._all_field_names_ = set(['description']) +FileEditType._all_fields_ = [('description', FileEditType._description_validator)] + FileGetCopyReferenceDetails._all_field_names_ = set([]) FileGetCopyReferenceDetails._all_fields_ = [] -FileLikeCommentDetails._target_asset_index_validator = bv.UInt64() +FileGetCopyReferenceType._description_validator = bv.String() +FileGetCopyReferenceType._all_field_names_ = set(['description']) +FileGetCopyReferenceType._all_fields_ = [('description', FileGetCopyReferenceType._description_validator)] + FileLikeCommentDetails._comment_text_validator = bv.Nullable(bv.String()) -FileLikeCommentDetails._all_field_names_ = set([ - 'target_asset_index', - 'comment_text', -]) -FileLikeCommentDetails._all_fields_ = [ - ('target_asset_index', FileLikeCommentDetails._target_asset_index_validator), - ('comment_text', FileLikeCommentDetails._comment_text_validator), -] +FileLikeCommentDetails._all_field_names_ = set(['comment_text']) +FileLikeCommentDetails._all_fields_ = [('comment_text', FileLikeCommentDetails._comment_text_validator)] + +FileLikeCommentType._description_validator = bv.String() +FileLikeCommentType._all_field_names_ = set(['description']) +FileLikeCommentType._all_fields_ = [('description', FileLikeCommentType._description_validator)] FileOrFolderLogInfo._path_validator = PathLogInfo_validator FileOrFolderLogInfo._display_name_validator = bv.Nullable(bv.String()) @@ -39275,54 +74373,140 @@ FileMoveDetails._relocate_action_details_validator = bv.List(RelocateAssetRefere FileMoveDetails._all_field_names_ = set(['relocate_action_details']) FileMoveDetails._all_fields_ = [('relocate_action_details', FileMoveDetails._relocate_action_details_validator)] +FileMoveType._description_validator = bv.String() +FileMoveType._all_field_names_ = set(['description']) +FileMoveType._all_fields_ = [('description', FileMoveType._description_validator)] + FilePermanentlyDeleteDetails._all_field_names_ = set([]) FilePermanentlyDeleteDetails._all_fields_ = [] +FilePermanentlyDeleteType._description_validator = bv.String() +FilePermanentlyDeleteType._all_field_names_ = set(['description']) +FilePermanentlyDeleteType._all_fields_ = [('description', FilePermanentlyDeleteType._description_validator)] + FilePreviewDetails._all_field_names_ = set([]) FilePreviewDetails._all_fields_ = [] +FilePreviewType._description_validator = bv.String() +FilePreviewType._all_field_names_ = set(['description']) +FilePreviewType._all_fields_ = [('description', FilePreviewType._description_validator)] + FileRenameDetails._relocate_action_details_validator = bv.List(RelocateAssetReferencesLogInfo_validator) FileRenameDetails._all_field_names_ = set(['relocate_action_details']) FileRenameDetails._all_fields_ = [('relocate_action_details', FileRenameDetails._relocate_action_details_validator)] -FileRequestAddDeadlineDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestAddDeadlineDetails._all_field_names_ = set(['request_title']) -FileRequestAddDeadlineDetails._all_fields_ = [('request_title', FileRequestAddDeadlineDetails._request_title_validator)] +FileRenameType._description_validator = bv.String() +FileRenameType._all_field_names_ = set(['description']) +FileRenameType._all_fields_ = [('description', FileRenameType._description_validator)] -FileRequestChangeFolderDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestChangeFolderDetails._all_field_names_ = set(['request_title']) -FileRequestChangeFolderDetails._all_fields_ = [('request_title', FileRequestChangeFolderDetails._request_title_validator)] - -FileRequestChangeTitleDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestChangeTitleDetails._all_field_names_ = set(['request_title']) -FileRequestChangeTitleDetails._all_fields_ = [('request_title', FileRequestChangeTitleDetails._request_title_validator)] - -FileRequestCloseDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestCloseDetails._all_field_names_ = set(['request_title']) -FileRequestCloseDetails._all_fields_ = [('request_title', FileRequestCloseDetails._request_title_validator)] - -FileRequestCreateDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestCreateDetails._all_field_names_ = set(['request_title']) -FileRequestCreateDetails._all_fields_ = [('request_title', FileRequestCreateDetails._request_title_validator)] - -FileRequestReceiveFileDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestReceiveFileDetails._submitted_file_names_validator = bv.List(bv.String()) -FileRequestReceiveFileDetails._all_field_names_ = set([ - 'request_title', - 'submitted_file_names', +FileRequestChangeDetails._file_request_id_validator = bv.Nullable(file_requests.FileRequestId_validator) +FileRequestChangeDetails._previous_details_validator = bv.Nullable(FileRequestDetails_validator) +FileRequestChangeDetails._new_details_validator = FileRequestDetails_validator +FileRequestChangeDetails._all_field_names_ = set([ + 'file_request_id', + 'previous_details', + 'new_details', ]) -FileRequestReceiveFileDetails._all_fields_ = [ - ('request_title', FileRequestReceiveFileDetails._request_title_validator), - ('submitted_file_names', FileRequestReceiveFileDetails._submitted_file_names_validator), +FileRequestChangeDetails._all_fields_ = [ + ('file_request_id', FileRequestChangeDetails._file_request_id_validator), + ('previous_details', FileRequestChangeDetails._previous_details_validator), + ('new_details', FileRequestChangeDetails._new_details_validator), ] -FileRequestRemoveDeadlineDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestRemoveDeadlineDetails._all_field_names_ = set(['request_title']) -FileRequestRemoveDeadlineDetails._all_fields_ = [('request_title', FileRequestRemoveDeadlineDetails._request_title_validator)] +FileRequestChangeType._description_validator = bv.String() +FileRequestChangeType._all_field_names_ = set(['description']) +FileRequestChangeType._all_fields_ = [('description', FileRequestChangeType._description_validator)] -FileRequestSendDetails._request_title_validator = bv.Nullable(bv.String()) -FileRequestSendDetails._all_field_names_ = set(['request_title']) -FileRequestSendDetails._all_fields_ = [('request_title', FileRequestSendDetails._request_title_validator)] +FileRequestCloseDetails._file_request_id_validator = bv.Nullable(file_requests.FileRequestId_validator) +FileRequestCloseDetails._previous_details_validator = bv.Nullable(FileRequestDetails_validator) +FileRequestCloseDetails._all_field_names_ = set([ + 'file_request_id', + 'previous_details', +]) +FileRequestCloseDetails._all_fields_ = [ + ('file_request_id', FileRequestCloseDetails._file_request_id_validator), + ('previous_details', FileRequestCloseDetails._previous_details_validator), +] + +FileRequestCloseType._description_validator = bv.String() +FileRequestCloseType._all_field_names_ = set(['description']) +FileRequestCloseType._all_fields_ = [('description', FileRequestCloseType._description_validator)] + +FileRequestCreateDetails._file_request_id_validator = bv.Nullable(file_requests.FileRequestId_validator) +FileRequestCreateDetails._request_details_validator = bv.Nullable(FileRequestDetails_validator) +FileRequestCreateDetails._all_field_names_ = set([ + 'file_request_id', + 'request_details', +]) +FileRequestCreateDetails._all_fields_ = [ + ('file_request_id', FileRequestCreateDetails._file_request_id_validator), + ('request_details', FileRequestCreateDetails._request_details_validator), +] + +FileRequestCreateType._description_validator = bv.String() +FileRequestCreateType._all_field_names_ = set(['description']) +FileRequestCreateType._all_fields_ = [('description', FileRequestCreateType._description_validator)] + +FileRequestDeadline._deadline_validator = bv.Nullable(common.DropboxTimestamp_validator) +FileRequestDeadline._allow_late_uploads_validator = bv.Nullable(bv.String()) +FileRequestDeadline._all_field_names_ = set([ + 'deadline', + 'allow_late_uploads', +]) +FileRequestDeadline._all_fields_ = [ + ('deadline', FileRequestDeadline._deadline_validator), + ('allow_late_uploads', FileRequestDeadline._allow_late_uploads_validator), +] + +FileRequestDeleteDetails._file_request_id_validator = bv.Nullable(file_requests.FileRequestId_validator) +FileRequestDeleteDetails._previous_details_validator = bv.Nullable(FileRequestDetails_validator) +FileRequestDeleteDetails._all_field_names_ = set([ + 'file_request_id', + 'previous_details', +]) +FileRequestDeleteDetails._all_fields_ = [ + ('file_request_id', FileRequestDeleteDetails._file_request_id_validator), + ('previous_details', FileRequestDeleteDetails._previous_details_validator), +] + +FileRequestDeleteType._description_validator = bv.String() +FileRequestDeleteType._all_field_names_ = set(['description']) +FileRequestDeleteType._all_fields_ = [('description', FileRequestDeleteType._description_validator)] + +FileRequestDetails._asset_index_validator = bv.UInt64() +FileRequestDetails._deadline_validator = bv.Nullable(FileRequestDeadline_validator) +FileRequestDetails._all_field_names_ = set([ + 'asset_index', + 'deadline', +]) +FileRequestDetails._all_fields_ = [ + ('asset_index', FileRequestDetails._asset_index_validator), + ('deadline', FileRequestDetails._deadline_validator), +] + +FileRequestReceiveFileDetails._file_request_id_validator = bv.Nullable(file_requests.FileRequestId_validator) +FileRequestReceiveFileDetails._file_request_details_validator = bv.Nullable(FileRequestDetails_validator) +FileRequestReceiveFileDetails._submitted_file_names_validator = bv.List(bv.String()) +FileRequestReceiveFileDetails._submitter_name_validator = bv.Nullable(common.DisplayNameLegacy_validator) +FileRequestReceiveFileDetails._submitter_email_validator = bv.Nullable(EmailAddress_validator) +FileRequestReceiveFileDetails._all_field_names_ = set([ + 'file_request_id', + 'file_request_details', + 'submitted_file_names', + 'submitter_name', + 'submitter_email', +]) +FileRequestReceiveFileDetails._all_fields_ = [ + ('file_request_id', FileRequestReceiveFileDetails._file_request_id_validator), + ('file_request_details', FileRequestReceiveFileDetails._file_request_details_validator), + ('submitted_file_names', FileRequestReceiveFileDetails._submitted_file_names_validator), + ('submitter_name', FileRequestReceiveFileDetails._submitter_name_validator), + ('submitter_email', FileRequestReceiveFileDetails._submitter_email_validator), +] + +FileRequestReceiveFileType._description_validator = bv.String() +FileRequestReceiveFileType._all_field_names_ = set(['description']) +FileRequestReceiveFileType._all_fields_ = [('description', FileRequestReceiveFileType._description_validator)] FileRequestsChangePolicyDetails._new_value_validator = FileRequestsPolicy_validator FileRequestsChangePolicyDetails._previous_value_validator = bv.Nullable(FileRequestsPolicy_validator) @@ -39335,12 +74519,24 @@ FileRequestsChangePolicyDetails._all_fields_ = [ ('previous_value', FileRequestsChangePolicyDetails._previous_value_validator), ] +FileRequestsChangePolicyType._description_validator = bv.String() +FileRequestsChangePolicyType._all_field_names_ = set(['description']) +FileRequestsChangePolicyType._all_fields_ = [('description', FileRequestsChangePolicyType._description_validator)] + FileRequestsEmailsEnabledDetails._all_field_names_ = set([]) FileRequestsEmailsEnabledDetails._all_fields_ = [] +FileRequestsEmailsEnabledType._description_validator = bv.String() +FileRequestsEmailsEnabledType._all_field_names_ = set(['description']) +FileRequestsEmailsEnabledType._all_fields_ = [('description', FileRequestsEmailsEnabledType._description_validator)] + FileRequestsEmailsRestrictedToTeamOnlyDetails._all_field_names_ = set([]) FileRequestsEmailsRestrictedToTeamOnlyDetails._all_fields_ = [] +FileRequestsEmailsRestrictedToTeamOnlyType._description_validator = bv.String() +FileRequestsEmailsRestrictedToTeamOnlyType._all_field_names_ = set(['description']) +FileRequestsEmailsRestrictedToTeamOnlyType._all_fields_ = [('description', FileRequestsEmailsRestrictedToTeamOnlyType._description_validator)] + FileRequestsPolicy._disabled_validator = bv.Void() FileRequestsPolicy._enabled_validator = bv.Void() FileRequestsPolicy._other_validator = bv.Void() @@ -39354,51 +74550,58 @@ FileRequestsPolicy.disabled = FileRequestsPolicy('disabled') FileRequestsPolicy.enabled = FileRequestsPolicy('enabled') FileRequestsPolicy.other = FileRequestsPolicy('other') -FileResolveCommentDetails._target_asset_index_validator = bv.UInt64() FileResolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) -FileResolveCommentDetails._all_field_names_ = set([ - 'target_asset_index', - 'comment_text', -]) -FileResolveCommentDetails._all_fields_ = [ - ('target_asset_index', FileResolveCommentDetails._target_asset_index_validator), - ('comment_text', FileResolveCommentDetails._comment_text_validator), -] +FileResolveCommentDetails._all_field_names_ = set(['comment_text']) +FileResolveCommentDetails._all_fields_ = [('comment_text', FileResolveCommentDetails._comment_text_validator)] + +FileResolveCommentType._description_validator = bv.String() +FileResolveCommentType._all_field_names_ = set(['description']) +FileResolveCommentType._all_fields_ = [('description', FileResolveCommentType._description_validator)] FileRestoreDetails._all_field_names_ = set([]) FileRestoreDetails._all_fields_ = [] +FileRestoreType._description_validator = bv.String() +FileRestoreType._all_field_names_ = set(['description']) +FileRestoreType._all_fields_ = [('description', FileRestoreType._description_validator)] + FileRevertDetails._all_field_names_ = set([]) FileRevertDetails._all_fields_ = [] +FileRevertType._description_validator = bv.String() +FileRevertType._all_field_names_ = set(['description']) +FileRevertType._all_fields_ = [('description', FileRevertType._description_validator)] + FileRollbackChangesDetails._all_field_names_ = set([]) FileRollbackChangesDetails._all_fields_ = [] +FileRollbackChangesType._description_validator = bv.String() +FileRollbackChangesType._all_field_names_ = set(['description']) +FileRollbackChangesType._all_fields_ = [('description', FileRollbackChangesType._description_validator)] + FileSaveCopyReferenceDetails._relocate_action_details_validator = bv.List(RelocateAssetReferencesLogInfo_validator) FileSaveCopyReferenceDetails._all_field_names_ = set(['relocate_action_details']) FileSaveCopyReferenceDetails._all_fields_ = [('relocate_action_details', FileSaveCopyReferenceDetails._relocate_action_details_validator)] -FileUnlikeCommentDetails._target_asset_index_validator = bv.UInt64() -FileUnlikeCommentDetails._comment_text_validator = bv.Nullable(bv.String()) -FileUnlikeCommentDetails._all_field_names_ = set([ - 'target_asset_index', - 'comment_text', -]) -FileUnlikeCommentDetails._all_fields_ = [ - ('target_asset_index', FileUnlikeCommentDetails._target_asset_index_validator), - ('comment_text', FileUnlikeCommentDetails._comment_text_validator), -] +FileSaveCopyReferenceType._description_validator = bv.String() +FileSaveCopyReferenceType._all_field_names_ = set(['description']) +FileSaveCopyReferenceType._all_fields_ = [('description', FileSaveCopyReferenceType._description_validator)] + +FileUnlikeCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +FileUnlikeCommentDetails._all_field_names_ = set(['comment_text']) +FileUnlikeCommentDetails._all_fields_ = [('comment_text', FileUnlikeCommentDetails._comment_text_validator)] + +FileUnlikeCommentType._description_validator = bv.String() +FileUnlikeCommentType._all_field_names_ = set(['description']) +FileUnlikeCommentType._all_fields_ = [('description', FileUnlikeCommentType._description_validator)] -FileUnresolveCommentDetails._target_asset_index_validator = bv.UInt64() FileUnresolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) -FileUnresolveCommentDetails._all_field_names_ = set([ - 'target_asset_index', - 'comment_text', -]) -FileUnresolveCommentDetails._all_fields_ = [ - ('target_asset_index', FileUnresolveCommentDetails._target_asset_index_validator), - ('comment_text', FileUnresolveCommentDetails._comment_text_validator), -] +FileUnresolveCommentDetails._all_field_names_ = set(['comment_text']) +FileUnresolveCommentDetails._all_fields_ = [('comment_text', FileUnresolveCommentDetails._comment_text_validator)] + +FileUnresolveCommentType._description_validator = bv.String() +FileUnresolveCommentType._all_field_names_ = set(['description']) +FileUnresolveCommentType._all_fields_ = [('description', FileUnresolveCommentType._description_validator)] FolderLogInfo._all_field_names_ = FileOrFolderLogInfo._all_field_names_.union(set([])) FolderLogInfo._all_fields_ = FileOrFolderLogInfo._all_fields_ + [] @@ -39442,9 +74645,11 @@ GetTeamEventsContinueArg._all_field_names_ = set(['cursor']) GetTeamEventsContinueArg._all_fields_ = [('cursor', GetTeamEventsContinueArg._cursor_validator)] GetTeamEventsContinueError._bad_cursor_validator = bv.Void() +GetTeamEventsContinueError._reset_validator = common.DropboxTimestamp_validator GetTeamEventsContinueError._other_validator = bv.Void() GetTeamEventsContinueError._tagmap = { 'bad_cursor': GetTeamEventsContinueError._bad_cursor_validator, + 'reset': GetTeamEventsContinueError._reset_validator, 'other': GetTeamEventsContinueError._other_validator, } @@ -39489,6 +74694,10 @@ GoogleSsoChangePolicyDetails._all_fields_ = [ ('previous_value', GoogleSsoChangePolicyDetails._previous_value_validator), ] +GoogleSsoChangePolicyType._description_validator = bv.String() +GoogleSsoChangePolicyType._all_field_names_ = set(['description']) +GoogleSsoChangePolicyType._all_fields_ = [('description', GoogleSsoChangePolicyType._description_validator)] + GoogleSsoPolicy._disabled_validator = bv.Void() GoogleSsoPolicy._enabled_validator = bv.Void() GoogleSsoPolicy._other_validator = bv.Void() @@ -39506,10 +74715,18 @@ GroupAddExternalIdDetails._new_value_validator = team_common.GroupExternalId_val GroupAddExternalIdDetails._all_field_names_ = set(['new_value']) GroupAddExternalIdDetails._all_fields_ = [('new_value', GroupAddExternalIdDetails._new_value_validator)] +GroupAddExternalIdType._description_validator = bv.String() +GroupAddExternalIdType._all_field_names_ = set(['description']) +GroupAddExternalIdType._all_fields_ = [('description', GroupAddExternalIdType._description_validator)] + GroupAddMemberDetails._is_group_owner_validator = bv.Boolean() GroupAddMemberDetails._all_field_names_ = set(['is_group_owner']) GroupAddMemberDetails._all_fields_ = [('is_group_owner', GroupAddMemberDetails._is_group_owner_validator)] +GroupAddMemberType._description_validator = bv.String() +GroupAddMemberType._all_field_names_ = set(['description']) +GroupAddMemberType._all_fields_ = [('description', GroupAddMemberType._description_validator)] + GroupChangeExternalIdDetails._new_value_validator = team_common.GroupExternalId_validator GroupChangeExternalIdDetails._previous_value_validator = team_common.GroupExternalId_validator GroupChangeExternalIdDetails._all_field_names_ = set([ @@ -39521,6 +74738,10 @@ GroupChangeExternalIdDetails._all_fields_ = [ ('previous_value', GroupChangeExternalIdDetails._previous_value_validator), ] +GroupChangeExternalIdType._description_validator = bv.String() +GroupChangeExternalIdType._all_field_names_ = set(['description']) +GroupChangeExternalIdType._all_fields_ = [('description', GroupChangeExternalIdType._description_validator)] + GroupChangeManagementTypeDetails._new_value_validator = team_common.GroupManagementType_validator GroupChangeManagementTypeDetails._previous_value_validator = bv.Nullable(team_common.GroupManagementType_validator) GroupChangeManagementTypeDetails._all_field_names_ = set([ @@ -39532,12 +74753,20 @@ GroupChangeManagementTypeDetails._all_fields_ = [ ('previous_value', GroupChangeManagementTypeDetails._previous_value_validator), ] +GroupChangeManagementTypeType._description_validator = bv.String() +GroupChangeManagementTypeType._all_field_names_ = set(['description']) +GroupChangeManagementTypeType._all_fields_ = [('description', GroupChangeManagementTypeType._description_validator)] + GroupChangeMemberRoleDetails._is_group_owner_validator = bv.Boolean() GroupChangeMemberRoleDetails._all_field_names_ = set(['is_group_owner']) GroupChangeMemberRoleDetails._all_fields_ = [('is_group_owner', GroupChangeMemberRoleDetails._is_group_owner_validator)] +GroupChangeMemberRoleType._description_validator = bv.String() +GroupChangeMemberRoleType._all_field_names_ = set(['description']) +GroupChangeMemberRoleType._all_fields_ = [('description', GroupChangeMemberRoleType._description_validator)] + GroupCreateDetails._is_company_managed_validator = bv.Nullable(bv.Boolean()) -GroupCreateDetails._join_policy_validator = GroupJoinPolicy_validator +GroupCreateDetails._join_policy_validator = bv.Nullable(GroupJoinPolicy_validator) GroupCreateDetails._all_field_names_ = set([ 'is_company_managed', 'join_policy', @@ -39547,10 +74776,25 @@ GroupCreateDetails._all_fields_ = [ ('join_policy', GroupCreateDetails._join_policy_validator), ] +GroupCreateType._description_validator = bv.String() +GroupCreateType._all_field_names_ = set(['description']) +GroupCreateType._all_fields_ = [('description', GroupCreateType._description_validator)] + GroupDeleteDetails._is_company_managed_validator = bv.Nullable(bv.Boolean()) GroupDeleteDetails._all_field_names_ = set(['is_company_managed']) GroupDeleteDetails._all_fields_ = [('is_company_managed', GroupDeleteDetails._is_company_managed_validator)] +GroupDeleteType._description_validator = bv.String() +GroupDeleteType._all_field_names_ = set(['description']) +GroupDeleteType._all_fields_ = [('description', GroupDeleteType._description_validator)] + +GroupDescriptionUpdatedDetails._all_field_names_ = set([]) +GroupDescriptionUpdatedDetails._all_fields_ = [] + +GroupDescriptionUpdatedType._description_validator = bv.String() +GroupDescriptionUpdatedType._all_field_names_ = set(['description']) +GroupDescriptionUpdatedType._all_fields_ = [('description', GroupDescriptionUpdatedType._description_validator)] + GroupJoinPolicy._open_validator = bv.Void() GroupJoinPolicy._request_to_join_validator = bv.Void() GroupJoinPolicy._other_validator = bv.Void() @@ -39564,6 +74808,21 @@ GroupJoinPolicy.open = GroupJoinPolicy('open') GroupJoinPolicy.request_to_join = GroupJoinPolicy('request_to_join') GroupJoinPolicy.other = GroupJoinPolicy('other') +GroupJoinPolicyUpdatedDetails._is_company_managed_validator = bv.Nullable(bv.Boolean()) +GroupJoinPolicyUpdatedDetails._join_policy_validator = bv.Nullable(GroupJoinPolicy_validator) +GroupJoinPolicyUpdatedDetails._all_field_names_ = set([ + 'is_company_managed', + 'join_policy', +]) +GroupJoinPolicyUpdatedDetails._all_fields_ = [ + ('is_company_managed', GroupJoinPolicyUpdatedDetails._is_company_managed_validator), + ('join_policy', GroupJoinPolicyUpdatedDetails._join_policy_validator), +] + +GroupJoinPolicyUpdatedType._description_validator = bv.String() +GroupJoinPolicyUpdatedType._all_field_names_ = set(['description']) +GroupJoinPolicyUpdatedType._all_fields_ = [('description', GroupJoinPolicyUpdatedType._description_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) @@ -39581,13 +74840,25 @@ GroupLogInfo._all_fields_ = [ GroupMovedDetails._all_field_names_ = set([]) GroupMovedDetails._all_fields_ = [] +GroupMovedType._description_validator = bv.String() +GroupMovedType._all_field_names_ = set(['description']) +GroupMovedType._all_fields_ = [('description', GroupMovedType._description_validator)] + GroupRemoveExternalIdDetails._previous_value_validator = team_common.GroupExternalId_validator GroupRemoveExternalIdDetails._all_field_names_ = set(['previous_value']) GroupRemoveExternalIdDetails._all_fields_ = [('previous_value', GroupRemoveExternalIdDetails._previous_value_validator)] +GroupRemoveExternalIdType._description_validator = bv.String() +GroupRemoveExternalIdType._all_field_names_ = set(['description']) +GroupRemoveExternalIdType._all_fields_ = [('description', GroupRemoveExternalIdType._description_validator)] + GroupRemoveMemberDetails._all_field_names_ = set([]) GroupRemoveMemberDetails._all_fields_ = [] +GroupRemoveMemberType._description_validator = bv.String() +GroupRemoveMemberType._all_field_names_ = set(['description']) +GroupRemoveMemberType._all_fields_ = [('description', GroupRemoveMemberType._description_validator)] + GroupRenameDetails._previous_value_validator = bv.String() GroupRenameDetails._new_value_validator = bv.String() GroupRenameDetails._all_field_names_ = set([ @@ -39599,8 +74870,12 @@ GroupRenameDetails._all_fields_ = [ ('new_value', GroupRenameDetails._new_value_validator), ] -GroupUserManagementChangePolicyDetails._new_value_validator = GroupUserManagementPolicy_validator -GroupUserManagementChangePolicyDetails._previous_value_validator = bv.Nullable(GroupUserManagementPolicy_validator) +GroupRenameType._description_validator = bv.String() +GroupRenameType._all_field_names_ = set(['description']) +GroupRenameType._all_fields_ = [('description', GroupRenameType._description_validator)] + +GroupUserManagementChangePolicyDetails._new_value_validator = team_policies.GroupCreation_validator +GroupUserManagementChangePolicyDetails._previous_value_validator = bv.Nullable(team_policies.GroupCreation_validator) GroupUserManagementChangePolicyDetails._all_field_names_ = set([ 'new_value', 'previous_value', @@ -39610,32 +74885,129 @@ GroupUserManagementChangePolicyDetails._all_fields_ = [ ('previous_value', GroupUserManagementChangePolicyDetails._previous_value_validator), ] -GroupUserManagementPolicy._admins_only_validator = bv.Void() -GroupUserManagementPolicy._all_users_validator = bv.Void() -GroupUserManagementPolicy._other_validator = bv.Void() -GroupUserManagementPolicy._tagmap = { - 'admins_only': GroupUserManagementPolicy._admins_only_validator, - 'all_users': GroupUserManagementPolicy._all_users_validator, - 'other': GroupUserManagementPolicy._other_validator, -} +GroupUserManagementChangePolicyType._description_validator = bv.String() +GroupUserManagementChangePolicyType._all_field_names_ = set(['description']) +GroupUserManagementChangePolicyType._all_fields_ = [('description', GroupUserManagementChangePolicyType._description_validator)] -GroupUserManagementPolicy.admins_only = GroupUserManagementPolicy('admins_only') -GroupUserManagementPolicy.all_users = GroupUserManagementPolicy('all_users') -GroupUserManagementPolicy.other = GroupUserManagementPolicy('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', +GuestAdminChangeStatusDetails._is_guest_validator = bv.Boolean() +GuestAdminChangeStatusDetails._guest_team_name_validator = bv.Nullable(bv.String()) +GuestAdminChangeStatusDetails._host_team_name_validator = bv.Nullable(bv.String()) +GuestAdminChangeStatusDetails._previous_value_validator = TrustedTeamsRequestState_validator +GuestAdminChangeStatusDetails._new_value_validator = TrustedTeamsRequestState_validator +GuestAdminChangeStatusDetails._action_details_validator = TrustedTeamsRequestAction_validator +GuestAdminChangeStatusDetails._all_field_names_ = set([ + 'is_guest', + 'guest_team_name', + 'host_team_name', + 'previous_value', + 'new_value', + 'action_details', ]) -HostLogInfo._all_fields_ = [ - ('host_id', HostLogInfo._host_id_validator), - ('host_name', HostLogInfo._host_name_validator), +GuestAdminChangeStatusDetails._all_fields_ = [ + ('is_guest', GuestAdminChangeStatusDetails._is_guest_validator), + ('guest_team_name', GuestAdminChangeStatusDetails._guest_team_name_validator), + ('host_team_name', GuestAdminChangeStatusDetails._host_team_name_validator), + ('previous_value', GuestAdminChangeStatusDetails._previous_value_validator), + ('new_value', GuestAdminChangeStatusDetails._new_value_validator), + ('action_details', GuestAdminChangeStatusDetails._action_details_validator), ] -JoinTeamDetails._linked_apps_validator = bv.List(AppLogInfo_validator) -JoinTeamDetails._linked_devices_validator = bv.List(DeviceLogInfo_validator) +GuestAdminChangeStatusType._description_validator = bv.String() +GuestAdminChangeStatusType._all_field_names_ = set(['description']) +GuestAdminChangeStatusType._all_fields_ = [('description', GuestAdminChangeStatusType._description_validator)] + +GuestAdminSignedInViaTrustedTeamsDetails._team_name_validator = bv.Nullable(bv.String()) +GuestAdminSignedInViaTrustedTeamsDetails._trusted_team_name_validator = bv.Nullable(bv.String()) +GuestAdminSignedInViaTrustedTeamsDetails._all_field_names_ = set([ + 'team_name', + 'trusted_team_name', +]) +GuestAdminSignedInViaTrustedTeamsDetails._all_fields_ = [ + ('team_name', GuestAdminSignedInViaTrustedTeamsDetails._team_name_validator), + ('trusted_team_name', GuestAdminSignedInViaTrustedTeamsDetails._trusted_team_name_validator), +] + +GuestAdminSignedInViaTrustedTeamsType._description_validator = bv.String() +GuestAdminSignedInViaTrustedTeamsType._all_field_names_ = set(['description']) +GuestAdminSignedInViaTrustedTeamsType._all_fields_ = [('description', GuestAdminSignedInViaTrustedTeamsType._description_validator)] + +GuestAdminSignedOutViaTrustedTeamsDetails._team_name_validator = bv.Nullable(bv.String()) +GuestAdminSignedOutViaTrustedTeamsDetails._trusted_team_name_validator = bv.Nullable(bv.String()) +GuestAdminSignedOutViaTrustedTeamsDetails._all_field_names_ = set([ + 'team_name', + 'trusted_team_name', +]) +GuestAdminSignedOutViaTrustedTeamsDetails._all_fields_ = [ + ('team_name', GuestAdminSignedOutViaTrustedTeamsDetails._team_name_validator), + ('trusted_team_name', GuestAdminSignedOutViaTrustedTeamsDetails._trusted_team_name_validator), +] + +GuestAdminSignedOutViaTrustedTeamsType._description_validator = bv.String() +GuestAdminSignedOutViaTrustedTeamsType._all_field_names_ = set(['description']) +GuestAdminSignedOutViaTrustedTeamsType._all_fields_ = [('description', GuestAdminSignedOutViaTrustedTeamsType._description_validator)] + +IdentifierType._email_validator = bv.Void() +IdentifierType._facebook_profile_name_validator = bv.Void() +IdentifierType._other_validator = bv.Void() +IdentifierType._tagmap = { + 'email': IdentifierType._email_validator, + 'facebook_profile_name': IdentifierType._facebook_profile_name_validator, + 'other': IdentifierType._other_validator, +} + +IdentifierType.email = IdentifierType('email') +IdentifierType.facebook_profile_name = IdentifierType('facebook_profile_name') +IdentifierType.other = IdentifierType('other') + +IntegrationConnectedDetails._integration_name_validator = bv.String() +IntegrationConnectedDetails._all_field_names_ = set(['integration_name']) +IntegrationConnectedDetails._all_fields_ = [('integration_name', IntegrationConnectedDetails._integration_name_validator)] + +IntegrationConnectedType._description_validator = bv.String() +IntegrationConnectedType._all_field_names_ = set(['description']) +IntegrationConnectedType._all_fields_ = [('description', IntegrationConnectedType._description_validator)] + +IntegrationDisconnectedDetails._integration_name_validator = bv.String() +IntegrationDisconnectedDetails._all_field_names_ = set(['integration_name']) +IntegrationDisconnectedDetails._all_fields_ = [('integration_name', IntegrationDisconnectedDetails._integration_name_validator)] + +IntegrationDisconnectedType._description_validator = bv.String() +IntegrationDisconnectedType._all_field_names_ = set(['description']) +IntegrationDisconnectedType._all_fields_ = [('description', IntegrationDisconnectedType._description_validator)] + +IntegrationPolicy._disabled_validator = bv.Void() +IntegrationPolicy._enabled_validator = bv.Void() +IntegrationPolicy._other_validator = bv.Void() +IntegrationPolicy._tagmap = { + 'disabled': IntegrationPolicy._disabled_validator, + 'enabled': IntegrationPolicy._enabled_validator, + 'other': IntegrationPolicy._other_validator, +} + +IntegrationPolicy.disabled = IntegrationPolicy('disabled') +IntegrationPolicy.enabled = IntegrationPolicy('enabled') +IntegrationPolicy.other = IntegrationPolicy('other') + +IntegrationPolicyChangedDetails._integration_name_validator = bv.String() +IntegrationPolicyChangedDetails._new_value_validator = IntegrationPolicy_validator +IntegrationPolicyChangedDetails._previous_value_validator = IntegrationPolicy_validator +IntegrationPolicyChangedDetails._all_field_names_ = set([ + 'integration_name', + 'new_value', + 'previous_value', +]) +IntegrationPolicyChangedDetails._all_fields_ = [ + ('integration_name', IntegrationPolicyChangedDetails._integration_name_validator), + ('new_value', IntegrationPolicyChangedDetails._new_value_validator), + ('previous_value', IntegrationPolicyChangedDetails._previous_value_validator), +] + +IntegrationPolicyChangedType._description_validator = bv.String() +IntegrationPolicyChangedType._all_field_names_ = set(['description']) +IntegrationPolicyChangedType._all_fields_ = [('description', IntegrationPolicyChangedType._description_validator)] + +JoinTeamDetails._linked_apps_validator = bv.List(UserLinkedAppLogInfo_validator) +JoinTeamDetails._linked_devices_validator = bv.List(LinkedDeviceLogInfo_validator) JoinTeamDetails._linked_shared_folders_validator = bv.List(FolderLogInfo_validator) JoinTeamDetails._all_field_names_ = set([ 'linked_apps', @@ -39648,28 +75020,129 @@ JoinTeamDetails._all_fields_ = [ ('linked_shared_folders', JoinTeamDetails._linked_shared_folders_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, +LegacyDeviceSessionLogInfo._session_info_validator = bv.Nullable(SessionLogInfo_validator) +LegacyDeviceSessionLogInfo._display_name_validator = bv.Nullable(bv.String()) +LegacyDeviceSessionLogInfo._is_emm_managed_validator = bv.Nullable(bv.Boolean()) +LegacyDeviceSessionLogInfo._platform_validator = bv.Nullable(bv.String()) +LegacyDeviceSessionLogInfo._mac_address_validator = bv.Nullable(IpAddress_validator) +LegacyDeviceSessionLogInfo._os_version_validator = bv.Nullable(bv.String()) +LegacyDeviceSessionLogInfo._device_type_validator = bv.Nullable(bv.String()) +LegacyDeviceSessionLogInfo._client_version_validator = bv.Nullable(bv.String()) +LegacyDeviceSessionLogInfo._legacy_uniq_id_validator = bv.Nullable(bv.String()) +LegacyDeviceSessionLogInfo._field_names_ = set([ + 'session_info', + 'display_name', + 'is_emm_managed', + 'platform', + 'mac_address', + 'os_version', + 'device_type', + 'client_version', + 'legacy_uniq_id', +]) +LegacyDeviceSessionLogInfo._all_field_names_ = DeviceSessionLogInfo._all_field_names_.union(LegacyDeviceSessionLogInfo._field_names_) +LegacyDeviceSessionLogInfo._fields_ = [ + ('session_info', LegacyDeviceSessionLogInfo._session_info_validator), + ('display_name', LegacyDeviceSessionLogInfo._display_name_validator), + ('is_emm_managed', LegacyDeviceSessionLogInfo._is_emm_managed_validator), + ('platform', LegacyDeviceSessionLogInfo._platform_validator), + ('mac_address', LegacyDeviceSessionLogInfo._mac_address_validator), + ('os_version', LegacyDeviceSessionLogInfo._os_version_validator), + ('device_type', LegacyDeviceSessionLogInfo._device_type_validator), + ('client_version', LegacyDeviceSessionLogInfo._client_version_validator), + ('legacy_uniq_id', LegacyDeviceSessionLogInfo._legacy_uniq_id_validator), +] +LegacyDeviceSessionLogInfo._all_fields_ = DeviceSessionLogInfo._all_fields_ + LegacyDeviceSessionLogInfo._fields_ + +LinkedDeviceLogInfo._mobile_device_session_validator = MobileDeviceSessionLogInfo_validator +LinkedDeviceLogInfo._desktop_device_session_validator = DesktopDeviceSessionLogInfo_validator +LinkedDeviceLogInfo._web_device_session_validator = WebDeviceSessionLogInfo_validator +LinkedDeviceLogInfo._legacy_device_session_validator = LegacyDeviceSessionLogInfo_validator +LinkedDeviceLogInfo._other_validator = bv.Void() +LinkedDeviceLogInfo._tagmap = { + 'mobile_device_session': LinkedDeviceLogInfo._mobile_device_session_validator, + 'desktop_device_session': LinkedDeviceLogInfo._desktop_device_session_validator, + 'web_device_session': LinkedDeviceLogInfo._web_device_session_validator, + 'legacy_device_session': LinkedDeviceLogInfo._legacy_device_session_validator, + 'other': LinkedDeviceLogInfo._other_validator, } -LinkAudience.public = LinkAudience('public') -LinkAudience.team = LinkAudience('team') -LinkAudience.members = LinkAudience('members') -LinkAudience.other = LinkAudience('other') +LinkedDeviceLogInfo.other = LinkedDeviceLogInfo('other') + +LoginFailDetails._is_emm_managed_validator = bv.Nullable(bv.Boolean()) +LoginFailDetails._login_method_validator = LoginMethod_validator +LoginFailDetails._error_details_validator = FailureDetailsLogInfo_validator +LoginFailDetails._all_field_names_ = set([ + 'is_emm_managed', + 'login_method', + 'error_details', +]) +LoginFailDetails._all_fields_ = [ + ('is_emm_managed', LoginFailDetails._is_emm_managed_validator), + ('login_method', LoginFailDetails._login_method_validator), + ('error_details', LoginFailDetails._error_details_validator), +] + +LoginFailType._description_validator = bv.String() +LoginFailType._all_field_names_ = set(['description']) +LoginFailType._all_fields_ = [('description', LoginFailType._description_validator)] + +LoginMethod._password_validator = bv.Void() +LoginMethod._two_factor_authentication_validator = bv.Void() +LoginMethod._saml_validator = bv.Void() +LoginMethod._google_oauth_validator = bv.Void() +LoginMethod._other_validator = bv.Void() +LoginMethod._tagmap = { + 'password': LoginMethod._password_validator, + 'two_factor_authentication': LoginMethod._two_factor_authentication_validator, + 'saml': LoginMethod._saml_validator, + 'google_oauth': LoginMethod._google_oauth_validator, + 'other': LoginMethod._other_validator, +} + +LoginMethod.password = LoginMethod('password') +LoginMethod.two_factor_authentication = LoginMethod('two_factor_authentication') +LoginMethod.saml = LoginMethod('saml') +LoginMethod.google_oauth = LoginMethod('google_oauth') +LoginMethod.other = LoginMethod('other') + +LoginSuccessDetails._is_emm_managed_validator = bv.Nullable(bv.Boolean()) +LoginSuccessDetails._login_method_validator = LoginMethod_validator +LoginSuccessDetails._all_field_names_ = set([ + 'is_emm_managed', + 'login_method', +]) +LoginSuccessDetails._all_fields_ = [ + ('is_emm_managed', LoginSuccessDetails._is_emm_managed_validator), + ('login_method', LoginSuccessDetails._login_method_validator), +] + +LoginSuccessType._description_validator = bv.String() +LoginSuccessType._all_field_names_ = set(['description']) +LoginSuccessType._all_fields_ = [('description', LoginSuccessType._description_validator)] LogoutDetails._all_field_names_ = set([]) LogoutDetails._all_fields_ = [] -MemberAddNameDetails._value_validator = UserNameLogInfo_validator -MemberAddNameDetails._all_field_names_ = set(['value']) -MemberAddNameDetails._all_fields_ = [('value', MemberAddNameDetails._value_validator)] +LogoutType._description_validator = bv.String() +LogoutType._all_field_names_ = set(['description']) +LogoutType._all_fields_ = [('description', LogoutType._description_validator)] + +MemberAddExternalIdDetails._new_value_validator = team_common.MemberExternalId_validator +MemberAddExternalIdDetails._all_field_names_ = set(['new_value']) +MemberAddExternalIdDetails._all_fields_ = [('new_value', MemberAddExternalIdDetails._new_value_validator)] + +MemberAddExternalIdType._description_validator = bv.String() +MemberAddExternalIdType._all_field_names_ = set(['description']) +MemberAddExternalIdType._all_fields_ = [('description', MemberAddExternalIdType._description_validator)] + +MemberAddNameDetails._new_value_validator = UserNameLogInfo_validator +MemberAddNameDetails._all_field_names_ = set(['new_value']) +MemberAddNameDetails._all_fields_ = [('new_value', MemberAddNameDetails._new_value_validator)] + +MemberAddNameType._description_validator = bv.String() +MemberAddNameType._all_field_names_ = set(['description']) +MemberAddNameType._all_fields_ = [('description', MemberAddNameType._description_validator)] MemberChangeAdminRoleDetails._new_value_validator = bv.Nullable(AdminRole_validator) MemberChangeAdminRoleDetails._previous_value_validator = bv.Nullable(AdminRole_validator) @@ -39682,8 +75155,12 @@ MemberChangeAdminRoleDetails._all_fields_ = [ ('previous_value', MemberChangeAdminRoleDetails._previous_value_validator), ] -MemberChangeEmailDetails._new_value_validator = common.EmailAddress_validator -MemberChangeEmailDetails._previous_value_validator = bv.Nullable(common.EmailAddress_validator) +MemberChangeAdminRoleType._description_validator = bv.String() +MemberChangeAdminRoleType._all_field_names_ = set(['description']) +MemberChangeAdminRoleType._all_fields_ = [('description', MemberChangeAdminRoleType._description_validator)] + +MemberChangeEmailDetails._new_value_validator = EmailAddress_validator +MemberChangeEmailDetails._previous_value_validator = bv.Nullable(EmailAddress_validator) MemberChangeEmailDetails._all_field_names_ = set([ 'new_value', 'previous_value', @@ -39693,6 +75170,25 @@ MemberChangeEmailDetails._all_fields_ = [ ('previous_value', MemberChangeEmailDetails._previous_value_validator), ] +MemberChangeEmailType._description_validator = bv.String() +MemberChangeEmailType._all_field_names_ = set(['description']) +MemberChangeEmailType._all_fields_ = [('description', MemberChangeEmailType._description_validator)] + +MemberChangeExternalIdDetails._new_value_validator = team_common.MemberExternalId_validator +MemberChangeExternalIdDetails._previous_value_validator = team_common.MemberExternalId_validator +MemberChangeExternalIdDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +MemberChangeExternalIdDetails._all_fields_ = [ + ('new_value', MemberChangeExternalIdDetails._new_value_validator), + ('previous_value', MemberChangeExternalIdDetails._previous_value_validator), +] + +MemberChangeExternalIdType._description_validator = bv.String() +MemberChangeExternalIdType._all_field_names_ = set(['description']) +MemberChangeExternalIdType._all_fields_ = [('description', MemberChangeExternalIdType._description_validator)] + MemberChangeMembershipTypeDetails._prev_value_validator = TeamMembershipType_validator MemberChangeMembershipTypeDetails._new_value_validator = TeamMembershipType_validator MemberChangeMembershipTypeDetails._all_field_names_ = set([ @@ -39704,6 +75200,10 @@ MemberChangeMembershipTypeDetails._all_fields_ = [ ('new_value', MemberChangeMembershipTypeDetails._new_value_validator), ] +MemberChangeMembershipTypeType._description_validator = bv.String() +MemberChangeMembershipTypeType._all_field_names_ = set(['description']) +MemberChangeMembershipTypeType._all_fields_ = [('description', MemberChangeMembershipTypeType._description_validator)] + MemberChangeNameDetails._new_value_validator = UserNameLogInfo_validator MemberChangeNameDetails._previous_value_validator = bv.Nullable(UserNameLogInfo_validator) MemberChangeNameDetails._all_field_names_ = set([ @@ -39715,23 +75215,69 @@ MemberChangeNameDetails._all_fields_ = [ ('previous_value', MemberChangeNameDetails._previous_value_validator), ] +MemberChangeNameType._description_validator = bv.String() +MemberChangeNameType._all_field_names_ = set(['description']) +MemberChangeNameType._all_fields_ = [('description', MemberChangeNameType._description_validator)] + MemberChangeStatusDetails._previous_value_validator = bv.Nullable(MemberStatus_validator) MemberChangeStatusDetails._new_value_validator = MemberStatus_validator -MemberChangeStatusDetails._team_join_details_validator = bv.Nullable(JoinTeamDetails_validator) +MemberChangeStatusDetails._action_validator = bv.Nullable(ActionDetails_validator) MemberChangeStatusDetails._all_field_names_ = set([ 'previous_value', 'new_value', - 'team_join_details', + 'action', ]) MemberChangeStatusDetails._all_fields_ = [ ('previous_value', MemberChangeStatusDetails._previous_value_validator), ('new_value', MemberChangeStatusDetails._new_value_validator), - ('team_join_details', MemberChangeStatusDetails._team_join_details_validator), + ('action', MemberChangeStatusDetails._action_validator), ] +MemberChangeStatusType._description_validator = bv.String() +MemberChangeStatusType._all_field_names_ = set(['description']) +MemberChangeStatusType._all_fields_ = [('description', MemberChangeStatusType._description_validator)] + +MemberDeleteManualContactsDetails._all_field_names_ = set([]) +MemberDeleteManualContactsDetails._all_fields_ = [] + +MemberDeleteManualContactsType._description_validator = bv.String() +MemberDeleteManualContactsType._all_field_names_ = set(['description']) +MemberDeleteManualContactsType._all_fields_ = [('description', MemberDeleteManualContactsType._description_validator)] + MemberPermanentlyDeleteAccountContentsDetails._all_field_names_ = set([]) MemberPermanentlyDeleteAccountContentsDetails._all_fields_ = [] +MemberPermanentlyDeleteAccountContentsType._description_validator = bv.String() +MemberPermanentlyDeleteAccountContentsType._all_field_names_ = set(['description']) +MemberPermanentlyDeleteAccountContentsType._all_fields_ = [('description', MemberPermanentlyDeleteAccountContentsType._description_validator)] + +MemberRemoveActionType._delete_validator = bv.Void() +MemberRemoveActionType._offboard_validator = bv.Void() +MemberRemoveActionType._leave_validator = bv.Void() +MemberRemoveActionType._offboard_and_retain_team_folders_validator = bv.Void() +MemberRemoveActionType._other_validator = bv.Void() +MemberRemoveActionType._tagmap = { + 'delete': MemberRemoveActionType._delete_validator, + 'offboard': MemberRemoveActionType._offboard_validator, + 'leave': MemberRemoveActionType._leave_validator, + 'offboard_and_retain_team_folders': MemberRemoveActionType._offboard_and_retain_team_folders_validator, + 'other': MemberRemoveActionType._other_validator, +} + +MemberRemoveActionType.delete = MemberRemoveActionType('delete') +MemberRemoveActionType.offboard = MemberRemoveActionType('offboard') +MemberRemoveActionType.leave = MemberRemoveActionType('leave') +MemberRemoveActionType.offboard_and_retain_team_folders = MemberRemoveActionType('offboard_and_retain_team_folders') +MemberRemoveActionType.other = MemberRemoveActionType('other') + +MemberRemoveExternalIdDetails._previous_value_validator = team_common.MemberExternalId_validator +MemberRemoveExternalIdDetails._all_field_names_ = set(['previous_value']) +MemberRemoveExternalIdDetails._all_fields_ = [('previous_value', MemberRemoveExternalIdDetails._previous_value_validator)] + +MemberRemoveExternalIdType._description_validator = bv.String() +MemberRemoveExternalIdType._all_field_names_ = set(['description']) +MemberRemoveExternalIdType._all_fields_ = [('description', MemberRemoveExternalIdType._description_validator)] + MemberRequestsChangePolicyDetails._new_value_validator = MemberRequestsPolicy_validator MemberRequestsChangePolicyDetails._previous_value_validator = bv.Nullable(MemberRequestsPolicy_validator) MemberRequestsChangePolicyDetails._all_field_names_ = set([ @@ -39743,6 +75289,10 @@ MemberRequestsChangePolicyDetails._all_fields_ = [ ('previous_value', MemberRequestsChangePolicyDetails._previous_value_validator), ] +MemberRequestsChangePolicyType._description_validator = bv.String() +MemberRequestsChangePolicyType._all_field_names_ = set(['description']) +MemberRequestsChangePolicyType._all_fields_ = [('description', MemberRequestsChangePolicyType._description_validator)] + MemberRequestsPolicy._auto_accept_validator = bv.Void() MemberRequestsPolicy._disabled_validator = bv.Void() MemberRequestsPolicy._require_approval_validator = bv.Void() @@ -39759,11 +75309,53 @@ MemberRequestsPolicy.disabled = MemberRequestsPolicy('disabled') MemberRequestsPolicy.require_approval = MemberRequestsPolicy('require_approval') MemberRequestsPolicy.other = MemberRequestsPolicy('other') +MemberSpaceLimitsAddCustomQuotaDetails._new_value_validator = bv.UInt64() +MemberSpaceLimitsAddCustomQuotaDetails._all_field_names_ = set(['new_value']) +MemberSpaceLimitsAddCustomQuotaDetails._all_fields_ = [('new_value', MemberSpaceLimitsAddCustomQuotaDetails._new_value_validator)] + +MemberSpaceLimitsAddCustomQuotaType._description_validator = bv.String() +MemberSpaceLimitsAddCustomQuotaType._all_field_names_ = set(['description']) +MemberSpaceLimitsAddCustomQuotaType._all_fields_ = [('description', MemberSpaceLimitsAddCustomQuotaType._description_validator)] + MemberSpaceLimitsAddExceptionDetails._all_field_names_ = set([]) MemberSpaceLimitsAddExceptionDetails._all_fields_ = [] -MemberSpaceLimitsChangePolicyDetails._previous_value_validator = SpaceLimitsLevel_validator -MemberSpaceLimitsChangePolicyDetails._new_value_validator = SpaceLimitsLevel_validator +MemberSpaceLimitsAddExceptionType._description_validator = bv.String() +MemberSpaceLimitsAddExceptionType._all_field_names_ = set(['description']) +MemberSpaceLimitsAddExceptionType._all_fields_ = [('description', MemberSpaceLimitsAddExceptionType._description_validator)] + +MemberSpaceLimitsChangeCapsTypePolicyDetails._previous_value_validator = SpaceCapsType_validator +MemberSpaceLimitsChangeCapsTypePolicyDetails._new_value_validator = SpaceCapsType_validator +MemberSpaceLimitsChangeCapsTypePolicyDetails._all_field_names_ = set([ + 'previous_value', + 'new_value', +]) +MemberSpaceLimitsChangeCapsTypePolicyDetails._all_fields_ = [ + ('previous_value', MemberSpaceLimitsChangeCapsTypePolicyDetails._previous_value_validator), + ('new_value', MemberSpaceLimitsChangeCapsTypePolicyDetails._new_value_validator), +] + +MemberSpaceLimitsChangeCapsTypePolicyType._description_validator = bv.String() +MemberSpaceLimitsChangeCapsTypePolicyType._all_field_names_ = set(['description']) +MemberSpaceLimitsChangeCapsTypePolicyType._all_fields_ = [('description', MemberSpaceLimitsChangeCapsTypePolicyType._description_validator)] + +MemberSpaceLimitsChangeCustomQuotaDetails._previous_value_validator = bv.UInt64() +MemberSpaceLimitsChangeCustomQuotaDetails._new_value_validator = bv.UInt64() +MemberSpaceLimitsChangeCustomQuotaDetails._all_field_names_ = set([ + 'previous_value', + 'new_value', +]) +MemberSpaceLimitsChangeCustomQuotaDetails._all_fields_ = [ + ('previous_value', MemberSpaceLimitsChangeCustomQuotaDetails._previous_value_validator), + ('new_value', MemberSpaceLimitsChangeCustomQuotaDetails._new_value_validator), +] + +MemberSpaceLimitsChangeCustomQuotaType._description_validator = bv.String() +MemberSpaceLimitsChangeCustomQuotaType._all_field_names_ = set(['description']) +MemberSpaceLimitsChangeCustomQuotaType._all_fields_ = [('description', MemberSpaceLimitsChangeCustomQuotaType._description_validator)] + +MemberSpaceLimitsChangePolicyDetails._previous_value_validator = bv.Nullable(bv.UInt64()) +MemberSpaceLimitsChangePolicyDetails._new_value_validator = bv.Nullable(bv.UInt64()) MemberSpaceLimitsChangePolicyDetails._all_field_names_ = set([ 'previous_value', 'new_value', @@ -39773,6 +75365,10 @@ MemberSpaceLimitsChangePolicyDetails._all_fields_ = [ ('new_value', MemberSpaceLimitsChangePolicyDetails._new_value_validator), ] +MemberSpaceLimitsChangePolicyType._description_validator = bv.String() +MemberSpaceLimitsChangePolicyType._all_field_names_ = set(['description']) +MemberSpaceLimitsChangePolicyType._all_fields_ = [('description', MemberSpaceLimitsChangePolicyType._description_validator)] + MemberSpaceLimitsChangeStatusDetails._previous_value_validator = SpaceLimitsStatus_validator MemberSpaceLimitsChangeStatusDetails._new_value_validator = SpaceLimitsStatus_validator MemberSpaceLimitsChangeStatusDetails._all_field_names_ = set([ @@ -39784,9 +75380,24 @@ MemberSpaceLimitsChangeStatusDetails._all_fields_ = [ ('new_value', MemberSpaceLimitsChangeStatusDetails._new_value_validator), ] +MemberSpaceLimitsChangeStatusType._description_validator = bv.String() +MemberSpaceLimitsChangeStatusType._all_field_names_ = set(['description']) +MemberSpaceLimitsChangeStatusType._all_fields_ = [('description', MemberSpaceLimitsChangeStatusType._description_validator)] + +MemberSpaceLimitsRemoveCustomQuotaDetails._all_field_names_ = set([]) +MemberSpaceLimitsRemoveCustomQuotaDetails._all_fields_ = [] + +MemberSpaceLimitsRemoveCustomQuotaType._description_validator = bv.String() +MemberSpaceLimitsRemoveCustomQuotaType._all_field_names_ = set(['description']) +MemberSpaceLimitsRemoveCustomQuotaType._all_fields_ = [('description', MemberSpaceLimitsRemoveCustomQuotaType._description_validator)] + MemberSpaceLimitsRemoveExceptionDetails._all_field_names_ = set([]) MemberSpaceLimitsRemoveExceptionDetails._all_fields_ = [] +MemberSpaceLimitsRemoveExceptionType._description_validator = bv.String() +MemberSpaceLimitsRemoveExceptionType._all_field_names_ = set(['description']) +MemberSpaceLimitsRemoveExceptionType._all_fields_ = [('description', MemberSpaceLimitsRemoveExceptionType._description_validator)] + MemberStatus._not_joined_validator = bv.Void() MemberStatus._invited_validator = bv.Void() MemberStatus._active_validator = bv.Void() @@ -39809,8 +75420,13 @@ MemberStatus.suspended = MemberStatus('suspended') MemberStatus.removed = MemberStatus('removed') MemberStatus.other = MemberStatus('other') -MemberSuggestDetails._all_field_names_ = set([]) -MemberSuggestDetails._all_fields_ = [] +MemberSuggestDetails._suggested_members_validator = bv.List(EmailAddress_validator) +MemberSuggestDetails._all_field_names_ = set(['suggested_members']) +MemberSuggestDetails._all_fields_ = [('suggested_members', MemberSuggestDetails._suggested_members_validator)] + +MemberSuggestType._description_validator = bv.String() +MemberSuggestType._all_field_names_ = set(['description']) +MemberSuggestType._all_fields_ = [('description', MemberSuggestType._description_validator)] MemberSuggestionsChangePolicyDetails._new_value_validator = MemberSuggestionsPolicy_validator MemberSuggestionsChangePolicyDetails._previous_value_validator = bv.Nullable(MemberSuggestionsPolicy_validator) @@ -39823,6 +75439,10 @@ MemberSuggestionsChangePolicyDetails._all_fields_ = [ ('previous_value', MemberSuggestionsChangePolicyDetails._previous_value_validator), ] +MemberSuggestionsChangePolicyType._description_validator = bv.String() +MemberSuggestionsChangePolicyType._all_field_names_ = set(['description']) +MemberSuggestionsChangePolicyType._all_fields_ = [('description', MemberSuggestionsChangePolicyType._description_validator)] + MemberSuggestionsPolicy._disabled_validator = bv.Void() MemberSuggestionsPolicy._enabled_validator = bv.Void() MemberSuggestionsPolicy._other_validator = bv.Void() @@ -39836,16 +75456,12 @@ MemberSuggestionsPolicy.disabled = MemberSuggestionsPolicy('disabled') MemberSuggestionsPolicy.enabled = MemberSuggestionsPolicy('enabled') MemberSuggestionsPolicy.other = MemberSuggestionsPolicy('other') -MemberTransferAccountContentsDetails._src_participant_index_validator = bv.UInt64() -MemberTransferAccountContentsDetails._dest_participant_index_validator = bv.UInt64() -MemberTransferAccountContentsDetails._all_field_names_ = set([ - 'src_participant_index', - 'dest_participant_index', -]) -MemberTransferAccountContentsDetails._all_fields_ = [ - ('src_participant_index', MemberTransferAccountContentsDetails._src_participant_index_validator), - ('dest_participant_index', MemberTransferAccountContentsDetails._dest_participant_index_validator), -] +MemberTransferAccountContentsDetails._all_field_names_ = set([]) +MemberTransferAccountContentsDetails._all_fields_ = [] + +MemberTransferAccountContentsType._description_validator = bv.String() +MemberTransferAccountContentsType._all_field_names_ = set(['description']) +MemberTransferAccountContentsType._all_fields_ = [('description', MemberTransferAccountContentsType._description_validator)] MicrosoftOfficeAddinChangePolicyDetails._new_value_validator = MicrosoftOfficeAddinPolicy_validator MicrosoftOfficeAddinChangePolicyDetails._previous_value_validator = bv.Nullable(MicrosoftOfficeAddinPolicy_validator) @@ -39858,6 +75474,10 @@ MicrosoftOfficeAddinChangePolicyDetails._all_fields_ = [ ('previous_value', MicrosoftOfficeAddinChangePolicyDetails._previous_value_validator), ] +MicrosoftOfficeAddinChangePolicyType._description_validator = bv.String() +MicrosoftOfficeAddinChangePolicyType._all_field_names_ = set(['description']) +MicrosoftOfficeAddinChangePolicyType._all_fields_ = [('description', MicrosoftOfficeAddinChangePolicyType._description_validator)] + MicrosoftOfficeAddinPolicy._disabled_validator = bv.Void() MicrosoftOfficeAddinPolicy._enabled_validator = bv.Void() MicrosoftOfficeAddinPolicy._other_validator = bv.Void() @@ -39871,16 +75491,42 @@ MicrosoftOfficeAddinPolicy.disabled = MicrosoftOfficeAddinPolicy('disabled') MicrosoftOfficeAddinPolicy.enabled = MicrosoftOfficeAddinPolicy('enabled') MicrosoftOfficeAddinPolicy.other = MicrosoftOfficeAddinPolicy('other') -MissingDetails._all_field_names_ = set([]) -MissingDetails._all_fields_ = [] +MissingDetails._source_event_fields_validator = bv.Nullable(bv.String()) +MissingDetails._all_field_names_ = set(['source_event_fields']) +MissingDetails._all_fields_ = [('source_event_fields', MissingDetails._source_event_fields_validator)] + +MobileDeviceSessionLogInfo._session_info_validator = bv.Nullable(MobileSessionLogInfo_validator) +MobileDeviceSessionLogInfo._device_name_validator = bv.String() +MobileDeviceSessionLogInfo._client_type_validator = team.MobileClientPlatform_validator +MobileDeviceSessionLogInfo._client_version_validator = bv.Nullable(bv.String()) +MobileDeviceSessionLogInfo._os_version_validator = bv.Nullable(bv.String()) +MobileDeviceSessionLogInfo._last_carrier_validator = bv.Nullable(bv.String()) +MobileDeviceSessionLogInfo._field_names_ = set([ + 'session_info', + 'device_name', + 'client_type', + 'client_version', + 'os_version', + 'last_carrier', +]) +MobileDeviceSessionLogInfo._all_field_names_ = DeviceSessionLogInfo._all_field_names_.union(MobileDeviceSessionLogInfo._field_names_) +MobileDeviceSessionLogInfo._fields_ = [ + ('session_info', MobileDeviceSessionLogInfo._session_info_validator), + ('device_name', MobileDeviceSessionLogInfo._device_name_validator), + ('client_type', MobileDeviceSessionLogInfo._client_type_validator), + ('client_version', MobileDeviceSessionLogInfo._client_version_validator), + ('os_version', MobileDeviceSessionLogInfo._os_version_validator), + ('last_carrier', MobileDeviceSessionLogInfo._last_carrier_validator), +] +MobileDeviceSessionLogInfo._all_fields_ = DeviceSessionLogInfo._all_fields_ + MobileDeviceSessionLogInfo._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._ns_id_validator = bv.Nullable(NamespaceId_validator) +NamespaceRelativePathLogInfo._relative_path_validator = bv.Nullable(FilePath_validator) NamespaceRelativePathLogInfo._all_field_names_ = set([ 'ns_id', 'relative_path', @@ -39901,6 +75547,10 @@ NetworkControlChangePolicyDetails._all_fields_ = [ ('previous_value', NetworkControlChangePolicyDetails._previous_value_validator), ] +NetworkControlChangePolicyType._description_validator = bv.String() +NetworkControlChangePolicyType._all_field_names_ = set(['description']) +NetworkControlChangePolicyType._all_fields_ = [('description', NetworkControlChangePolicyType._description_validator)] + NetworkControlPolicy._disabled_validator = bv.Void() NetworkControlPolicy._enabled_validator = bv.Void() NetworkControlPolicy._other_validator = bv.Void() @@ -39916,7 +75566,7 @@ NetworkControlPolicy.other = NetworkControlPolicy('other') UserLogInfo._account_id_validator = bv.Nullable(users_common.AccountId_validator) UserLogInfo._display_name_validator = bv.Nullable(common.DisplayNameLegacy_validator) -UserLogInfo._email_validator = bv.Nullable(common.EmailAddress_validator) +UserLogInfo._email_validator = bv.Nullable(EmailAddress_validator) UserLogInfo._field_names_ = set([ 'account_id', 'display_name', @@ -39932,10 +75582,12 @@ UserLogInfo._all_fields_ = UserLogInfo._fields_ UserLogInfo._tag_to_subtype_ = { (u'team_member',): TeamMemberLogInfo_validator, + (u'trusted_non_team_member',): TrustedNonTeamMemberLogInfo_validator, (u'non_team_member',): NonTeamMemberLogInfo_validator, } UserLogInfo._pytype_to_tag_and_subtype_ = { TeamMemberLogInfo: ((u'team_member',), TeamMemberLogInfo_validator), + TrustedNonTeamMemberLogInfo: ((u'trusted_non_team_member',), TrustedNonTeamMemberLogInfo_validator), NonTeamMemberLogInfo: ((u'non_team_member',), NonTeamMemberLogInfo_validator), } UserLogInfo._is_catch_all_ = True @@ -39948,32 +75600,53 @@ NonTeamMemberLogInfo._all_fields_ = UserLogInfo._all_fields_ + NonTeamMemberLogI NoteAclInviteOnlyDetails._all_field_names_ = set([]) NoteAclInviteOnlyDetails._all_fields_ = [] +NoteAclInviteOnlyType._description_validator = bv.String() +NoteAclInviteOnlyType._all_field_names_ = set(['description']) +NoteAclInviteOnlyType._all_fields_ = [('description', NoteAclInviteOnlyType._description_validator)] + NoteAclLinkDetails._all_field_names_ = set([]) NoteAclLinkDetails._all_fields_ = [] +NoteAclLinkType._description_validator = bv.String() +NoteAclLinkType._all_field_names_ = set(['description']) +NoteAclLinkType._all_fields_ = [('description', NoteAclLinkType._description_validator)] + NoteAclTeamLinkDetails._all_field_names_ = set([]) NoteAclTeamLinkDetails._all_fields_ = [] +NoteAclTeamLinkType._description_validator = bv.String() +NoteAclTeamLinkType._all_field_names_ = set(['description']) +NoteAclTeamLinkType._all_fields_ = [('description', NoteAclTeamLinkType._description_validator)] + NoteShareReceiveDetails._all_field_names_ = set([]) NoteShareReceiveDetails._all_fields_ = [] +NoteShareReceiveType._description_validator = bv.String() +NoteShareReceiveType._all_field_names_ = set(['description']) +NoteShareReceiveType._all_fields_ = [('description', NoteShareReceiveType._description_validator)] + NoteSharedDetails._all_field_names_ = set([]) NoteSharedDetails._all_fields_ = [] +NoteSharedType._description_validator = bv.String() +NoteSharedType._all_field_names_ = set(['description']) +NoteSharedType._all_fields_ = [('description', NoteSharedType._description_validator)] + OpenNoteSharedDetails._all_field_names_ = set([]) OpenNoteSharedDetails._all_fields_ = [] +OpenNoteSharedType._description_validator = bv.String() +OpenNoteSharedType._all_field_names_ = set(['description']) +OpenNoteSharedType._all_fields_ = [('description', OpenNoteSharedType._description_validator)] + 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), ] @@ -39996,6 +75669,10 @@ PaperAccessType.other = PaperAccessType('other') PaperAdminExportStartDetails._all_field_names_ = set([]) PaperAdminExportStartDetails._all_fields_ = [] +PaperAdminExportStartType._description_validator = bv.String() +PaperAdminExportStartType._all_field_names_ = set(['description']) +PaperAdminExportStartType._all_fields_ = [('description', PaperAdminExportStartType._description_validator)] + PaperChangeDeploymentPolicyDetails._new_value_validator = team_policies.PaperDeploymentPolicy_validator PaperChangeDeploymentPolicyDetails._previous_value_validator = bv.Nullable(team_policies.PaperDeploymentPolicy_validator) PaperChangeDeploymentPolicyDetails._all_field_names_ = set([ @@ -40007,10 +75684,18 @@ PaperChangeDeploymentPolicyDetails._all_fields_ = [ ('previous_value', PaperChangeDeploymentPolicyDetails._previous_value_validator), ] +PaperChangeDeploymentPolicyType._description_validator = bv.String() +PaperChangeDeploymentPolicyType._all_field_names_ = set(['description']) +PaperChangeDeploymentPolicyType._all_fields_ = [('description', PaperChangeDeploymentPolicyType._description_validator)] + PaperChangeMemberLinkPolicyDetails._new_value_validator = PaperMemberPolicy_validator PaperChangeMemberLinkPolicyDetails._all_field_names_ = set(['new_value']) PaperChangeMemberLinkPolicyDetails._all_fields_ = [('new_value', PaperChangeMemberLinkPolicyDetails._new_value_validator)] +PaperChangeMemberLinkPolicyType._description_validator = bv.String() +PaperChangeMemberLinkPolicyType._all_field_names_ = set(['description']) +PaperChangeMemberLinkPolicyType._all_fields_ = [('description', PaperChangeMemberLinkPolicyType._description_validator)] + PaperChangeMemberPolicyDetails._new_value_validator = PaperMemberPolicy_validator PaperChangeMemberPolicyDetails._previous_value_validator = bv.Nullable(PaperMemberPolicy_validator) PaperChangeMemberPolicyDetails._all_field_names_ = set([ @@ -40022,6 +75707,10 @@ PaperChangeMemberPolicyDetails._all_fields_ = [ ('previous_value', PaperChangeMemberPolicyDetails._previous_value_validator), ] +PaperChangeMemberPolicyType._description_validator = bv.String() +PaperChangeMemberPolicyType._all_field_names_ = set(['description']) +PaperChangeMemberPolicyType._all_fields_ = [('description', PaperChangeMemberPolicyType._description_validator)] + PaperChangePolicyDetails._new_value_validator = team_policies.PaperEnabledPolicy_validator PaperChangePolicyDetails._previous_value_validator = bv.Nullable(team_policies.PaperEnabledPolicy_validator) PaperChangePolicyDetails._all_field_names_ = set([ @@ -40033,10 +75722,18 @@ PaperChangePolicyDetails._all_fields_ = [ ('previous_value', PaperChangePolicyDetails._previous_value_validator), ] +PaperChangePolicyType._description_validator = bv.String() +PaperChangePolicyType._all_field_names_ = set(['description']) +PaperChangePolicyType._all_fields_ = [('description', PaperChangePolicyType._description_validator)] + PaperContentAddMemberDetails._event_uuid_validator = bv.String() PaperContentAddMemberDetails._all_field_names_ = set(['event_uuid']) PaperContentAddMemberDetails._all_fields_ = [('event_uuid', PaperContentAddMemberDetails._event_uuid_validator)] +PaperContentAddMemberType._description_validator = bv.String() +PaperContentAddMemberType._all_field_names_ = set(['description']) +PaperContentAddMemberType._all_fields_ = [('description', PaperContentAddMemberType._description_validator)] + PaperContentAddToFolderDetails._event_uuid_validator = bv.String() PaperContentAddToFolderDetails._target_asset_index_validator = bv.UInt64() PaperContentAddToFolderDetails._parent_asset_index_validator = bv.UInt64() @@ -40051,34 +75748,132 @@ PaperContentAddToFolderDetails._all_fields_ = [ ('parent_asset_index', PaperContentAddToFolderDetails._parent_asset_index_validator), ] +PaperContentAddToFolderType._description_validator = bv.String() +PaperContentAddToFolderType._all_field_names_ = set(['description']) +PaperContentAddToFolderType._all_fields_ = [('description', PaperContentAddToFolderType._description_validator)] + PaperContentArchiveDetails._event_uuid_validator = bv.String() PaperContentArchiveDetails._all_field_names_ = set(['event_uuid']) PaperContentArchiveDetails._all_fields_ = [('event_uuid', PaperContentArchiveDetails._event_uuid_validator)] +PaperContentArchiveType._description_validator = bv.String() +PaperContentArchiveType._all_field_names_ = set(['description']) +PaperContentArchiveType._all_fields_ = [('description', PaperContentArchiveType._description_validator)] + PaperContentCreateDetails._event_uuid_validator = bv.String() PaperContentCreateDetails._all_field_names_ = set(['event_uuid']) PaperContentCreateDetails._all_fields_ = [('event_uuid', PaperContentCreateDetails._event_uuid_validator)] +PaperContentCreateType._description_validator = bv.String() +PaperContentCreateType._all_field_names_ = set(['description']) +PaperContentCreateType._all_fields_ = [('description', PaperContentCreateType._description_validator)] + PaperContentPermanentlyDeleteDetails._event_uuid_validator = bv.String() PaperContentPermanentlyDeleteDetails._all_field_names_ = set(['event_uuid']) PaperContentPermanentlyDeleteDetails._all_fields_ = [('event_uuid', PaperContentPermanentlyDeleteDetails._event_uuid_validator)] +PaperContentPermanentlyDeleteType._description_validator = bv.String() +PaperContentPermanentlyDeleteType._all_field_names_ = set(['description']) +PaperContentPermanentlyDeleteType._all_fields_ = [('description', PaperContentPermanentlyDeleteType._description_validator)] + PaperContentRemoveFromFolderDetails._event_uuid_validator = bv.String() -PaperContentRemoveFromFolderDetails._all_field_names_ = set(['event_uuid']) -PaperContentRemoveFromFolderDetails._all_fields_ = [('event_uuid', PaperContentRemoveFromFolderDetails._event_uuid_validator)] +PaperContentRemoveFromFolderDetails._target_asset_index_validator = bv.UInt64() +PaperContentRemoveFromFolderDetails._parent_asset_index_validator = bv.UInt64() +PaperContentRemoveFromFolderDetails._all_field_names_ = set([ + 'event_uuid', + 'target_asset_index', + 'parent_asset_index', +]) +PaperContentRemoveFromFolderDetails._all_fields_ = [ + ('event_uuid', PaperContentRemoveFromFolderDetails._event_uuid_validator), + ('target_asset_index', PaperContentRemoveFromFolderDetails._target_asset_index_validator), + ('parent_asset_index', PaperContentRemoveFromFolderDetails._parent_asset_index_validator), +] + +PaperContentRemoveFromFolderType._description_validator = bv.String() +PaperContentRemoveFromFolderType._all_field_names_ = set(['description']) +PaperContentRemoveFromFolderType._all_fields_ = [('description', PaperContentRemoveFromFolderType._description_validator)] PaperContentRemoveMemberDetails._event_uuid_validator = bv.String() PaperContentRemoveMemberDetails._all_field_names_ = set(['event_uuid']) PaperContentRemoveMemberDetails._all_fields_ = [('event_uuid', PaperContentRemoveMemberDetails._event_uuid_validator)] +PaperContentRemoveMemberType._description_validator = bv.String() +PaperContentRemoveMemberType._all_field_names_ = set(['description']) +PaperContentRemoveMemberType._all_fields_ = [('description', PaperContentRemoveMemberType._description_validator)] + PaperContentRenameDetails._event_uuid_validator = bv.String() PaperContentRenameDetails._all_field_names_ = set(['event_uuid']) PaperContentRenameDetails._all_fields_ = [('event_uuid', PaperContentRenameDetails._event_uuid_validator)] +PaperContentRenameType._description_validator = bv.String() +PaperContentRenameType._all_field_names_ = set(['description']) +PaperContentRenameType._all_fields_ = [('description', PaperContentRenameType._description_validator)] + PaperContentRestoreDetails._event_uuid_validator = bv.String() PaperContentRestoreDetails._all_field_names_ = set(['event_uuid']) PaperContentRestoreDetails._all_fields_ = [('event_uuid', PaperContentRestoreDetails._event_uuid_validator)] +PaperContentRestoreType._description_validator = bv.String() +PaperContentRestoreType._all_field_names_ = set(['description']) +PaperContentRestoreType._all_fields_ = [('description', PaperContentRestoreType._description_validator)] + +PaperDefaultFolderPolicy._everyone_in_team_validator = bv.Void() +PaperDefaultFolderPolicy._invite_only_validator = bv.Void() +PaperDefaultFolderPolicy._other_validator = bv.Void() +PaperDefaultFolderPolicy._tagmap = { + 'everyone_in_team': PaperDefaultFolderPolicy._everyone_in_team_validator, + 'invite_only': PaperDefaultFolderPolicy._invite_only_validator, + 'other': PaperDefaultFolderPolicy._other_validator, +} + +PaperDefaultFolderPolicy.everyone_in_team = PaperDefaultFolderPolicy('everyone_in_team') +PaperDefaultFolderPolicy.invite_only = PaperDefaultFolderPolicy('invite_only') +PaperDefaultFolderPolicy.other = PaperDefaultFolderPolicy('other') + +PaperDefaultFolderPolicyChangedDetails._new_value_validator = PaperDefaultFolderPolicy_validator +PaperDefaultFolderPolicyChangedDetails._previous_value_validator = PaperDefaultFolderPolicy_validator +PaperDefaultFolderPolicyChangedDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +PaperDefaultFolderPolicyChangedDetails._all_fields_ = [ + ('new_value', PaperDefaultFolderPolicyChangedDetails._new_value_validator), + ('previous_value', PaperDefaultFolderPolicyChangedDetails._previous_value_validator), +] + +PaperDefaultFolderPolicyChangedType._description_validator = bv.String() +PaperDefaultFolderPolicyChangedType._all_field_names_ = set(['description']) +PaperDefaultFolderPolicyChangedType._all_fields_ = [('description', PaperDefaultFolderPolicyChangedType._description_validator)] + +PaperDesktopPolicy._disabled_validator = bv.Void() +PaperDesktopPolicy._enabled_validator = bv.Void() +PaperDesktopPolicy._other_validator = bv.Void() +PaperDesktopPolicy._tagmap = { + 'disabled': PaperDesktopPolicy._disabled_validator, + 'enabled': PaperDesktopPolicy._enabled_validator, + 'other': PaperDesktopPolicy._other_validator, +} + +PaperDesktopPolicy.disabled = PaperDesktopPolicy('disabled') +PaperDesktopPolicy.enabled = PaperDesktopPolicy('enabled') +PaperDesktopPolicy.other = PaperDesktopPolicy('other') + +PaperDesktopPolicyChangedDetails._new_value_validator = PaperDesktopPolicy_validator +PaperDesktopPolicyChangedDetails._previous_value_validator = PaperDesktopPolicy_validator +PaperDesktopPolicyChangedDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +PaperDesktopPolicyChangedDetails._all_fields_ = [ + ('new_value', PaperDesktopPolicyChangedDetails._new_value_validator), + ('previous_value', PaperDesktopPolicyChangedDetails._previous_value_validator), +] + +PaperDesktopPolicyChangedType._description_validator = bv.String() +PaperDesktopPolicyChangedType._all_field_names_ = set(['description']) +PaperDesktopPolicyChangedType._all_fields_ = [('description', PaperDesktopPolicyChangedType._description_validator)] + PaperDocAddCommentDetails._event_uuid_validator = bv.String() PaperDocAddCommentDetails._comment_text_validator = bv.Nullable(bv.String()) PaperDocAddCommentDetails._all_field_names_ = set([ @@ -40090,6 +75885,10 @@ PaperDocAddCommentDetails._all_fields_ = [ ('comment_text', PaperDocAddCommentDetails._comment_text_validator), ] +PaperDocAddCommentType._description_validator = bv.String() +PaperDocAddCommentType._all_field_names_ = set(['description']) +PaperDocAddCommentType._all_fields_ = [('description', PaperDocAddCommentType._description_validator)] + PaperDocChangeMemberRoleDetails._event_uuid_validator = bv.String() PaperDocChangeMemberRoleDetails._access_type_validator = PaperAccessType_validator PaperDocChangeMemberRoleDetails._all_field_names_ = set([ @@ -40101,6 +75900,10 @@ PaperDocChangeMemberRoleDetails._all_fields_ = [ ('access_type', PaperDocChangeMemberRoleDetails._access_type_validator), ] +PaperDocChangeMemberRoleType._description_validator = bv.String() +PaperDocChangeMemberRoleType._all_field_names_ = set(['description']) +PaperDocChangeMemberRoleType._all_fields_ = [('description', PaperDocChangeMemberRoleType._description_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()) @@ -40115,6 +75918,10 @@ PaperDocChangeSharingPolicyDetails._all_fields_ = [ ('team_sharing_policy', PaperDocChangeSharingPolicyDetails._team_sharing_policy_validator), ] +PaperDocChangeSharingPolicyType._description_validator = bv.String() +PaperDocChangeSharingPolicyType._all_field_names_ = set(['description']) +PaperDocChangeSharingPolicyType._all_fields_ = [('description', PaperDocChangeSharingPolicyType._description_validator)] + PaperDocChangeSubscriptionDetails._event_uuid_validator = bv.String() PaperDocChangeSubscriptionDetails._new_subscription_level_validator = bv.String() PaperDocChangeSubscriptionDetails._previous_subscription_level_validator = bv.Nullable(bv.String()) @@ -40129,6 +75936,10 @@ PaperDocChangeSubscriptionDetails._all_fields_ = [ ('previous_subscription_level', PaperDocChangeSubscriptionDetails._previous_subscription_level_validator), ] +PaperDocChangeSubscriptionType._description_validator = bv.String() +PaperDocChangeSubscriptionType._all_field_names_ = set(['description']) +PaperDocChangeSubscriptionType._all_fields_ = [('description', PaperDocChangeSubscriptionType._description_validator)] + PaperDocDeleteCommentDetails._event_uuid_validator = bv.String() PaperDocDeleteCommentDetails._comment_text_validator = bv.Nullable(bv.String()) PaperDocDeleteCommentDetails._all_field_names_ = set([ @@ -40140,10 +75951,18 @@ PaperDocDeleteCommentDetails._all_fields_ = [ ('comment_text', PaperDocDeleteCommentDetails._comment_text_validator), ] +PaperDocDeleteCommentType._description_validator = bv.String() +PaperDocDeleteCommentType._all_field_names_ = set(['description']) +PaperDocDeleteCommentType._all_fields_ = [('description', PaperDocDeleteCommentType._description_validator)] + PaperDocDeletedDetails._event_uuid_validator = bv.String() PaperDocDeletedDetails._all_field_names_ = set(['event_uuid']) PaperDocDeletedDetails._all_fields_ = [('event_uuid', PaperDocDeletedDetails._event_uuid_validator)] +PaperDocDeletedType._description_validator = bv.String() +PaperDocDeletedType._all_field_names_ = set(['description']) +PaperDocDeletedType._all_fields_ = [('description', PaperDocDeletedType._description_validator)] + PaperDocDownloadDetails._event_uuid_validator = bv.String() PaperDocDownloadDetails._export_file_format_validator = PaperDownloadFormat_validator PaperDocDownloadDetails._all_field_names_ = set([ @@ -40155,6 +75974,10 @@ PaperDocDownloadDetails._all_fields_ = [ ('export_file_format', PaperDocDownloadDetails._export_file_format_validator), ] +PaperDocDownloadType._description_validator = bv.String() +PaperDocDownloadType._all_field_names_ = set(['description']) +PaperDocDownloadType._all_fields_ = [('description', PaperDocDownloadType._description_validator)] + PaperDocEditCommentDetails._event_uuid_validator = bv.String() PaperDocEditCommentDetails._comment_text_validator = bv.Nullable(bv.String()) PaperDocEditCommentDetails._all_field_names_ = set([ @@ -40166,22 +75989,60 @@ PaperDocEditCommentDetails._all_fields_ = [ ('comment_text', PaperDocEditCommentDetails._comment_text_validator), ] +PaperDocEditCommentType._description_validator = bv.String() +PaperDocEditCommentType._all_field_names_ = set(['description']) +PaperDocEditCommentType._all_fields_ = [('description', PaperDocEditCommentType._description_validator)] + PaperDocEditDetails._event_uuid_validator = bv.String() PaperDocEditDetails._all_field_names_ = set(['event_uuid']) PaperDocEditDetails._all_fields_ = [('event_uuid', PaperDocEditDetails._event_uuid_validator)] +PaperDocEditType._description_validator = bv.String() +PaperDocEditType._all_field_names_ = set(['description']) +PaperDocEditType._all_fields_ = [('description', PaperDocEditType._description_validator)] + PaperDocFollowedDetails._event_uuid_validator = bv.String() PaperDocFollowedDetails._all_field_names_ = set(['event_uuid']) PaperDocFollowedDetails._all_fields_ = [('event_uuid', PaperDocFollowedDetails._event_uuid_validator)] +PaperDocFollowedType._description_validator = bv.String() +PaperDocFollowedType._all_field_names_ = set(['description']) +PaperDocFollowedType._all_fields_ = [('description', PaperDocFollowedType._description_validator)] + PaperDocMentionDetails._event_uuid_validator = bv.String() PaperDocMentionDetails._all_field_names_ = set(['event_uuid']) PaperDocMentionDetails._all_fields_ = [('event_uuid', PaperDocMentionDetails._event_uuid_validator)] +PaperDocMentionType._description_validator = bv.String() +PaperDocMentionType._all_field_names_ = set(['description']) +PaperDocMentionType._all_fields_ = [('description', PaperDocMentionType._description_validator)] + +PaperDocOwnershipChangedDetails._event_uuid_validator = bv.String() +PaperDocOwnershipChangedDetails._old_owner_user_id_validator = bv.Nullable(users_common.AccountId_validator) +PaperDocOwnershipChangedDetails._new_owner_user_id_validator = users_common.AccountId_validator +PaperDocOwnershipChangedDetails._all_field_names_ = set([ + 'event_uuid', + 'old_owner_user_id', + 'new_owner_user_id', +]) +PaperDocOwnershipChangedDetails._all_fields_ = [ + ('event_uuid', PaperDocOwnershipChangedDetails._event_uuid_validator), + ('old_owner_user_id', PaperDocOwnershipChangedDetails._old_owner_user_id_validator), + ('new_owner_user_id', PaperDocOwnershipChangedDetails._new_owner_user_id_validator), +] + +PaperDocOwnershipChangedType._description_validator = bv.String() +PaperDocOwnershipChangedType._all_field_names_ = set(['description']) +PaperDocOwnershipChangedType._all_fields_ = [('description', PaperDocOwnershipChangedType._description_validator)] + PaperDocRequestAccessDetails._event_uuid_validator = bv.String() PaperDocRequestAccessDetails._all_field_names_ = set(['event_uuid']) PaperDocRequestAccessDetails._all_fields_ = [('event_uuid', PaperDocRequestAccessDetails._event_uuid_validator)] +PaperDocRequestAccessType._description_validator = bv.String() +PaperDocRequestAccessType._all_field_names_ = set(['description']) +PaperDocRequestAccessType._all_fields_ = [('description', PaperDocRequestAccessType._description_validator)] + PaperDocResolveCommentDetails._event_uuid_validator = bv.String() PaperDocResolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) PaperDocResolveCommentDetails._all_field_names_ = set([ @@ -40193,22 +76054,42 @@ PaperDocResolveCommentDetails._all_fields_ = [ ('comment_text', PaperDocResolveCommentDetails._comment_text_validator), ] +PaperDocResolveCommentType._description_validator = bv.String() +PaperDocResolveCommentType._all_field_names_ = set(['description']) +PaperDocResolveCommentType._all_fields_ = [('description', PaperDocResolveCommentType._description_validator)] + PaperDocRevertDetails._event_uuid_validator = bv.String() PaperDocRevertDetails._all_field_names_ = set(['event_uuid']) PaperDocRevertDetails._all_fields_ = [('event_uuid', PaperDocRevertDetails._event_uuid_validator)] +PaperDocRevertType._description_validator = bv.String() +PaperDocRevertType._all_field_names_ = set(['description']) +PaperDocRevertType._all_fields_ = [('description', PaperDocRevertType._description_validator)] + PaperDocSlackShareDetails._event_uuid_validator = bv.String() PaperDocSlackShareDetails._all_field_names_ = set(['event_uuid']) PaperDocSlackShareDetails._all_fields_ = [('event_uuid', PaperDocSlackShareDetails._event_uuid_validator)] +PaperDocSlackShareType._description_validator = bv.String() +PaperDocSlackShareType._all_field_names_ = set(['description']) +PaperDocSlackShareType._all_fields_ = [('description', PaperDocSlackShareType._description_validator)] + PaperDocTeamInviteDetails._event_uuid_validator = bv.String() PaperDocTeamInviteDetails._all_field_names_ = set(['event_uuid']) PaperDocTeamInviteDetails._all_fields_ = [('event_uuid', PaperDocTeamInviteDetails._event_uuid_validator)] +PaperDocTeamInviteType._description_validator = bv.String() +PaperDocTeamInviteType._all_field_names_ = set(['description']) +PaperDocTeamInviteType._all_fields_ = [('description', PaperDocTeamInviteType._description_validator)] + PaperDocTrashedDetails._event_uuid_validator = bv.String() PaperDocTrashedDetails._all_field_names_ = set(['event_uuid']) PaperDocTrashedDetails._all_fields_ = [('event_uuid', PaperDocTrashedDetails._event_uuid_validator)] +PaperDocTrashedType._description_validator = bv.String() +PaperDocTrashedType._all_field_names_ = set(['description']) +PaperDocTrashedType._all_fields_ = [('description', PaperDocTrashedType._description_validator)] + PaperDocUnresolveCommentDetails._event_uuid_validator = bv.String() PaperDocUnresolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) PaperDocUnresolveCommentDetails._all_field_names_ = set([ @@ -40220,14 +76101,26 @@ PaperDocUnresolveCommentDetails._all_fields_ = [ ('comment_text', PaperDocUnresolveCommentDetails._comment_text_validator), ] +PaperDocUnresolveCommentType._description_validator = bv.String() +PaperDocUnresolveCommentType._all_field_names_ = set(['description']) +PaperDocUnresolveCommentType._all_fields_ = [('description', PaperDocUnresolveCommentType._description_validator)] + PaperDocUntrashedDetails._event_uuid_validator = bv.String() PaperDocUntrashedDetails._all_field_names_ = set(['event_uuid']) PaperDocUntrashedDetails._all_fields_ = [('event_uuid', PaperDocUntrashedDetails._event_uuid_validator)] +PaperDocUntrashedType._description_validator = bv.String() +PaperDocUntrashedType._all_field_names_ = set(['description']) +PaperDocUntrashedType._all_fields_ = [('description', PaperDocUntrashedType._description_validator)] + PaperDocViewDetails._event_uuid_validator = bv.String() PaperDocViewDetails._all_field_names_ = set(['event_uuid']) PaperDocViewDetails._all_fields_ = [('event_uuid', PaperDocViewDetails._event_uuid_validator)] +PaperDocViewType._description_validator = bv.String() +PaperDocViewType._all_field_names_ = set(['description']) +PaperDocViewType._all_fields_ = [('description', PaperDocViewType._description_validator)] + PaperDocumentLogInfo._doc_id_validator = bv.String() PaperDocumentLogInfo._doc_title_validator = bv.String() PaperDocumentLogInfo._all_field_names_ = set([ @@ -40242,33 +76135,59 @@ PaperDocumentLogInfo._all_fields_ = [ PaperDownloadFormat._docx_validator = bv.Void() PaperDownloadFormat._html_validator = bv.Void() PaperDownloadFormat._markdown_validator = bv.Void() +PaperDownloadFormat._pdf_validator = bv.Void() PaperDownloadFormat._other_validator = bv.Void() PaperDownloadFormat._tagmap = { 'docx': PaperDownloadFormat._docx_validator, 'html': PaperDownloadFormat._html_validator, 'markdown': PaperDownloadFormat._markdown_validator, + 'pdf': PaperDownloadFormat._pdf_validator, 'other': PaperDownloadFormat._other_validator, } PaperDownloadFormat.docx = PaperDownloadFormat('docx') PaperDownloadFormat.html = PaperDownloadFormat('html') PaperDownloadFormat.markdown = PaperDownloadFormat('markdown') +PaperDownloadFormat.pdf = PaperDownloadFormat('pdf') PaperDownloadFormat.other = PaperDownloadFormat('other') PaperEnabledUsersGroupAdditionDetails._all_field_names_ = set([]) PaperEnabledUsersGroupAdditionDetails._all_fields_ = [] +PaperEnabledUsersGroupAdditionType._description_validator = bv.String() +PaperEnabledUsersGroupAdditionType._all_field_names_ = set(['description']) +PaperEnabledUsersGroupAdditionType._all_fields_ = [('description', PaperEnabledUsersGroupAdditionType._description_validator)] + PaperEnabledUsersGroupRemovalDetails._all_field_names_ = set([]) PaperEnabledUsersGroupRemovalDetails._all_fields_ = [] -PaperExternalViewAllowDetails._all_field_names_ = set([]) -PaperExternalViewAllowDetails._all_fields_ = [] +PaperEnabledUsersGroupRemovalType._description_validator = bv.String() +PaperEnabledUsersGroupRemovalType._all_field_names_ = set(['description']) +PaperEnabledUsersGroupRemovalType._all_fields_ = [('description', PaperEnabledUsersGroupRemovalType._description_validator)] -PaperExternalViewDefaultTeamDetails._all_field_names_ = set([]) -PaperExternalViewDefaultTeamDetails._all_fields_ = [] +PaperExternalViewAllowDetails._event_uuid_validator = bv.String() +PaperExternalViewAllowDetails._all_field_names_ = set(['event_uuid']) +PaperExternalViewAllowDetails._all_fields_ = [('event_uuid', PaperExternalViewAllowDetails._event_uuid_validator)] -PaperExternalViewForbidDetails._all_field_names_ = set([]) -PaperExternalViewForbidDetails._all_fields_ = [] +PaperExternalViewAllowType._description_validator = bv.String() +PaperExternalViewAllowType._all_field_names_ = set(['description']) +PaperExternalViewAllowType._all_fields_ = [('description', PaperExternalViewAllowType._description_validator)] + +PaperExternalViewDefaultTeamDetails._event_uuid_validator = bv.String() +PaperExternalViewDefaultTeamDetails._all_field_names_ = set(['event_uuid']) +PaperExternalViewDefaultTeamDetails._all_fields_ = [('event_uuid', PaperExternalViewDefaultTeamDetails._event_uuid_validator)] + +PaperExternalViewDefaultTeamType._description_validator = bv.String() +PaperExternalViewDefaultTeamType._all_field_names_ = set(['description']) +PaperExternalViewDefaultTeamType._all_fields_ = [('description', PaperExternalViewDefaultTeamType._description_validator)] + +PaperExternalViewForbidDetails._event_uuid_validator = bv.String() +PaperExternalViewForbidDetails._all_field_names_ = set(['event_uuid']) +PaperExternalViewForbidDetails._all_fields_ = [('event_uuid', PaperExternalViewForbidDetails._event_uuid_validator)] + +PaperExternalViewForbidType._description_validator = bv.String() +PaperExternalViewForbidType._all_field_names_ = set(['description']) +PaperExternalViewForbidType._all_fields_ = [('description', PaperExternalViewForbidType._description_validator)] PaperFolderChangeSubscriptionDetails._event_uuid_validator = bv.String() PaperFolderChangeSubscriptionDetails._new_subscription_level_validator = bv.String() @@ -40284,14 +76203,26 @@ PaperFolderChangeSubscriptionDetails._all_fields_ = [ ('previous_subscription_level', PaperFolderChangeSubscriptionDetails._previous_subscription_level_validator), ] +PaperFolderChangeSubscriptionType._description_validator = bv.String() +PaperFolderChangeSubscriptionType._all_field_names_ = set(['description']) +PaperFolderChangeSubscriptionType._all_fields_ = [('description', PaperFolderChangeSubscriptionType._description_validator)] + PaperFolderDeletedDetails._event_uuid_validator = bv.String() PaperFolderDeletedDetails._all_field_names_ = set(['event_uuid']) PaperFolderDeletedDetails._all_fields_ = [('event_uuid', PaperFolderDeletedDetails._event_uuid_validator)] +PaperFolderDeletedType._description_validator = bv.String() +PaperFolderDeletedType._all_field_names_ = set(['description']) +PaperFolderDeletedType._all_fields_ = [('description', PaperFolderDeletedType._description_validator)] + PaperFolderFollowedDetails._event_uuid_validator = bv.String() PaperFolderFollowedDetails._all_field_names_ = set(['event_uuid']) PaperFolderFollowedDetails._all_fields_ = [('event_uuid', PaperFolderFollowedDetails._event_uuid_validator)] +PaperFolderFollowedType._description_validator = bv.String() +PaperFolderFollowedType._all_field_names_ = set(['description']) +PaperFolderFollowedType._all_fields_ = [('description', PaperFolderFollowedType._description_validator)] + PaperFolderLogInfo._folder_id_validator = bv.String() PaperFolderLogInfo._folder_name_validator = bv.String() PaperFolderLogInfo._all_field_names_ = set([ @@ -40307,6 +76238,10 @@ PaperFolderTeamInviteDetails._event_uuid_validator = bv.String() PaperFolderTeamInviteDetails._all_field_names_ = set(['event_uuid']) PaperFolderTeamInviteDetails._all_fields_ = [('event_uuid', PaperFolderTeamInviteDetails._event_uuid_validator)] +PaperFolderTeamInviteType._description_validator = bv.String() +PaperFolderTeamInviteType._all_field_names_ = set(['description']) +PaperFolderTeamInviteType._all_fields_ = [('description', PaperFolderTeamInviteType._description_validator)] + PaperMemberPolicy._anyone_with_link_validator = bv.Void() PaperMemberPolicy._only_team_validator = bv.Void() PaperMemberPolicy._team_and_explicitly_shared_validator = bv.Void() @@ -40323,6 +76258,30 @@ PaperMemberPolicy.only_team = PaperMemberPolicy('only_team') PaperMemberPolicy.team_and_explicitly_shared = PaperMemberPolicy('team_and_explicitly_shared') PaperMemberPolicy.other = PaperMemberPolicy('other') +PaperPublishedLinkCreateDetails._event_uuid_validator = bv.String() +PaperPublishedLinkCreateDetails._all_field_names_ = set(['event_uuid']) +PaperPublishedLinkCreateDetails._all_fields_ = [('event_uuid', PaperPublishedLinkCreateDetails._event_uuid_validator)] + +PaperPublishedLinkCreateType._description_validator = bv.String() +PaperPublishedLinkCreateType._all_field_names_ = set(['description']) +PaperPublishedLinkCreateType._all_fields_ = [('description', PaperPublishedLinkCreateType._description_validator)] + +PaperPublishedLinkDisabledDetails._event_uuid_validator = bv.String() +PaperPublishedLinkDisabledDetails._all_field_names_ = set(['event_uuid']) +PaperPublishedLinkDisabledDetails._all_fields_ = [('event_uuid', PaperPublishedLinkDisabledDetails._event_uuid_validator)] + +PaperPublishedLinkDisabledType._description_validator = bv.String() +PaperPublishedLinkDisabledType._all_field_names_ = set(['description']) +PaperPublishedLinkDisabledType._all_fields_ = [('description', PaperPublishedLinkDisabledType._description_validator)] + +PaperPublishedLinkViewDetails._event_uuid_validator = bv.String() +PaperPublishedLinkViewDetails._all_field_names_ = set(['event_uuid']) +PaperPublishedLinkViewDetails._all_fields_ = [('event_uuid', PaperPublishedLinkViewDetails._event_uuid_validator)] + +PaperPublishedLinkViewType._description_validator = bv.String() +PaperPublishedLinkViewType._all_field_names_ = set(['description']) +PaperPublishedLinkViewType._all_fields_ = [('description', PaperPublishedLinkViewType._description_validator)] + ParticipantLogInfo._user_validator = UserLogInfo_validator ParticipantLogInfo._group_validator = GroupLogInfo_validator ParticipantLogInfo._other_validator = bv.Void() @@ -40334,23 +76293,44 @@ ParticipantLogInfo._tagmap = { ParticipantLogInfo.other = ParticipantLogInfo('other') +PassPolicy._enabled_validator = bv.Void() +PassPolicy._allow_validator = bv.Void() +PassPolicy._disabled_validator = bv.Void() +PassPolicy._other_validator = bv.Void() +PassPolicy._tagmap = { + 'enabled': PassPolicy._enabled_validator, + 'allow': PassPolicy._allow_validator, + 'disabled': PassPolicy._disabled_validator, + 'other': PassPolicy._other_validator, +} + +PassPolicy.enabled = PassPolicy('enabled') +PassPolicy.allow = PassPolicy('allow') +PassPolicy.disabled = PassPolicy('disabled') +PassPolicy.other = PassPolicy('other') + PasswordChangeDetails._all_field_names_ = set([]) PasswordChangeDetails._all_fields_ = [] -PasswordLoginFailDetails._error_details_validator = FailureDetailsLogInfo_validator -PasswordLoginFailDetails._all_field_names_ = set(['error_details']) -PasswordLoginFailDetails._all_fields_ = [('error_details', PasswordLoginFailDetails._error_details_validator)] - -PasswordLoginSuccessDetails._all_field_names_ = set([]) -PasswordLoginSuccessDetails._all_fields_ = [] +PasswordChangeType._description_validator = bv.String() +PasswordChangeType._all_field_names_ = set(['description']) +PasswordChangeType._all_fields_ = [('description', PasswordChangeType._description_validator)] PasswordResetAllDetails._all_field_names_ = set([]) PasswordResetAllDetails._all_fields_ = [] +PasswordResetAllType._description_validator = bv.String() +PasswordResetAllType._all_field_names_ = set(['description']) +PasswordResetAllType._all_fields_ = [('description', PasswordResetAllType._description_validator)] + PasswordResetDetails._all_field_names_ = set([]) PasswordResetDetails._all_fields_ = [] -PathLogInfo._contextual_validator = bv.Nullable(files.Path_validator) +PasswordResetType._description_validator = bv.String() +PasswordResetType._all_field_names_ = set(['description']) +PasswordResetType._all_fields_ = [('description', PasswordResetType._description_validator)] + +PathLogInfo._contextual_validator = bv.Nullable(FilePath_validator) PathLogInfo._namespace_relative_validator = NamespaceRelativePathLogInfo_validator PathLogInfo._all_field_names_ = set([ 'contextual', @@ -40372,19 +76352,95 @@ PermanentDeleteChangePolicyDetails._all_fields_ = [ ('previous_value', PermanentDeleteChangePolicyDetails._previous_value_validator), ] +PermanentDeleteChangePolicyType._description_validator = bv.String() +PermanentDeleteChangePolicyType._all_field_names_ = set(['description']) +PermanentDeleteChangePolicyType._all_fields_ = [('description', PermanentDeleteChangePolicyType._description_validator)] + +PlacementRestriction._australia_only_validator = bv.Void() PlacementRestriction._europe_only_validator = bv.Void() +PlacementRestriction._japan_only_validator = bv.Void() PlacementRestriction._none_validator = bv.Void() PlacementRestriction._other_validator = bv.Void() PlacementRestriction._tagmap = { + 'australia_only': PlacementRestriction._australia_only_validator, 'europe_only': PlacementRestriction._europe_only_validator, + 'japan_only': PlacementRestriction._japan_only_validator, 'none': PlacementRestriction._none_validator, 'other': PlacementRestriction._other_validator, } +PlacementRestriction.australia_only = PlacementRestriction('australia_only') PlacementRestriction.europe_only = PlacementRestriction('europe_only') +PlacementRestriction.japan_only = PlacementRestriction('japan_only') PlacementRestriction.none = PlacementRestriction('none') PlacementRestriction.other = PlacementRestriction('other') +PrimaryTeamRequestAcceptedDetails._secondary_team_validator = bv.String() +PrimaryTeamRequestAcceptedDetails._sent_by_validator = bv.String() +PrimaryTeamRequestAcceptedDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_by', +]) +PrimaryTeamRequestAcceptedDetails._all_fields_ = [ + ('secondary_team', PrimaryTeamRequestAcceptedDetails._secondary_team_validator), + ('sent_by', PrimaryTeamRequestAcceptedDetails._sent_by_validator), +] + +PrimaryTeamRequestCanceledDetails._secondary_team_validator = bv.String() +PrimaryTeamRequestCanceledDetails._sent_by_validator = bv.String() +PrimaryTeamRequestCanceledDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_by', +]) +PrimaryTeamRequestCanceledDetails._all_fields_ = [ + ('secondary_team', PrimaryTeamRequestCanceledDetails._secondary_team_validator), + ('sent_by', PrimaryTeamRequestCanceledDetails._sent_by_validator), +] + +PrimaryTeamRequestExpiredDetails._secondary_team_validator = bv.String() +PrimaryTeamRequestExpiredDetails._sent_by_validator = bv.String() +PrimaryTeamRequestExpiredDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_by', +]) +PrimaryTeamRequestExpiredDetails._all_fields_ = [ + ('secondary_team', PrimaryTeamRequestExpiredDetails._secondary_team_validator), + ('sent_by', PrimaryTeamRequestExpiredDetails._sent_by_validator), +] + +PrimaryTeamRequestReminderDetails._secondary_team_validator = bv.String() +PrimaryTeamRequestReminderDetails._sent_to_validator = bv.String() +PrimaryTeamRequestReminderDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_to', +]) +PrimaryTeamRequestReminderDetails._all_fields_ = [ + ('secondary_team', PrimaryTeamRequestReminderDetails._secondary_team_validator), + ('sent_to', PrimaryTeamRequestReminderDetails._sent_to_validator), +] + +QuickActionType._delete_shared_link_validator = bv.Void() +QuickActionType._reset_password_validator = bv.Void() +QuickActionType._restore_file_or_folder_validator = bv.Void() +QuickActionType._unlink_app_validator = bv.Void() +QuickActionType._unlink_session_validator = bv.Void() +QuickActionType._other_validator = bv.Void() +QuickActionType._tagmap = { + 'delete_shared_link': QuickActionType._delete_shared_link_validator, + 'reset_password': QuickActionType._reset_password_validator, + 'restore_file_or_folder': QuickActionType._restore_file_or_folder_validator, + 'unlink_app': QuickActionType._unlink_app_validator, + 'unlink_session': QuickActionType._unlink_session_validator, + 'other': QuickActionType._other_validator, +} + +QuickActionType.delete_shared_link = QuickActionType('delete_shared_link') +QuickActionType.reset_password = QuickActionType('reset_password') +QuickActionType.restore_file_or_folder = QuickActionType('restore_file_or_folder') +QuickActionType.unlink_app = QuickActionType('unlink_app') +QuickActionType.unlink_session = QuickActionType('unlink_session') +QuickActionType.other = QuickActionType('other') + RelocateAssetReferencesLogInfo._src_asset_index_validator = bv.UInt64() RelocateAssetReferencesLogInfo._dest_asset_index_validator = bv.UInt64() RelocateAssetReferencesLogInfo._all_field_names_ = set([ @@ -40397,22 +76453,116 @@ RelocateAssetReferencesLogInfo._all_fields_ = [ ] ResellerLogInfo._reseller_name_validator = bv.String() -ResellerLogInfo._reseller_id_validator = team_common.ResellerId_validator +ResellerLogInfo._reseller_email_validator = EmailAddress_validator ResellerLogInfo._all_field_names_ = set([ 'reseller_name', - 'reseller_id', + 'reseller_email', ]) ResellerLogInfo._all_fields_ = [ ('reseller_name', ResellerLogInfo._reseller_name_validator), - ('reseller_id', ResellerLogInfo._reseller_id_validator), + ('reseller_email', ResellerLogInfo._reseller_email_validator), ] +ResellerSupportChangePolicyDetails._new_value_validator = ResellerSupportPolicy_validator +ResellerSupportChangePolicyDetails._previous_value_validator = ResellerSupportPolicy_validator +ResellerSupportChangePolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +ResellerSupportChangePolicyDetails._all_fields_ = [ + ('new_value', ResellerSupportChangePolicyDetails._new_value_validator), + ('previous_value', ResellerSupportChangePolicyDetails._previous_value_validator), +] + +ResellerSupportChangePolicyType._description_validator = bv.String() +ResellerSupportChangePolicyType._all_field_names_ = set(['description']) +ResellerSupportChangePolicyType._all_fields_ = [('description', ResellerSupportChangePolicyType._description_validator)] + +ResellerSupportPolicy._disabled_validator = bv.Void() +ResellerSupportPolicy._enabled_validator = bv.Void() +ResellerSupportPolicy._other_validator = bv.Void() +ResellerSupportPolicy._tagmap = { + 'disabled': ResellerSupportPolicy._disabled_validator, + 'enabled': ResellerSupportPolicy._enabled_validator, + 'other': ResellerSupportPolicy._other_validator, +} + +ResellerSupportPolicy.disabled = ResellerSupportPolicy('disabled') +ResellerSupportPolicy.enabled = ResellerSupportPolicy('enabled') +ResellerSupportPolicy.other = ResellerSupportPolicy('other') + ResellerSupportSessionEndDetails._all_field_names_ = set([]) ResellerSupportSessionEndDetails._all_fields_ = [] +ResellerSupportSessionEndType._description_validator = bv.String() +ResellerSupportSessionEndType._all_field_names_ = set(['description']) +ResellerSupportSessionEndType._all_fields_ = [('description', ResellerSupportSessionEndType._description_validator)] + ResellerSupportSessionStartDetails._all_field_names_ = set([]) ResellerSupportSessionStartDetails._all_fields_ = [] +ResellerSupportSessionStartType._description_validator = bv.String() +ResellerSupportSessionStartType._all_field_names_ = set(['description']) +ResellerSupportSessionStartType._all_fields_ = [('description', ResellerSupportSessionStartType._description_validator)] + +SecondaryMailsPolicy._disabled_validator = bv.Void() +SecondaryMailsPolicy._enabled_validator = bv.Void() +SecondaryMailsPolicy._other_validator = bv.Void() +SecondaryMailsPolicy._tagmap = { + 'disabled': SecondaryMailsPolicy._disabled_validator, + 'enabled': SecondaryMailsPolicy._enabled_validator, + 'other': SecondaryMailsPolicy._other_validator, +} + +SecondaryMailsPolicy.disabled = SecondaryMailsPolicy('disabled') +SecondaryMailsPolicy.enabled = SecondaryMailsPolicy('enabled') +SecondaryMailsPolicy.other = SecondaryMailsPolicy('other') + +SecondaryMailsPolicyChangedDetails._previous_value_validator = SecondaryMailsPolicy_validator +SecondaryMailsPolicyChangedDetails._new_value_validator = SecondaryMailsPolicy_validator +SecondaryMailsPolicyChangedDetails._all_field_names_ = set([ + 'previous_value', + 'new_value', +]) +SecondaryMailsPolicyChangedDetails._all_fields_ = [ + ('previous_value', SecondaryMailsPolicyChangedDetails._previous_value_validator), + ('new_value', SecondaryMailsPolicyChangedDetails._new_value_validator), +] + +SecondaryMailsPolicyChangedType._description_validator = bv.String() +SecondaryMailsPolicyChangedType._all_field_names_ = set(['description']) +SecondaryMailsPolicyChangedType._all_fields_ = [('description', SecondaryMailsPolicyChangedType._description_validator)] + +SecondaryTeamRequestAcceptedDetails._primary_team_validator = bv.String() +SecondaryTeamRequestAcceptedDetails._sent_by_validator = bv.String() +SecondaryTeamRequestAcceptedDetails._all_field_names_ = set([ + 'primary_team', + 'sent_by', +]) +SecondaryTeamRequestAcceptedDetails._all_fields_ = [ + ('primary_team', SecondaryTeamRequestAcceptedDetails._primary_team_validator), + ('sent_by', SecondaryTeamRequestAcceptedDetails._sent_by_validator), +] + +SecondaryTeamRequestCanceledDetails._sent_to_validator = bv.String() +SecondaryTeamRequestCanceledDetails._sent_by_validator = bv.String() +SecondaryTeamRequestCanceledDetails._all_field_names_ = set([ + 'sent_to', + 'sent_by', +]) +SecondaryTeamRequestCanceledDetails._all_fields_ = [ + ('sent_to', SecondaryTeamRequestCanceledDetails._sent_to_validator), + ('sent_by', SecondaryTeamRequestCanceledDetails._sent_by_validator), +] + +SecondaryTeamRequestExpiredDetails._sent_to_validator = bv.String() +SecondaryTeamRequestExpiredDetails._all_field_names_ = set(['sent_to']) +SecondaryTeamRequestExpiredDetails._all_fields_ = [('sent_to', SecondaryTeamRequestExpiredDetails._sent_to_validator)] + +SecondaryTeamRequestReminderDetails._sent_to_validator = bv.String() +SecondaryTeamRequestReminderDetails._all_field_names_ = set(['sent_to']) +SecondaryTeamRequestReminderDetails._all_fields_ = [('sent_to', SecondaryTeamRequestReminderDetails._sent_to_validator)] + SfAddGroupDetails._target_asset_index_validator = bv.UInt64() SfAddGroupDetails._original_folder_name_validator = bv.String() SfAddGroupDetails._sharing_permission_validator = bv.Nullable(bv.String()) @@ -40430,6 +76580,10 @@ SfAddGroupDetails._all_fields_ = [ ('team_name', SfAddGroupDetails._team_name_validator), ] +SfAddGroupType._description_validator = bv.String() +SfAddGroupType._all_field_names_ = set(['description']) +SfAddGroupType._all_fields_ = [('description', SfAddGroupType._description_validator)] + SfAllowNonMembersToViewSharedLinksDetails._target_asset_index_validator = bv.UInt64() SfAllowNonMembersToViewSharedLinksDetails._original_folder_name_validator = bv.String() SfAllowNonMembersToViewSharedLinksDetails._shared_folder_type_validator = bv.Nullable(bv.String()) @@ -40444,40 +76598,92 @@ SfAllowNonMembersToViewSharedLinksDetails._all_fields_ = [ ('shared_folder_type', SfAllowNonMembersToViewSharedLinksDetails._shared_folder_type_validator), ] -SfExternalInviteWarnDetails._all_field_names_ = set([]) -SfExternalInviteWarnDetails._all_fields_ = [] +SfAllowNonMembersToViewSharedLinksType._description_validator = bv.String() +SfAllowNonMembersToViewSharedLinksType._all_field_names_ = set(['description']) +SfAllowNonMembersToViewSharedLinksType._all_fields_ = [('description', SfAllowNonMembersToViewSharedLinksType._description_validator)] + +SfExternalInviteWarnDetails._target_asset_index_validator = bv.UInt64() +SfExternalInviteWarnDetails._original_folder_name_validator = bv.String() +SfExternalInviteWarnDetails._new_sharing_permission_validator = bv.Nullable(bv.String()) +SfExternalInviteWarnDetails._previous_sharing_permission_validator = bv.Nullable(bv.String()) +SfExternalInviteWarnDetails._all_field_names_ = set([ + 'target_asset_index', + 'original_folder_name', + 'new_sharing_permission', + 'previous_sharing_permission', +]) +SfExternalInviteWarnDetails._all_fields_ = [ + ('target_asset_index', SfExternalInviteWarnDetails._target_asset_index_validator), + ('original_folder_name', SfExternalInviteWarnDetails._original_folder_name_validator), + ('new_sharing_permission', SfExternalInviteWarnDetails._new_sharing_permission_validator), + ('previous_sharing_permission', SfExternalInviteWarnDetails._previous_sharing_permission_validator), +] + +SfExternalInviteWarnType._description_validator = bv.String() +SfExternalInviteWarnType._all_field_names_ = set(['description']) +SfExternalInviteWarnType._all_fields_ = [('description', SfExternalInviteWarnType._description_validator)] + +SfFbInviteChangeRoleDetails._target_asset_index_validator = bv.UInt64() +SfFbInviteChangeRoleDetails._original_folder_name_validator = bv.String() +SfFbInviteChangeRoleDetails._previous_sharing_permission_validator = bv.Nullable(bv.String()) +SfFbInviteChangeRoleDetails._new_sharing_permission_validator = bv.Nullable(bv.String()) +SfFbInviteChangeRoleDetails._all_field_names_ = set([ + 'target_asset_index', + 'original_folder_name', + 'previous_sharing_permission', + 'new_sharing_permission', +]) +SfFbInviteChangeRoleDetails._all_fields_ = [ + ('target_asset_index', SfFbInviteChangeRoleDetails._target_asset_index_validator), + ('original_folder_name', SfFbInviteChangeRoleDetails._original_folder_name_validator), + ('previous_sharing_permission', SfFbInviteChangeRoleDetails._previous_sharing_permission_validator), + ('new_sharing_permission', SfFbInviteChangeRoleDetails._new_sharing_permission_validator), +] + +SfFbInviteChangeRoleType._description_validator = bv.String() +SfFbInviteChangeRoleType._all_field_names_ = set(['description']) +SfFbInviteChangeRoleType._all_fields_ = [('description', SfFbInviteChangeRoleType._description_validator)] + +SfFbInviteDetails._target_asset_index_validator = bv.UInt64() +SfFbInviteDetails._original_folder_name_validator = bv.String() +SfFbInviteDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SfFbInviteDetails._all_field_names_ = set([ + 'target_asset_index', + 'original_folder_name', + 'sharing_permission', +]) +SfFbInviteDetails._all_fields_ = [ + ('target_asset_index', SfFbInviteDetails._target_asset_index_validator), + ('original_folder_name', SfFbInviteDetails._original_folder_name_validator), + ('sharing_permission', SfFbInviteDetails._sharing_permission_validator), +] + +SfFbInviteType._description_validator = bv.String() +SfFbInviteType._all_field_names_ = set(['description']) +SfFbInviteType._all_fields_ = [('description', SfFbInviteType._description_validator)] + +SfFbUninviteDetails._target_asset_index_validator = bv.UInt64() +SfFbUninviteDetails._original_folder_name_validator = bv.String() +SfFbUninviteDetails._all_field_names_ = set([ + 'target_asset_index', + 'original_folder_name', +]) +SfFbUninviteDetails._all_fields_ = [ + ('target_asset_index', SfFbUninviteDetails._target_asset_index_validator), + ('original_folder_name', SfFbUninviteDetails._original_folder_name_validator), +] + +SfFbUninviteType._description_validator = bv.String() +SfFbUninviteType._all_field_names_ = set(['description']) +SfFbUninviteType._all_fields_ = [('description', SfFbUninviteType._description_validator)] SfInviteGroupDetails._target_asset_index_validator = bv.UInt64() SfInviteGroupDetails._all_field_names_ = set(['target_asset_index']) SfInviteGroupDetails._all_fields_ = [('target_asset_index', SfInviteGroupDetails._target_asset_index_validator)] -SfNestDetails._target_asset_index_validator = bv.UInt64() -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_asset_index', - 'original_folder_name', - 'prev_parent_ns_id', - 'new_parent_ns_id', -]) -SfNestDetails._all_fields_ = [ - ('target_asset_index', SfNestDetails._target_asset_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_asset_index_validator = bv.UInt64() -SfTeamDeclineDetails._original_folder_name_validator = bv.String() -SfTeamDeclineDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', -]) -SfTeamDeclineDetails._all_fields_ = [ - ('target_asset_index', SfTeamDeclineDetails._target_asset_index_validator), - ('original_folder_name', SfTeamDeclineDetails._original_folder_name_validator), -] +SfInviteGroupType._description_validator = bv.String() +SfInviteGroupType._all_field_names_ = set(['description']) +SfInviteGroupType._all_fields_ = [('description', SfInviteGroupType._description_validator)] SfTeamGrantAccessDetails._target_asset_index_validator = bv.UInt64() SfTeamGrantAccessDetails._original_folder_name_validator = bv.String() @@ -40490,6 +76696,10 @@ SfTeamGrantAccessDetails._all_fields_ = [ ('original_folder_name', SfTeamGrantAccessDetails._original_folder_name_validator), ] +SfTeamGrantAccessType._description_validator = bv.String() +SfTeamGrantAccessType._all_field_names_ = set(['description']) +SfTeamGrantAccessType._all_fields_ = [('description', SfTeamGrantAccessType._description_validator)] + SfTeamInviteChangeRoleDetails._target_asset_index_validator = bv.UInt64() SfTeamInviteChangeRoleDetails._original_folder_name_validator = bv.String() SfTeamInviteChangeRoleDetails._new_sharing_permission_validator = bv.Nullable(bv.String()) @@ -40507,6 +76717,10 @@ SfTeamInviteChangeRoleDetails._all_fields_ = [ ('previous_sharing_permission', SfTeamInviteChangeRoleDetails._previous_sharing_permission_validator), ] +SfTeamInviteChangeRoleType._description_validator = bv.String() +SfTeamInviteChangeRoleType._all_field_names_ = set(['description']) +SfTeamInviteChangeRoleType._all_fields_ = [('description', SfTeamInviteChangeRoleType._description_validator)] + SfTeamInviteDetails._target_asset_index_validator = bv.UInt64() SfTeamInviteDetails._original_folder_name_validator = bv.String() SfTeamInviteDetails._sharing_permission_validator = bv.Nullable(bv.String()) @@ -40521,6 +76735,10 @@ SfTeamInviteDetails._all_fields_ = [ ('sharing_permission', SfTeamInviteDetails._sharing_permission_validator), ] +SfTeamInviteType._description_validator = bv.String() +SfTeamInviteType._all_field_names_ = set(['description']) +SfTeamInviteType._all_fields_ = [('description', SfTeamInviteType._description_validator)] + SfTeamJoinDetails._target_asset_index_validator = bv.UInt64() SfTeamJoinDetails._original_folder_name_validator = bv.String() SfTeamJoinDetails._all_field_names_ = set([ @@ -40549,6 +76767,14 @@ SfTeamJoinFromOobLinkDetails._all_fields_ = [ ('sharing_permission', SfTeamJoinFromOobLinkDetails._sharing_permission_validator), ] +SfTeamJoinFromOobLinkType._description_validator = bv.String() +SfTeamJoinFromOobLinkType._all_field_names_ = set(['description']) +SfTeamJoinFromOobLinkType._all_fields_ = [('description', SfTeamJoinFromOobLinkType._description_validator)] + +SfTeamJoinType._description_validator = bv.String() +SfTeamJoinType._all_field_names_ = set(['description']) +SfTeamJoinType._all_fields_ = [('description', SfTeamJoinType._description_validator)] + SfTeamUninviteDetails._target_asset_index_validator = bv.UInt64() SfTeamUninviteDetails._original_folder_name_validator = bv.String() SfTeamUninviteDetails._all_field_names_ = set([ @@ -40560,545 +76786,544 @@ SfTeamUninviteDetails._all_fields_ = [ ('original_folder_name', SfTeamUninviteDetails._original_folder_name_validator), ] -SharedContentAddInviteesDetails._target_asset_index_validator = bv.UInt64() -SharedContentAddInviteesDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentAddInviteesDetails._sharing_permission_validator = bv.Nullable(bv.String()) +SfTeamUninviteType._description_validator = bv.String() +SfTeamUninviteType._all_field_names_ = set(['description']) +SfTeamUninviteType._all_fields_ = [('description', SfTeamUninviteType._description_validator)] + +SharedContentAddInviteesDetails._shared_content_access_level_validator = sharing.AccessLevel_validator +SharedContentAddInviteesDetails._invitees_validator = bv.List(EmailAddress_validator) SharedContentAddInviteesDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'sharing_permission', + 'shared_content_access_level', + 'invitees', ]) SharedContentAddInviteesDetails._all_fields_ = [ - ('target_asset_index', SharedContentAddInviteesDetails._target_asset_index_validator), - ('original_folder_name', SharedContentAddInviteesDetails._original_folder_name_validator), - ('sharing_permission', SharedContentAddInviteesDetails._sharing_permission_validator), + ('shared_content_access_level', SharedContentAddInviteesDetails._shared_content_access_level_validator), + ('invitees', SharedContentAddInviteesDetails._invitees_validator), ] -SharedContentAddLinkExpiryDetails._target_asset_index_validator = bv.UInt64() -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_asset_index', - 'original_folder_name', - 'shared_folder_type', - 'expiration_start_date', - 'expiration_days', -]) -SharedContentAddLinkExpiryDetails._all_fields_ = [ - ('target_asset_index', SharedContentAddLinkExpiryDetails._target_asset_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), -] +SharedContentAddInviteesType._description_validator = bv.String() +SharedContentAddInviteesType._all_field_names_ = set(['description']) +SharedContentAddInviteesType._all_fields_ = [('description', SharedContentAddInviteesType._description_validator)] -SharedContentAddLinkPasswordDetails._target_asset_index_validator = bv.UInt64() -SharedContentAddLinkPasswordDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentAddLinkPasswordDetails._shared_folder_type_validator = bv.Nullable(bv.String()) -SharedContentAddLinkPasswordDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', -]) -SharedContentAddLinkPasswordDetails._all_fields_ = [ - ('target_asset_index', SharedContentAddLinkPasswordDetails._target_asset_index_validator), - ('original_folder_name', SharedContentAddLinkPasswordDetails._original_folder_name_validator), - ('shared_folder_type', SharedContentAddLinkPasswordDetails._shared_folder_type_validator), -] +SharedContentAddLinkExpiryDetails._new_value_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedContentAddLinkExpiryDetails._all_field_names_ = set(['new_value']) +SharedContentAddLinkExpiryDetails._all_fields_ = [('new_value', SharedContentAddLinkExpiryDetails._new_value_validator)] -SharedContentAddMemberDetails._target_asset_index_validator = bv.UInt64() -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_asset_index', - 'original_folder_name', - 'sharing_permission', - 'shared_folder_type', -]) -SharedContentAddMemberDetails._all_fields_ = [ - ('target_asset_index', SharedContentAddMemberDetails._target_asset_index_validator), - ('original_folder_name', SharedContentAddMemberDetails._original_folder_name_validator), - ('sharing_permission', SharedContentAddMemberDetails._sharing_permission_validator), - ('shared_folder_type', SharedContentAddMemberDetails._shared_folder_type_validator), -] +SharedContentAddLinkExpiryType._description_validator = bv.String() +SharedContentAddLinkExpiryType._all_field_names_ = set(['description']) +SharedContentAddLinkExpiryType._all_fields_ = [('description', SharedContentAddLinkExpiryType._description_validator)] -SharedContentChangeDownloadsPolicyDetails._target_asset_index_validator = bv.UInt64() -SharedContentChangeDownloadsPolicyDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentChangeDownloadsPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) -SharedContentChangeDownloadsPolicyDetails._new_value_validator = SharedContentDownloadsPolicy_validator -SharedContentChangeDownloadsPolicyDetails._previous_value_validator = bv.Nullable(SharedContentDownloadsPolicy_validator) +SharedContentAddLinkPasswordDetails._all_field_names_ = set([]) +SharedContentAddLinkPasswordDetails._all_fields_ = [] + +SharedContentAddLinkPasswordType._description_validator = bv.String() +SharedContentAddLinkPasswordType._all_field_names_ = set(['description']) +SharedContentAddLinkPasswordType._all_fields_ = [('description', SharedContentAddLinkPasswordType._description_validator)] + +SharedContentAddMemberDetails._shared_content_access_level_validator = sharing.AccessLevel_validator +SharedContentAddMemberDetails._all_field_names_ = set(['shared_content_access_level']) +SharedContentAddMemberDetails._all_fields_ = [('shared_content_access_level', SharedContentAddMemberDetails._shared_content_access_level_validator)] + +SharedContentAddMemberType._description_validator = bv.String() +SharedContentAddMemberType._all_field_names_ = set(['description']) +SharedContentAddMemberType._all_fields_ = [('description', SharedContentAddMemberType._description_validator)] + +SharedContentChangeDownloadsPolicyDetails._new_value_validator = DownloadPolicyType_validator +SharedContentChangeDownloadsPolicyDetails._previous_value_validator = bv.Nullable(DownloadPolicyType_validator) SharedContentChangeDownloadsPolicyDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', 'new_value', 'previous_value', ]) SharedContentChangeDownloadsPolicyDetails._all_fields_ = [ - ('target_asset_index', SharedContentChangeDownloadsPolicyDetails._target_asset_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_asset_index_validator = bv.UInt64() -SharedContentChangeInviteeRoleDetails._original_folder_name_validator = bv.String() -SharedContentChangeInviteeRoleDetails._new_sharing_permission_validator = bv.Nullable(bv.String()) -SharedContentChangeInviteeRoleDetails._previous_sharing_permission_validator = bv.Nullable(bv.String()) +SharedContentChangeDownloadsPolicyType._description_validator = bv.String() +SharedContentChangeDownloadsPolicyType._all_field_names_ = set(['description']) +SharedContentChangeDownloadsPolicyType._all_fields_ = [('description', SharedContentChangeDownloadsPolicyType._description_validator)] + +SharedContentChangeInviteeRoleDetails._previous_access_level_validator = bv.Nullable(sharing.AccessLevel_validator) +SharedContentChangeInviteeRoleDetails._new_access_level_validator = sharing.AccessLevel_validator +SharedContentChangeInviteeRoleDetails._invitee_validator = EmailAddress_validator SharedContentChangeInviteeRoleDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'new_sharing_permission', - 'previous_sharing_permission', + 'previous_access_level', + 'new_access_level', + 'invitee', ]) SharedContentChangeInviteeRoleDetails._all_fields_ = [ - ('target_asset_index', SharedContentChangeInviteeRoleDetails._target_asset_index_validator), - ('original_folder_name', SharedContentChangeInviteeRoleDetails._original_folder_name_validator), - ('new_sharing_permission', SharedContentChangeInviteeRoleDetails._new_sharing_permission_validator), - ('previous_sharing_permission', SharedContentChangeInviteeRoleDetails._previous_sharing_permission_validator), + ('previous_access_level', SharedContentChangeInviteeRoleDetails._previous_access_level_validator), + ('new_access_level', SharedContentChangeInviteeRoleDetails._new_access_level_validator), + ('invitee', SharedContentChangeInviteeRoleDetails._invitee_validator), ] -SharedContentChangeLinkAudienceDetails._target_asset_index_validator = bv.UInt64() -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) +SharedContentChangeInviteeRoleType._description_validator = bv.String() +SharedContentChangeInviteeRoleType._all_field_names_ = set(['description']) +SharedContentChangeInviteeRoleType._all_fields_ = [('description', SharedContentChangeInviteeRoleType._description_validator)] + +SharedContentChangeLinkAudienceDetails._new_value_validator = sharing.LinkAudience_validator +SharedContentChangeLinkAudienceDetails._previous_value_validator = bv.Nullable(sharing.LinkAudience_validator) SharedContentChangeLinkAudienceDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', 'new_value', 'previous_value', ]) SharedContentChangeLinkAudienceDetails._all_fields_ = [ - ('target_asset_index', SharedContentChangeLinkAudienceDetails._target_asset_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_asset_index_validator = bv.UInt64() -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() +SharedContentChangeLinkAudienceType._description_validator = bv.String() +SharedContentChangeLinkAudienceType._all_field_names_ = set(['description']) +SharedContentChangeLinkAudienceType._all_fields_ = [('description', SharedContentChangeLinkAudienceType._description_validator)] + +SharedContentChangeLinkExpiryDetails._new_value_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedContentChangeLinkExpiryDetails._previous_value_validator = bv.Nullable(common.DropboxTimestamp_validator) SharedContentChangeLinkExpiryDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', - 'expiration_start_date', - 'expiration_days', + 'new_value', + 'previous_value', ]) SharedContentChangeLinkExpiryDetails._all_fields_ = [ - ('target_asset_index', SharedContentChangeLinkExpiryDetails._target_asset_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), + ('new_value', SharedContentChangeLinkExpiryDetails._new_value_validator), + ('previous_value', SharedContentChangeLinkExpiryDetails._previous_value_validator), ] -SharedContentChangeLinkPasswordDetails._target_asset_index_validator = bv.UInt64() -SharedContentChangeLinkPasswordDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentChangeLinkPasswordDetails._shared_folder_type_validator = bv.Nullable(bv.String()) -SharedContentChangeLinkPasswordDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', -]) -SharedContentChangeLinkPasswordDetails._all_fields_ = [ - ('target_asset_index', SharedContentChangeLinkPasswordDetails._target_asset_index_validator), - ('original_folder_name', SharedContentChangeLinkPasswordDetails._original_folder_name_validator), - ('shared_folder_type', SharedContentChangeLinkPasswordDetails._shared_folder_type_validator), -] +SharedContentChangeLinkExpiryType._description_validator = bv.String() +SharedContentChangeLinkExpiryType._all_field_names_ = set(['description']) +SharedContentChangeLinkExpiryType._all_fields_ = [('description', SharedContentChangeLinkExpiryType._description_validator)] -SharedContentChangeMemberRoleDetails._target_asset_index_validator = bv.UInt64() -SharedContentChangeMemberRoleDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentChangeMemberRoleDetails._new_sharing_permission_validator = bv.Nullable(bv.String()) -SharedContentChangeMemberRoleDetails._previous_sharing_permission_validator = bv.Nullable(bv.String()) -SharedContentChangeMemberRoleDetails._shared_folder_type_validator = bv.Nullable(bv.String()) +SharedContentChangeLinkPasswordDetails._all_field_names_ = set([]) +SharedContentChangeLinkPasswordDetails._all_fields_ = [] + +SharedContentChangeLinkPasswordType._description_validator = bv.String() +SharedContentChangeLinkPasswordType._all_field_names_ = set(['description']) +SharedContentChangeLinkPasswordType._all_fields_ = [('description', SharedContentChangeLinkPasswordType._description_validator)] + +SharedContentChangeMemberRoleDetails._previous_access_level_validator = bv.Nullable(sharing.AccessLevel_validator) +SharedContentChangeMemberRoleDetails._new_access_level_validator = sharing.AccessLevel_validator SharedContentChangeMemberRoleDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'new_sharing_permission', - 'previous_sharing_permission', - 'shared_folder_type', + 'previous_access_level', + 'new_access_level', ]) SharedContentChangeMemberRoleDetails._all_fields_ = [ - ('target_asset_index', SharedContentChangeMemberRoleDetails._target_asset_index_validator), - ('original_folder_name', SharedContentChangeMemberRoleDetails._original_folder_name_validator), - ('new_sharing_permission', SharedContentChangeMemberRoleDetails._new_sharing_permission_validator), - ('previous_sharing_permission', SharedContentChangeMemberRoleDetails._previous_sharing_permission_validator), - ('shared_folder_type', SharedContentChangeMemberRoleDetails._shared_folder_type_validator), + ('previous_access_level', SharedContentChangeMemberRoleDetails._previous_access_level_validator), + ('new_access_level', SharedContentChangeMemberRoleDetails._new_access_level_validator), ] -SharedContentChangeViewerInfoPolicyDetails._target_asset_index_validator = bv.UInt64() -SharedContentChangeViewerInfoPolicyDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentChangeViewerInfoPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) -SharedContentChangeViewerInfoPolicyDetails._new_value_validator = SharedContentViewerInfoPolicy_validator -SharedContentChangeViewerInfoPolicyDetails._previous_value_validator = bv.Nullable(SharedContentViewerInfoPolicy_validator) +SharedContentChangeMemberRoleType._description_validator = bv.String() +SharedContentChangeMemberRoleType._all_field_names_ = set(['description']) +SharedContentChangeMemberRoleType._all_fields_ = [('description', SharedContentChangeMemberRoleType._description_validator)] + +SharedContentChangeViewerInfoPolicyDetails._new_value_validator = sharing.ViewerInfoPolicy_validator +SharedContentChangeViewerInfoPolicyDetails._previous_value_validator = bv.Nullable(sharing.ViewerInfoPolicy_validator) SharedContentChangeViewerInfoPolicyDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', 'new_value', 'previous_value', ]) SharedContentChangeViewerInfoPolicyDetails._all_fields_ = [ - ('target_asset_index', SharedContentChangeViewerInfoPolicyDetails._target_asset_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_asset_index_validator = bv.UInt64() -SharedContentClaimInvitationDetails._original_folder_name_validator = bv.Nullable(bv.String()) +SharedContentChangeViewerInfoPolicyType._description_validator = bv.String() +SharedContentChangeViewerInfoPolicyType._all_field_names_ = set(['description']) +SharedContentChangeViewerInfoPolicyType._all_fields_ = [('description', SharedContentChangeViewerInfoPolicyType._description_validator)] + SharedContentClaimInvitationDetails._shared_content_link_validator = bv.Nullable(bv.String()) -SharedContentClaimInvitationDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_content_link', -]) -SharedContentClaimInvitationDetails._all_fields_ = [ - ('target_asset_index', SharedContentClaimInvitationDetails._target_asset_index_validator), - ('original_folder_name', SharedContentClaimInvitationDetails._original_folder_name_validator), - ('shared_content_link', SharedContentClaimInvitationDetails._shared_content_link_validator), -] +SharedContentClaimInvitationDetails._all_field_names_ = set(['shared_content_link']) +SharedContentClaimInvitationDetails._all_fields_ = [('shared_content_link', SharedContentClaimInvitationDetails._shared_content_link_validator)] + +SharedContentClaimInvitationType._description_validator = bv.String() +SharedContentClaimInvitationType._all_field_names_ = set(['description']) +SharedContentClaimInvitationType._all_fields_ = [('description', SharedContentClaimInvitationType._description_validator)] SharedContentCopyDetails._shared_content_link_validator = bv.String() -SharedContentCopyDetails._sharing_permission_validator = bv.Nullable(bv.String()) -SharedContentCopyDetails._target_asset_index_validator = bv.UInt64() -SharedContentCopyDetails._relocate_action_details_validator = RelocateAssetReferencesLogInfo_validator +SharedContentCopyDetails._shared_content_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedContentCopyDetails._shared_content_access_level_validator = sharing.AccessLevel_validator +SharedContentCopyDetails._destination_path_validator = FilePath_validator SharedContentCopyDetails._all_field_names_ = set([ 'shared_content_link', - 'sharing_permission', - 'target_asset_index', - 'relocate_action_details', + 'shared_content_owner', + 'shared_content_access_level', + 'destination_path', ]) SharedContentCopyDetails._all_fields_ = [ ('shared_content_link', SharedContentCopyDetails._shared_content_link_validator), - ('sharing_permission', SharedContentCopyDetails._sharing_permission_validator), - ('target_asset_index', SharedContentCopyDetails._target_asset_index_validator), - ('relocate_action_details', SharedContentCopyDetails._relocate_action_details_validator), + ('shared_content_owner', SharedContentCopyDetails._shared_content_owner_validator), + ('shared_content_access_level', SharedContentCopyDetails._shared_content_access_level_validator), + ('destination_path', SharedContentCopyDetails._destination_path_validator), ] +SharedContentCopyType._description_validator = bv.String() +SharedContentCopyType._all_field_names_ = set(['description']) +SharedContentCopyType._all_fields_ = [('description', SharedContentCopyType._description_validator)] + SharedContentDownloadDetails._shared_content_link_validator = bv.String() -SharedContentDownloadDetails._sharing_permission_validator = bv.Nullable(bv.String()) -SharedContentDownloadDetails._target_asset_index_validator = bv.UInt64() +SharedContentDownloadDetails._shared_content_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedContentDownloadDetails._shared_content_access_level_validator = sharing.AccessLevel_validator SharedContentDownloadDetails._all_field_names_ = set([ 'shared_content_link', - 'sharing_permission', - 'target_asset_index', + 'shared_content_owner', + 'shared_content_access_level', ]) SharedContentDownloadDetails._all_fields_ = [ ('shared_content_link', SharedContentDownloadDetails._shared_content_link_validator), - ('sharing_permission', SharedContentDownloadDetails._sharing_permission_validator), - ('target_asset_index', SharedContentDownloadDetails._target_asset_index_validator), + ('shared_content_owner', SharedContentDownloadDetails._shared_content_owner_validator), + ('shared_content_access_level', SharedContentDownloadDetails._shared_content_access_level_validator), ] -SharedContentDownloadsPolicy._disabled_validator = bv.Void() -SharedContentDownloadsPolicy._enabled_validator = bv.Void() -SharedContentDownloadsPolicy._other_validator = bv.Void() -SharedContentDownloadsPolicy._tagmap = { - 'disabled': SharedContentDownloadsPolicy._disabled_validator, - 'enabled': SharedContentDownloadsPolicy._enabled_validator, - 'other': SharedContentDownloadsPolicy._other_validator, -} +SharedContentDownloadType._description_validator = bv.String() +SharedContentDownloadType._all_field_names_ = set(['description']) +SharedContentDownloadType._all_fields_ = [('description', SharedContentDownloadType._description_validator)] -SharedContentDownloadsPolicy.disabled = SharedContentDownloadsPolicy('disabled') -SharedContentDownloadsPolicy.enabled = SharedContentDownloadsPolicy('enabled') -SharedContentDownloadsPolicy.other = SharedContentDownloadsPolicy('other') +SharedContentRelinquishMembershipDetails._all_field_names_ = set([]) +SharedContentRelinquishMembershipDetails._all_fields_ = [] -SharedContentRelinquishMembershipDetails._target_asset_index_validator = bv.UInt64() -SharedContentRelinquishMembershipDetails._original_folder_name_validator = bv.String() -SharedContentRelinquishMembershipDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', -]) -SharedContentRelinquishMembershipDetails._all_fields_ = [ - ('target_asset_index', SharedContentRelinquishMembershipDetails._target_asset_index_validator), - ('original_folder_name', SharedContentRelinquishMembershipDetails._original_folder_name_validator), -] +SharedContentRelinquishMembershipType._description_validator = bv.String() +SharedContentRelinquishMembershipType._all_field_names_ = set(['description']) +SharedContentRelinquishMembershipType._all_fields_ = [('description', SharedContentRelinquishMembershipType._description_validator)] -SharedContentRemoveInviteeDetails._target_asset_index_validator = bv.UInt64() -SharedContentRemoveInviteeDetails._original_folder_name_validator = bv.String() -SharedContentRemoveInviteeDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', -]) -SharedContentRemoveInviteeDetails._all_fields_ = [ - ('target_asset_index', SharedContentRemoveInviteeDetails._target_asset_index_validator), - ('original_folder_name', SharedContentRemoveInviteeDetails._original_folder_name_validator), -] +SharedContentRemoveInviteesDetails._invitees_validator = bv.List(EmailAddress_validator) +SharedContentRemoveInviteesDetails._all_field_names_ = set(['invitees']) +SharedContentRemoveInviteesDetails._all_fields_ = [('invitees', SharedContentRemoveInviteesDetails._invitees_validator)] -SharedContentRemoveLinkExpiryDetails._target_asset_index_validator = bv.UInt64() -SharedContentRemoveLinkExpiryDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentRemoveLinkExpiryDetails._shared_folder_type_validator = bv.Nullable(bv.String()) -SharedContentRemoveLinkExpiryDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', -]) -SharedContentRemoveLinkExpiryDetails._all_fields_ = [ - ('target_asset_index', SharedContentRemoveLinkExpiryDetails._target_asset_index_validator), - ('original_folder_name', SharedContentRemoveLinkExpiryDetails._original_folder_name_validator), - ('shared_folder_type', SharedContentRemoveLinkExpiryDetails._shared_folder_type_validator), -] +SharedContentRemoveInviteesType._description_validator = bv.String() +SharedContentRemoveInviteesType._all_field_names_ = set(['description']) +SharedContentRemoveInviteesType._all_fields_ = [('description', SharedContentRemoveInviteesType._description_validator)] -SharedContentRemoveLinkPasswordDetails._target_asset_index_validator = bv.UInt64() -SharedContentRemoveLinkPasswordDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentRemoveLinkPasswordDetails._shared_folder_type_validator = bv.Nullable(bv.String()) -SharedContentRemoveLinkPasswordDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', -]) -SharedContentRemoveLinkPasswordDetails._all_fields_ = [ - ('target_asset_index', SharedContentRemoveLinkPasswordDetails._target_asset_index_validator), - ('original_folder_name', SharedContentRemoveLinkPasswordDetails._original_folder_name_validator), - ('shared_folder_type', SharedContentRemoveLinkPasswordDetails._shared_folder_type_validator), -] +SharedContentRemoveLinkExpiryDetails._previous_value_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedContentRemoveLinkExpiryDetails._all_field_names_ = set(['previous_value']) +SharedContentRemoveLinkExpiryDetails._all_fields_ = [('previous_value', SharedContentRemoveLinkExpiryDetails._previous_value_validator)] -SharedContentRemoveMemberDetails._target_asset_index_validator = bv.UInt64() -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_asset_index', - 'original_folder_name', - 'sharing_permission', - 'shared_folder_type', -]) -SharedContentRemoveMemberDetails._all_fields_ = [ - ('target_asset_index', SharedContentRemoveMemberDetails._target_asset_index_validator), - ('original_folder_name', SharedContentRemoveMemberDetails._original_folder_name_validator), - ('sharing_permission', SharedContentRemoveMemberDetails._sharing_permission_validator), - ('shared_folder_type', SharedContentRemoveMemberDetails._shared_folder_type_validator), -] +SharedContentRemoveLinkExpiryType._description_validator = bv.String() +SharedContentRemoveLinkExpiryType._all_field_names_ = set(['description']) +SharedContentRemoveLinkExpiryType._all_fields_ = [('description', SharedContentRemoveLinkExpiryType._description_validator)] + +SharedContentRemoveLinkPasswordDetails._all_field_names_ = set([]) +SharedContentRemoveLinkPasswordDetails._all_fields_ = [] + +SharedContentRemoveLinkPasswordType._description_validator = bv.String() +SharedContentRemoveLinkPasswordType._all_field_names_ = set(['description']) +SharedContentRemoveLinkPasswordType._all_fields_ = [('description', SharedContentRemoveLinkPasswordType._description_validator)] + +SharedContentRemoveMemberDetails._shared_content_access_level_validator = bv.Nullable(sharing.AccessLevel_validator) +SharedContentRemoveMemberDetails._all_field_names_ = set(['shared_content_access_level']) +SharedContentRemoveMemberDetails._all_fields_ = [('shared_content_access_level', SharedContentRemoveMemberDetails._shared_content_access_level_validator)] + +SharedContentRemoveMemberType._description_validator = bv.String() +SharedContentRemoveMemberType._all_field_names_ = set(['description']) +SharedContentRemoveMemberType._all_fields_ = [('description', SharedContentRemoveMemberType._description_validator)] -SharedContentRequestAccessDetails._target_asset_index_validator = bv.UInt64() -SharedContentRequestAccessDetails._original_folder_name_validator = bv.Nullable(bv.String()) SharedContentRequestAccessDetails._shared_content_link_validator = bv.Nullable(bv.String()) -SharedContentRequestAccessDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_content_link', -]) -SharedContentRequestAccessDetails._all_fields_ = [ - ('target_asset_index', SharedContentRequestAccessDetails._target_asset_index_validator), - ('original_folder_name', SharedContentRequestAccessDetails._original_folder_name_validator), - ('shared_content_link', SharedContentRequestAccessDetails._shared_content_link_validator), -] +SharedContentRequestAccessDetails._all_field_names_ = set(['shared_content_link']) +SharedContentRequestAccessDetails._all_fields_ = [('shared_content_link', SharedContentRequestAccessDetails._shared_content_link_validator)] -SharedContentUnshareDetails._target_asset_index_validator = bv.UInt64() -SharedContentUnshareDetails._original_folder_name_validator = bv.Nullable(bv.String()) -SharedContentUnshareDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', -]) -SharedContentUnshareDetails._all_fields_ = [ - ('target_asset_index', SharedContentUnshareDetails._target_asset_index_validator), - ('original_folder_name', SharedContentUnshareDetails._original_folder_name_validator), -] +SharedContentRequestAccessType._description_validator = bv.String() +SharedContentRequestAccessType._all_field_names_ = set(['description']) +SharedContentRequestAccessType._all_fields_ = [('description', SharedContentRequestAccessType._description_validator)] + +SharedContentUnshareDetails._all_field_names_ = set([]) +SharedContentUnshareDetails._all_fields_ = [] + +SharedContentUnshareType._description_validator = bv.String() +SharedContentUnshareType._all_field_names_ = set(['description']) +SharedContentUnshareType._all_fields_ = [('description', SharedContentUnshareType._description_validator)] SharedContentViewDetails._shared_content_link_validator = bv.String() -SharedContentViewDetails._sharing_permission_validator = bv.Nullable(bv.String()) -SharedContentViewDetails._target_asset_index_validator = bv.UInt64() +SharedContentViewDetails._shared_content_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedContentViewDetails._shared_content_access_level_validator = sharing.AccessLevel_validator SharedContentViewDetails._all_field_names_ = set([ 'shared_content_link', - 'sharing_permission', - 'target_asset_index', + 'shared_content_owner', + 'shared_content_access_level', ]) SharedContentViewDetails._all_fields_ = [ ('shared_content_link', SharedContentViewDetails._shared_content_link_validator), - ('sharing_permission', SharedContentViewDetails._sharing_permission_validator), - ('target_asset_index', SharedContentViewDetails._target_asset_index_validator), + ('shared_content_owner', SharedContentViewDetails._shared_content_owner_validator), + ('shared_content_access_level', SharedContentViewDetails._shared_content_access_level_validator), ] -SharedContentViewerInfoPolicy._disabled_validator = bv.Void() -SharedContentViewerInfoPolicy._enabled_validator = bv.Void() -SharedContentViewerInfoPolicy._other_validator = bv.Void() -SharedContentViewerInfoPolicy._tagmap = { - 'disabled': SharedContentViewerInfoPolicy._disabled_validator, - 'enabled': SharedContentViewerInfoPolicy._enabled_validator, - 'other': SharedContentViewerInfoPolicy._other_validator, -} +SharedContentViewType._description_validator = bv.String() +SharedContentViewType._all_field_names_ = set(['description']) +SharedContentViewType._all_fields_ = [('description', SharedContentViewType._description_validator)] -SharedContentViewerInfoPolicy.disabled = SharedContentViewerInfoPolicy('disabled') -SharedContentViewerInfoPolicy.enabled = SharedContentViewerInfoPolicy('enabled') -SharedContentViewerInfoPolicy.other = SharedContentViewerInfoPolicy('other') - -SharedFolderChangeConfidentialityDetails._target_asset_index_validator = bv.UInt64() -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_asset_index', - 'original_folder_name', - 'new_value', - 'previous_value', -]) -SharedFolderChangeConfidentialityDetails._all_fields_ = [ - ('target_asset_index', SharedFolderChangeConfidentialityDetails._target_asset_index_validator), - ('original_folder_name', SharedFolderChangeConfidentialityDetails._original_folder_name_validator), - ('new_value', SharedFolderChangeConfidentialityDetails._new_value_validator), - ('previous_value', SharedFolderChangeConfidentialityDetails._previous_value_validator), -] - -SharedFolderChangeLinkPolicyDetails._target_asset_index_validator = bv.UInt64() -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._new_value_validator = sharing.SharedLinkPolicy_validator +SharedFolderChangeLinkPolicyDetails._previous_value_validator = bv.Nullable(sharing.SharedLinkPolicy_validator) SharedFolderChangeLinkPolicyDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', 'new_value', 'previous_value', ]) SharedFolderChangeLinkPolicyDetails._all_fields_ = [ - ('target_asset_index', SharedFolderChangeLinkPolicyDetails._target_asset_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_asset_index_validator = bv.UInt64() -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_asset_index', - 'original_folder_name', - 'shared_folder_type', +SharedFolderChangeLinkPolicyType._description_validator = bv.String() +SharedFolderChangeLinkPolicyType._all_field_names_ = set(['description']) +SharedFolderChangeLinkPolicyType._all_fields_ = [('description', SharedFolderChangeLinkPolicyType._description_validator)] + +SharedFolderChangeMembersInheritancePolicyDetails._new_value_validator = SharedFolderMembersInheritancePolicy_validator +SharedFolderChangeMembersInheritancePolicyDetails._previous_value_validator = bv.Nullable(SharedFolderMembersInheritancePolicy_validator) +SharedFolderChangeMembersInheritancePolicyDetails._all_field_names_ = set([ 'new_value', 'previous_value', ]) -SharedFolderChangeMemberManagementPolicyDetails._all_fields_ = [ - ('target_asset_index', SharedFolderChangeMemberManagementPolicyDetails._target_asset_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), +SharedFolderChangeMembersInheritancePolicyDetails._all_fields_ = [ + ('new_value', SharedFolderChangeMembersInheritancePolicyDetails._new_value_validator), + ('previous_value', SharedFolderChangeMembersInheritancePolicyDetails._previous_value_validator), ] -SharedFolderChangeMemberPolicyDetails._target_asset_index_validator = bv.UInt64() -SharedFolderChangeMemberPolicyDetails._original_folder_name_validator = bv.String() -SharedFolderChangeMemberPolicyDetails._shared_folder_type_validator = bv.Nullable(bv.String()) -SharedFolderChangeMemberPolicyDetails._new_value_validator = SharedFolderMemberPolicy_validator -SharedFolderChangeMemberPolicyDetails._previous_value_validator = bv.Nullable(SharedFolderMemberPolicy_validator) -SharedFolderChangeMemberPolicyDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', - 'shared_folder_type', +SharedFolderChangeMembersInheritancePolicyType._description_validator = bv.String() +SharedFolderChangeMembersInheritancePolicyType._all_field_names_ = set(['description']) +SharedFolderChangeMembersInheritancePolicyType._all_fields_ = [('description', SharedFolderChangeMembersInheritancePolicyType._description_validator)] + +SharedFolderChangeMembersManagementPolicyDetails._new_value_validator = sharing.AclUpdatePolicy_validator +SharedFolderChangeMembersManagementPolicyDetails._previous_value_validator = bv.Nullable(sharing.AclUpdatePolicy_validator) +SharedFolderChangeMembersManagementPolicyDetails._all_field_names_ = set([ 'new_value', 'previous_value', ]) -SharedFolderChangeMemberPolicyDetails._all_fields_ = [ - ('target_asset_index', SharedFolderChangeMemberPolicyDetails._target_asset_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), +SharedFolderChangeMembersManagementPolicyDetails._all_fields_ = [ + ('new_value', SharedFolderChangeMembersManagementPolicyDetails._new_value_validator), + ('previous_value', SharedFolderChangeMembersManagementPolicyDetails._previous_value_validator), ] -SharedFolderCreateDetails._target_asset_index_validator = bv.UInt64() -SharedFolderCreateDetails._parent_ns_id_validator = bv.Nullable(common.NamespaceId_validator) -SharedFolderCreateDetails._all_field_names_ = set([ - 'target_asset_index', - 'parent_ns_id', +SharedFolderChangeMembersManagementPolicyType._description_validator = bv.String() +SharedFolderChangeMembersManagementPolicyType._all_field_names_ = set(['description']) +SharedFolderChangeMembersManagementPolicyType._all_fields_ = [('description', SharedFolderChangeMembersManagementPolicyType._description_validator)] + +SharedFolderChangeMembersPolicyDetails._new_value_validator = sharing.MemberPolicy_validator +SharedFolderChangeMembersPolicyDetails._previous_value_validator = bv.Nullable(sharing.MemberPolicy_validator) +SharedFolderChangeMembersPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', ]) -SharedFolderCreateDetails._all_fields_ = [ - ('target_asset_index', SharedFolderCreateDetails._target_asset_index_validator), - ('parent_ns_id', SharedFolderCreateDetails._parent_ns_id_validator), +SharedFolderChangeMembersPolicyDetails._all_fields_ = [ + ('new_value', SharedFolderChangeMembersPolicyDetails._new_value_validator), + ('previous_value', SharedFolderChangeMembersPolicyDetails._previous_value_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, +SharedFolderChangeMembersPolicyType._description_validator = bv.String() +SharedFolderChangeMembersPolicyType._all_field_names_ = set(['description']) +SharedFolderChangeMembersPolicyType._all_fields_ = [('description', SharedFolderChangeMembersPolicyType._description_validator)] + +SharedFolderCreateDetails._target_ns_id_validator = bv.Nullable(NamespaceId_validator) +SharedFolderCreateDetails._all_field_names_ = set(['target_ns_id']) +SharedFolderCreateDetails._all_fields_ = [('target_ns_id', SharedFolderCreateDetails._target_ns_id_validator)] + +SharedFolderCreateType._description_validator = bv.String() +SharedFolderCreateType._all_field_names_ = set(['description']) +SharedFolderCreateType._all_fields_ = [('description', SharedFolderCreateType._description_validator)] + +SharedFolderDeclineInvitationDetails._all_field_names_ = set([]) +SharedFolderDeclineInvitationDetails._all_fields_ = [] + +SharedFolderDeclineInvitationType._description_validator = bv.String() +SharedFolderDeclineInvitationType._all_field_names_ = set(['description']) +SharedFolderDeclineInvitationType._all_fields_ = [('description', SharedFolderDeclineInvitationType._description_validator)] + +SharedFolderMembersInheritancePolicy._inherit_members_validator = bv.Void() +SharedFolderMembersInheritancePolicy._dont_inherit_members_validator = bv.Void() +SharedFolderMembersInheritancePolicy._other_validator = bv.Void() +SharedFolderMembersInheritancePolicy._tagmap = { + 'inherit_members': SharedFolderMembersInheritancePolicy._inherit_members_validator, + 'dont_inherit_members': SharedFolderMembersInheritancePolicy._dont_inherit_members_validator, + 'other': SharedFolderMembersInheritancePolicy._other_validator, } -SharedFolderLinkPolicy.members_only = SharedFolderLinkPolicy('members_only') -SharedFolderLinkPolicy.members_and_team = SharedFolderLinkPolicy('members_and_team') -SharedFolderLinkPolicy.anyone = SharedFolderLinkPolicy('anyone') -SharedFolderLinkPolicy.other = SharedFolderLinkPolicy('other') +SharedFolderMembersInheritancePolicy.inherit_members = SharedFolderMembersInheritancePolicy('inherit_members') +SharedFolderMembersInheritancePolicy.dont_inherit_members = SharedFolderMembersInheritancePolicy('dont_inherit_members') +SharedFolderMembersInheritancePolicy.other = SharedFolderMembersInheritancePolicy('other') -SharedFolderMemberPolicy._team_only_validator = bv.Void() -SharedFolderMemberPolicy._anyone_validator = bv.Void() -SharedFolderMemberPolicy._other_validator = bv.Void() -SharedFolderMemberPolicy._tagmap = { - 'team_only': SharedFolderMemberPolicy._team_only_validator, - 'anyone': SharedFolderMemberPolicy._anyone_validator, - 'other': SharedFolderMemberPolicy._other_validator, -} +SharedFolderMountDetails._all_field_names_ = set([]) +SharedFolderMountDetails._all_fields_ = [] -SharedFolderMemberPolicy.team_only = SharedFolderMemberPolicy('team_only') -SharedFolderMemberPolicy.anyone = SharedFolderMemberPolicy('anyone') -SharedFolderMemberPolicy.other = SharedFolderMemberPolicy('other') +SharedFolderMountType._description_validator = bv.String() +SharedFolderMountType._all_field_names_ = set(['description']) +SharedFolderMountType._all_fields_ = [('description', SharedFolderMountType._description_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_asset_index_validator = bv.UInt64() -SharedFolderMountDetails._original_folder_name_validator = bv.String() -SharedFolderMountDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', +SharedFolderNestDetails._previous_parent_ns_id_validator = bv.Nullable(NamespaceId_validator) +SharedFolderNestDetails._new_parent_ns_id_validator = bv.Nullable(NamespaceId_validator) +SharedFolderNestDetails._previous_ns_path_validator = bv.Nullable(FilePath_validator) +SharedFolderNestDetails._new_ns_path_validator = bv.Nullable(FilePath_validator) +SharedFolderNestDetails._all_field_names_ = set([ + 'previous_parent_ns_id', + 'new_parent_ns_id', + 'previous_ns_path', + 'new_ns_path', ]) -SharedFolderMountDetails._all_fields_ = [ - ('target_asset_index', SharedFolderMountDetails._target_asset_index_validator), - ('original_folder_name', SharedFolderMountDetails._original_folder_name_validator), +SharedFolderNestDetails._all_fields_ = [ + ('previous_parent_ns_id', SharedFolderNestDetails._previous_parent_ns_id_validator), + ('new_parent_ns_id', SharedFolderNestDetails._new_parent_ns_id_validator), + ('previous_ns_path', SharedFolderNestDetails._previous_ns_path_validator), + ('new_ns_path', SharedFolderNestDetails._new_ns_path_validator), ] -SharedFolderTransferOwnershipDetails._target_asset_index_validator = bv.UInt64() -SharedFolderTransferOwnershipDetails._original_folder_name_validator = bv.String() +SharedFolderNestType._description_validator = bv.String() +SharedFolderNestType._all_field_names_ = set(['description']) +SharedFolderNestType._all_fields_ = [('description', SharedFolderNestType._description_validator)] + +SharedFolderTransferOwnershipDetails._previous_owner_email_validator = bv.Nullable(EmailAddress_validator) +SharedFolderTransferOwnershipDetails._new_owner_email_validator = EmailAddress_validator SharedFolderTransferOwnershipDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', + 'previous_owner_email', + 'new_owner_email', ]) SharedFolderTransferOwnershipDetails._all_fields_ = [ - ('target_asset_index', SharedFolderTransferOwnershipDetails._target_asset_index_validator), - ('original_folder_name', SharedFolderTransferOwnershipDetails._original_folder_name_validator), + ('previous_owner_email', SharedFolderTransferOwnershipDetails._previous_owner_email_validator), + ('new_owner_email', SharedFolderTransferOwnershipDetails._new_owner_email_validator), ] -SharedFolderUnmountDetails._target_asset_index_validator = bv.UInt64() -SharedFolderUnmountDetails._original_folder_name_validator = bv.String() -SharedFolderUnmountDetails._all_field_names_ = set([ - 'target_asset_index', - 'original_folder_name', +SharedFolderTransferOwnershipType._description_validator = bv.String() +SharedFolderTransferOwnershipType._all_field_names_ = set(['description']) +SharedFolderTransferOwnershipType._all_fields_ = [('description', SharedFolderTransferOwnershipType._description_validator)] + +SharedFolderUnmountDetails._all_field_names_ = set([]) +SharedFolderUnmountDetails._all_fields_ = [] + +SharedFolderUnmountType._description_validator = bv.String() +SharedFolderUnmountType._all_field_names_ = set(['description']) +SharedFolderUnmountType._all_fields_ = [('description', SharedFolderUnmountType._description_validator)] + +SharedLinkAccessLevel._none_validator = bv.Void() +SharedLinkAccessLevel._reader_validator = bv.Void() +SharedLinkAccessLevel._writer_validator = bv.Void() +SharedLinkAccessLevel._other_validator = bv.Void() +SharedLinkAccessLevel._tagmap = { + 'none': SharedLinkAccessLevel._none_validator, + 'reader': SharedLinkAccessLevel._reader_validator, + 'writer': SharedLinkAccessLevel._writer_validator, + 'other': SharedLinkAccessLevel._other_validator, +} + +SharedLinkAccessLevel.none = SharedLinkAccessLevel('none') +SharedLinkAccessLevel.reader = SharedLinkAccessLevel('reader') +SharedLinkAccessLevel.writer = SharedLinkAccessLevel('writer') +SharedLinkAccessLevel.other = SharedLinkAccessLevel('other') + +SharedLinkAddExpiryDetails._new_value_validator = common.DropboxTimestamp_validator +SharedLinkAddExpiryDetails._all_field_names_ = set(['new_value']) +SharedLinkAddExpiryDetails._all_fields_ = [('new_value', SharedLinkAddExpiryDetails._new_value_validator)] + +SharedLinkAddExpiryType._description_validator = bv.String() +SharedLinkAddExpiryType._all_field_names_ = set(['description']) +SharedLinkAddExpiryType._all_fields_ = [('description', SharedLinkAddExpiryType._description_validator)] + +SharedLinkChangeExpiryDetails._new_value_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedLinkChangeExpiryDetails._previous_value_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedLinkChangeExpiryDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', ]) -SharedFolderUnmountDetails._all_fields_ = [ - ('target_asset_index', SharedFolderUnmountDetails._target_asset_index_validator), - ('original_folder_name', SharedFolderUnmountDetails._original_folder_name_validator), +SharedLinkChangeExpiryDetails._all_fields_ = [ + ('new_value', SharedLinkChangeExpiryDetails._new_value_validator), + ('previous_value', SharedLinkChangeExpiryDetails._previous_value_validator), ] +SharedLinkChangeExpiryType._description_validator = bv.String() +SharedLinkChangeExpiryType._all_field_names_ = set(['description']) +SharedLinkChangeExpiryType._all_fields_ = [('description', SharedLinkChangeExpiryType._description_validator)] + +SharedLinkChangeVisibilityDetails._new_value_validator = SharedLinkVisibility_validator +SharedLinkChangeVisibilityDetails._previous_value_validator = bv.Nullable(SharedLinkVisibility_validator) +SharedLinkChangeVisibilityDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +SharedLinkChangeVisibilityDetails._all_fields_ = [ + ('new_value', SharedLinkChangeVisibilityDetails._new_value_validator), + ('previous_value', SharedLinkChangeVisibilityDetails._previous_value_validator), +] + +SharedLinkChangeVisibilityType._description_validator = bv.String() +SharedLinkChangeVisibilityType._all_field_names_ = set(['description']) +SharedLinkChangeVisibilityType._all_fields_ = [('description', SharedLinkChangeVisibilityType._description_validator)] + +SharedLinkCopyDetails._shared_link_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedLinkCopyDetails._all_field_names_ = set(['shared_link_owner']) +SharedLinkCopyDetails._all_fields_ = [('shared_link_owner', SharedLinkCopyDetails._shared_link_owner_validator)] + +SharedLinkCopyType._description_validator = bv.String() +SharedLinkCopyType._all_field_names_ = set(['description']) +SharedLinkCopyType._all_fields_ = [('description', SharedLinkCopyType._description_validator)] + +SharedLinkCreateDetails._shared_link_access_level_validator = bv.Nullable(SharedLinkAccessLevel_validator) +SharedLinkCreateDetails._all_field_names_ = set(['shared_link_access_level']) +SharedLinkCreateDetails._all_fields_ = [('shared_link_access_level', SharedLinkCreateDetails._shared_link_access_level_validator)] + +SharedLinkCreateType._description_validator = bv.String() +SharedLinkCreateType._all_field_names_ = set(['description']) +SharedLinkCreateType._all_fields_ = [('description', SharedLinkCreateType._description_validator)] + +SharedLinkDisableDetails._shared_link_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedLinkDisableDetails._all_field_names_ = set(['shared_link_owner']) +SharedLinkDisableDetails._all_fields_ = [('shared_link_owner', SharedLinkDisableDetails._shared_link_owner_validator)] + +SharedLinkDisableType._description_validator = bv.String() +SharedLinkDisableType._all_field_names_ = set(['description']) +SharedLinkDisableType._all_fields_ = [('description', SharedLinkDisableType._description_validator)] + +SharedLinkDownloadDetails._shared_link_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedLinkDownloadDetails._all_field_names_ = set(['shared_link_owner']) +SharedLinkDownloadDetails._all_fields_ = [('shared_link_owner', SharedLinkDownloadDetails._shared_link_owner_validator)] + +SharedLinkDownloadType._description_validator = bv.String() +SharedLinkDownloadType._all_field_names_ = set(['description']) +SharedLinkDownloadType._all_fields_ = [('description', SharedLinkDownloadType._description_validator)] + +SharedLinkRemoveExpiryDetails._previous_value_validator = bv.Nullable(common.DropboxTimestamp_validator) +SharedLinkRemoveExpiryDetails._all_field_names_ = set(['previous_value']) +SharedLinkRemoveExpiryDetails._all_fields_ = [('previous_value', SharedLinkRemoveExpiryDetails._previous_value_validator)] + +SharedLinkRemoveExpiryType._description_validator = bv.String() +SharedLinkRemoveExpiryType._all_field_names_ = set(['description']) +SharedLinkRemoveExpiryType._all_fields_ = [('description', SharedLinkRemoveExpiryType._description_validator)] + +SharedLinkShareDetails._shared_link_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedLinkShareDetails._external_users_validator = bv.Nullable(bv.List(ExternalUserLogInfo_validator)) +SharedLinkShareDetails._all_field_names_ = set([ + 'shared_link_owner', + 'external_users', +]) +SharedLinkShareDetails._all_fields_ = [ + ('shared_link_owner', SharedLinkShareDetails._shared_link_owner_validator), + ('external_users', SharedLinkShareDetails._external_users_validator), +] + +SharedLinkShareType._description_validator = bv.String() +SharedLinkShareType._all_field_names_ = set(['description']) +SharedLinkShareType._all_fields_ = [('description', SharedLinkShareType._description_validator)] + +SharedLinkViewDetails._shared_link_owner_validator = bv.Nullable(UserLogInfo_validator) +SharedLinkViewDetails._all_field_names_ = set(['shared_link_owner']) +SharedLinkViewDetails._all_fields_ = [('shared_link_owner', SharedLinkViewDetails._shared_link_owner_validator)] + +SharedLinkViewType._description_validator = bv.String() +SharedLinkViewType._all_field_names_ = set(['description']) +SharedLinkViewType._all_fields_ = [('description', SharedLinkViewType._description_validator)] + +SharedLinkVisibility._password_validator = bv.Void() +SharedLinkVisibility._public_validator = bv.Void() +SharedLinkVisibility._team_only_validator = bv.Void() +SharedLinkVisibility._other_validator = bv.Void() +SharedLinkVisibility._tagmap = { + 'password': SharedLinkVisibility._password_validator, + 'public': SharedLinkVisibility._public_validator, + 'team_only': SharedLinkVisibility._team_only_validator, + 'other': SharedLinkVisibility._other_validator, +} + +SharedLinkVisibility.password = SharedLinkVisibility('password') +SharedLinkVisibility.public = SharedLinkVisibility('public') +SharedLinkVisibility.team_only = SharedLinkVisibility('team_only') +SharedLinkVisibility.other = SharedLinkVisibility('other') + SharedNoteOpenedDetails._all_field_names_ = set([]) SharedNoteOpenedDetails._all_fields_ = [] +SharedNoteOpenedType._description_validator = bv.String() +SharedNoteOpenedType._all_field_names_ = set(['description']) +SharedNoteOpenedType._all_fields_ = [('description', SharedNoteOpenedType._description_validator)] + SharingChangeFolderJoinPolicyDetails._new_value_validator = SharingFolderJoinPolicy_validator SharingChangeFolderJoinPolicyDetails._previous_value_validator = bv.Nullable(SharingFolderJoinPolicy_validator) SharingChangeFolderJoinPolicyDetails._all_field_names_ = set([ @@ -41110,6 +77335,10 @@ SharingChangeFolderJoinPolicyDetails._all_fields_ = [ ('previous_value', SharingChangeFolderJoinPolicyDetails._previous_value_validator), ] +SharingChangeFolderJoinPolicyType._description_validator = bv.String() +SharingChangeFolderJoinPolicyType._all_field_names_ = set(['description']) +SharingChangeFolderJoinPolicyType._all_fields_ = [('description', SharingChangeFolderJoinPolicyType._description_validator)] + SharingChangeLinkPolicyDetails._new_value_validator = SharingLinkPolicy_validator SharingChangeLinkPolicyDetails._previous_value_validator = bv.Nullable(SharingLinkPolicy_validator) SharingChangeLinkPolicyDetails._all_field_names_ = set([ @@ -41121,6 +77350,10 @@ SharingChangeLinkPolicyDetails._all_fields_ = [ ('previous_value', SharingChangeLinkPolicyDetails._previous_value_validator), ] +SharingChangeLinkPolicyType._description_validator = bv.String() +SharingChangeLinkPolicyType._all_field_names_ = set(['description']) +SharingChangeLinkPolicyType._all_fields_ = [('description', SharingChangeLinkPolicyType._description_validator)] + SharingChangeMemberPolicyDetails._new_value_validator = SharingMemberPolicy_validator SharingChangeMemberPolicyDetails._previous_value_validator = bv.Nullable(SharingMemberPolicy_validator) SharingChangeMemberPolicyDetails._all_field_names_ = set([ @@ -41132,6 +77365,10 @@ SharingChangeMemberPolicyDetails._all_fields_ = [ ('previous_value', SharingChangeMemberPolicyDetails._previous_value_validator), ] +SharingChangeMemberPolicyType._description_validator = bv.String() +SharingChangeMemberPolicyType._all_field_names_ = set(['description']) +SharingChangeMemberPolicyType._all_fields_ = [('description', SharingChangeMemberPolicyType._description_validator)] + SharingFolderJoinPolicy._from_anyone_validator = bv.Void() SharingFolderJoinPolicy._from_team_only_validator = bv.Void() SharingFolderJoinPolicy._other_validator = bv.Void() @@ -41174,89 +77411,358 @@ SharingMemberPolicy.allow = SharingMemberPolicy('allow') SharingMemberPolicy.forbid = SharingMemberPolicy('forbid') SharingMemberPolicy.other = SharingMemberPolicy('other') -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_ = [] +ShmodelGroupShareType._description_validator = bv.String() +ShmodelGroupShareType._all_field_names_ = set(['description']) +ShmodelGroupShareType._all_fields_ = [('description', ShmodelGroupShareType._description_validator)] -ShmodelSetExpirationDetails._expiration_start_date_validator = bv.String() -ShmodelSetExpirationDetails._expiration_days_validator = bv.Int64() -ShmodelSetExpirationDetails._all_field_names_ = set([ - 'expiration_start_date', - 'expiration_days', +ShowcaseAccessGrantedDetails._event_uuid_validator = bv.String() +ShowcaseAccessGrantedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseAccessGrantedDetails._all_fields_ = [('event_uuid', ShowcaseAccessGrantedDetails._event_uuid_validator)] + +ShowcaseAccessGrantedType._description_validator = bv.String() +ShowcaseAccessGrantedType._all_field_names_ = set(['description']) +ShowcaseAccessGrantedType._all_fields_ = [('description', ShowcaseAccessGrantedType._description_validator)] + +ShowcaseAddMemberDetails._event_uuid_validator = bv.String() +ShowcaseAddMemberDetails._all_field_names_ = set(['event_uuid']) +ShowcaseAddMemberDetails._all_fields_ = [('event_uuid', ShowcaseAddMemberDetails._event_uuid_validator)] + +ShowcaseAddMemberType._description_validator = bv.String() +ShowcaseAddMemberType._all_field_names_ = set(['description']) +ShowcaseAddMemberType._all_fields_ = [('description', ShowcaseAddMemberType._description_validator)] + +ShowcaseArchivedDetails._event_uuid_validator = bv.String() +ShowcaseArchivedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseArchivedDetails._all_fields_ = [('event_uuid', ShowcaseArchivedDetails._event_uuid_validator)] + +ShowcaseArchivedType._description_validator = bv.String() +ShowcaseArchivedType._all_field_names_ = set(['description']) +ShowcaseArchivedType._all_fields_ = [('description', ShowcaseArchivedType._description_validator)] + +ShowcaseChangeDownloadPolicyDetails._new_value_validator = ShowcaseDownloadPolicy_validator +ShowcaseChangeDownloadPolicyDetails._previous_value_validator = ShowcaseDownloadPolicy_validator +ShowcaseChangeDownloadPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', ]) -ShmodelSetExpirationDetails._all_fields_ = [ - ('expiration_start_date', ShmodelSetExpirationDetails._expiration_start_date_validator), - ('expiration_days', ShmodelSetExpirationDetails._expiration_days_validator), +ShowcaseChangeDownloadPolicyDetails._all_fields_ = [ + ('new_value', ShowcaseChangeDownloadPolicyDetails._new_value_validator), + ('previous_value', ShowcaseChangeDownloadPolicyDetails._previous_value_validator), ] -ShmodelTeamCopyDetails._all_field_names_ = set([]) -ShmodelTeamCopyDetails._all_fields_ = [] +ShowcaseChangeDownloadPolicyType._description_validator = bv.String() +ShowcaseChangeDownloadPolicyType._all_field_names_ = set(['description']) +ShowcaseChangeDownloadPolicyType._all_fields_ = [('description', ShowcaseChangeDownloadPolicyType._description_validator)] -ShmodelTeamDownloadDetails._all_field_names_ = set([]) -ShmodelTeamDownloadDetails._all_fields_ = [] +ShowcaseChangeEnabledPolicyDetails._new_value_validator = ShowcaseEnabledPolicy_validator +ShowcaseChangeEnabledPolicyDetails._previous_value_validator = ShowcaseEnabledPolicy_validator +ShowcaseChangeEnabledPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +ShowcaseChangeEnabledPolicyDetails._all_fields_ = [ + ('new_value', ShowcaseChangeEnabledPolicyDetails._new_value_validator), + ('previous_value', ShowcaseChangeEnabledPolicyDetails._previous_value_validator), +] -ShmodelTeamShareDetails._all_field_names_ = set([]) -ShmodelTeamShareDetails._all_fields_ = [] +ShowcaseChangeEnabledPolicyType._description_validator = bv.String() +ShowcaseChangeEnabledPolicyType._all_field_names_ = set(['description']) +ShowcaseChangeEnabledPolicyType._all_fields_ = [('description', ShowcaseChangeEnabledPolicyType._description_validator)] -ShmodelTeamViewDetails._all_field_names_ = set([]) -ShmodelTeamViewDetails._all_fields_ = [] +ShowcaseChangeExternalSharingPolicyDetails._new_value_validator = ShowcaseExternalSharingPolicy_validator +ShowcaseChangeExternalSharingPolicyDetails._previous_value_validator = ShowcaseExternalSharingPolicy_validator +ShowcaseChangeExternalSharingPolicyDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +ShowcaseChangeExternalSharingPolicyDetails._all_fields_ = [ + ('new_value', ShowcaseChangeExternalSharingPolicyDetails._new_value_validator), + ('previous_value', ShowcaseChangeExternalSharingPolicyDetails._previous_value_validator), +] -ShmodelVisibilityPasswordDetails._all_field_names_ = set([]) -ShmodelVisibilityPasswordDetails._all_fields_ = [] +ShowcaseChangeExternalSharingPolicyType._description_validator = bv.String() +ShowcaseChangeExternalSharingPolicyType._all_field_names_ = set(['description']) +ShowcaseChangeExternalSharingPolicyType._all_fields_ = [('description', ShowcaseChangeExternalSharingPolicyType._description_validator)] -ShmodelVisibilityPublicDetails._all_field_names_ = set([]) -ShmodelVisibilityPublicDetails._all_fields_ = [] +ShowcaseCreatedDetails._event_uuid_validator = bv.String() +ShowcaseCreatedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseCreatedDetails._all_fields_ = [('event_uuid', ShowcaseCreatedDetails._event_uuid_validator)] -ShmodelVisibilityTeamOnlyDetails._all_field_names_ = set([]) -ShmodelVisibilityTeamOnlyDetails._all_fields_ = [] +ShowcaseCreatedType._description_validator = bv.String() +ShowcaseCreatedType._all_field_names_ = set(['description']) +ShowcaseCreatedType._all_fields_ = [('description', ShowcaseCreatedType._description_validator)] + +ShowcaseDeleteCommentDetails._event_uuid_validator = bv.String() +ShowcaseDeleteCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +ShowcaseDeleteCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +ShowcaseDeleteCommentDetails._all_fields_ = [ + ('event_uuid', ShowcaseDeleteCommentDetails._event_uuid_validator), + ('comment_text', ShowcaseDeleteCommentDetails._comment_text_validator), +] + +ShowcaseDeleteCommentType._description_validator = bv.String() +ShowcaseDeleteCommentType._all_field_names_ = set(['description']) +ShowcaseDeleteCommentType._all_fields_ = [('description', ShowcaseDeleteCommentType._description_validator)] + +ShowcaseDocumentLogInfo._showcase_id_validator = bv.String() +ShowcaseDocumentLogInfo._showcase_title_validator = bv.String() +ShowcaseDocumentLogInfo._all_field_names_ = set([ + 'showcase_id', + 'showcase_title', +]) +ShowcaseDocumentLogInfo._all_fields_ = [ + ('showcase_id', ShowcaseDocumentLogInfo._showcase_id_validator), + ('showcase_title', ShowcaseDocumentLogInfo._showcase_title_validator), +] + +ShowcaseDownloadPolicy._disabled_validator = bv.Void() +ShowcaseDownloadPolicy._enabled_validator = bv.Void() +ShowcaseDownloadPolicy._other_validator = bv.Void() +ShowcaseDownloadPolicy._tagmap = { + 'disabled': ShowcaseDownloadPolicy._disabled_validator, + 'enabled': ShowcaseDownloadPolicy._enabled_validator, + 'other': ShowcaseDownloadPolicy._other_validator, +} + +ShowcaseDownloadPolicy.disabled = ShowcaseDownloadPolicy('disabled') +ShowcaseDownloadPolicy.enabled = ShowcaseDownloadPolicy('enabled') +ShowcaseDownloadPolicy.other = ShowcaseDownloadPolicy('other') + +ShowcaseEditCommentDetails._event_uuid_validator = bv.String() +ShowcaseEditCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +ShowcaseEditCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +ShowcaseEditCommentDetails._all_fields_ = [ + ('event_uuid', ShowcaseEditCommentDetails._event_uuid_validator), + ('comment_text', ShowcaseEditCommentDetails._comment_text_validator), +] + +ShowcaseEditCommentType._description_validator = bv.String() +ShowcaseEditCommentType._all_field_names_ = set(['description']) +ShowcaseEditCommentType._all_fields_ = [('description', ShowcaseEditCommentType._description_validator)] + +ShowcaseEditedDetails._event_uuid_validator = bv.String() +ShowcaseEditedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseEditedDetails._all_fields_ = [('event_uuid', ShowcaseEditedDetails._event_uuid_validator)] + +ShowcaseEditedType._description_validator = bv.String() +ShowcaseEditedType._all_field_names_ = set(['description']) +ShowcaseEditedType._all_fields_ = [('description', ShowcaseEditedType._description_validator)] + +ShowcaseEnabledPolicy._disabled_validator = bv.Void() +ShowcaseEnabledPolicy._enabled_validator = bv.Void() +ShowcaseEnabledPolicy._other_validator = bv.Void() +ShowcaseEnabledPolicy._tagmap = { + 'disabled': ShowcaseEnabledPolicy._disabled_validator, + 'enabled': ShowcaseEnabledPolicy._enabled_validator, + 'other': ShowcaseEnabledPolicy._other_validator, +} + +ShowcaseEnabledPolicy.disabled = ShowcaseEnabledPolicy('disabled') +ShowcaseEnabledPolicy.enabled = ShowcaseEnabledPolicy('enabled') +ShowcaseEnabledPolicy.other = ShowcaseEnabledPolicy('other') + +ShowcaseExternalSharingPolicy._disabled_validator = bv.Void() +ShowcaseExternalSharingPolicy._enabled_validator = bv.Void() +ShowcaseExternalSharingPolicy._other_validator = bv.Void() +ShowcaseExternalSharingPolicy._tagmap = { + 'disabled': ShowcaseExternalSharingPolicy._disabled_validator, + 'enabled': ShowcaseExternalSharingPolicy._enabled_validator, + 'other': ShowcaseExternalSharingPolicy._other_validator, +} + +ShowcaseExternalSharingPolicy.disabled = ShowcaseExternalSharingPolicy('disabled') +ShowcaseExternalSharingPolicy.enabled = ShowcaseExternalSharingPolicy('enabled') +ShowcaseExternalSharingPolicy.other = ShowcaseExternalSharingPolicy('other') + +ShowcaseFileAddedDetails._event_uuid_validator = bv.String() +ShowcaseFileAddedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseFileAddedDetails._all_fields_ = [('event_uuid', ShowcaseFileAddedDetails._event_uuid_validator)] + +ShowcaseFileAddedType._description_validator = bv.String() +ShowcaseFileAddedType._all_field_names_ = set(['description']) +ShowcaseFileAddedType._all_fields_ = [('description', ShowcaseFileAddedType._description_validator)] + +ShowcaseFileDownloadDetails._event_uuid_validator = bv.String() +ShowcaseFileDownloadDetails._download_type_validator = bv.String() +ShowcaseFileDownloadDetails._all_field_names_ = set([ + 'event_uuid', + 'download_type', +]) +ShowcaseFileDownloadDetails._all_fields_ = [ + ('event_uuid', ShowcaseFileDownloadDetails._event_uuid_validator), + ('download_type', ShowcaseFileDownloadDetails._download_type_validator), +] + +ShowcaseFileDownloadType._description_validator = bv.String() +ShowcaseFileDownloadType._all_field_names_ = set(['description']) +ShowcaseFileDownloadType._all_fields_ = [('description', ShowcaseFileDownloadType._description_validator)] + +ShowcaseFileRemovedDetails._event_uuid_validator = bv.String() +ShowcaseFileRemovedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseFileRemovedDetails._all_fields_ = [('event_uuid', ShowcaseFileRemovedDetails._event_uuid_validator)] + +ShowcaseFileRemovedType._description_validator = bv.String() +ShowcaseFileRemovedType._all_field_names_ = set(['description']) +ShowcaseFileRemovedType._all_fields_ = [('description', ShowcaseFileRemovedType._description_validator)] + +ShowcaseFileViewDetails._event_uuid_validator = bv.String() +ShowcaseFileViewDetails._all_field_names_ = set(['event_uuid']) +ShowcaseFileViewDetails._all_fields_ = [('event_uuid', ShowcaseFileViewDetails._event_uuid_validator)] + +ShowcaseFileViewType._description_validator = bv.String() +ShowcaseFileViewType._all_field_names_ = set(['description']) +ShowcaseFileViewType._all_fields_ = [('description', ShowcaseFileViewType._description_validator)] + +ShowcasePermanentlyDeletedDetails._event_uuid_validator = bv.String() +ShowcasePermanentlyDeletedDetails._all_field_names_ = set(['event_uuid']) +ShowcasePermanentlyDeletedDetails._all_fields_ = [('event_uuid', ShowcasePermanentlyDeletedDetails._event_uuid_validator)] + +ShowcasePermanentlyDeletedType._description_validator = bv.String() +ShowcasePermanentlyDeletedType._all_field_names_ = set(['description']) +ShowcasePermanentlyDeletedType._all_fields_ = [('description', ShowcasePermanentlyDeletedType._description_validator)] + +ShowcasePostCommentDetails._event_uuid_validator = bv.String() +ShowcasePostCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +ShowcasePostCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +ShowcasePostCommentDetails._all_fields_ = [ + ('event_uuid', ShowcasePostCommentDetails._event_uuid_validator), + ('comment_text', ShowcasePostCommentDetails._comment_text_validator), +] + +ShowcasePostCommentType._description_validator = bv.String() +ShowcasePostCommentType._all_field_names_ = set(['description']) +ShowcasePostCommentType._all_fields_ = [('description', ShowcasePostCommentType._description_validator)] + +ShowcaseRemoveMemberDetails._event_uuid_validator = bv.String() +ShowcaseRemoveMemberDetails._all_field_names_ = set(['event_uuid']) +ShowcaseRemoveMemberDetails._all_fields_ = [('event_uuid', ShowcaseRemoveMemberDetails._event_uuid_validator)] + +ShowcaseRemoveMemberType._description_validator = bv.String() +ShowcaseRemoveMemberType._all_field_names_ = set(['description']) +ShowcaseRemoveMemberType._all_fields_ = [('description', ShowcaseRemoveMemberType._description_validator)] + +ShowcaseRenamedDetails._event_uuid_validator = bv.String() +ShowcaseRenamedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseRenamedDetails._all_fields_ = [('event_uuid', ShowcaseRenamedDetails._event_uuid_validator)] + +ShowcaseRenamedType._description_validator = bv.String() +ShowcaseRenamedType._all_field_names_ = set(['description']) +ShowcaseRenamedType._all_fields_ = [('description', ShowcaseRenamedType._description_validator)] + +ShowcaseRequestAccessDetails._event_uuid_validator = bv.String() +ShowcaseRequestAccessDetails._all_field_names_ = set(['event_uuid']) +ShowcaseRequestAccessDetails._all_fields_ = [('event_uuid', ShowcaseRequestAccessDetails._event_uuid_validator)] + +ShowcaseRequestAccessType._description_validator = bv.String() +ShowcaseRequestAccessType._all_field_names_ = set(['description']) +ShowcaseRequestAccessType._all_fields_ = [('description', ShowcaseRequestAccessType._description_validator)] + +ShowcaseResolveCommentDetails._event_uuid_validator = bv.String() +ShowcaseResolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +ShowcaseResolveCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +ShowcaseResolveCommentDetails._all_fields_ = [ + ('event_uuid', ShowcaseResolveCommentDetails._event_uuid_validator), + ('comment_text', ShowcaseResolveCommentDetails._comment_text_validator), +] + +ShowcaseResolveCommentType._description_validator = bv.String() +ShowcaseResolveCommentType._all_field_names_ = set(['description']) +ShowcaseResolveCommentType._all_fields_ = [('description', ShowcaseResolveCommentType._description_validator)] + +ShowcaseRestoredDetails._event_uuid_validator = bv.String() +ShowcaseRestoredDetails._all_field_names_ = set(['event_uuid']) +ShowcaseRestoredDetails._all_fields_ = [('event_uuid', ShowcaseRestoredDetails._event_uuid_validator)] + +ShowcaseRestoredType._description_validator = bv.String() +ShowcaseRestoredType._all_field_names_ = set(['description']) +ShowcaseRestoredType._all_fields_ = [('description', ShowcaseRestoredType._description_validator)] + +ShowcaseTrashedDeprecatedDetails._event_uuid_validator = bv.String() +ShowcaseTrashedDeprecatedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseTrashedDeprecatedDetails._all_fields_ = [('event_uuid', ShowcaseTrashedDeprecatedDetails._event_uuid_validator)] + +ShowcaseTrashedDeprecatedType._description_validator = bv.String() +ShowcaseTrashedDeprecatedType._all_field_names_ = set(['description']) +ShowcaseTrashedDeprecatedType._all_fields_ = [('description', ShowcaseTrashedDeprecatedType._description_validator)] + +ShowcaseTrashedDetails._event_uuid_validator = bv.String() +ShowcaseTrashedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseTrashedDetails._all_fields_ = [('event_uuid', ShowcaseTrashedDetails._event_uuid_validator)] + +ShowcaseTrashedType._description_validator = bv.String() +ShowcaseTrashedType._all_field_names_ = set(['description']) +ShowcaseTrashedType._all_fields_ = [('description', ShowcaseTrashedType._description_validator)] + +ShowcaseUnresolveCommentDetails._event_uuid_validator = bv.String() +ShowcaseUnresolveCommentDetails._comment_text_validator = bv.Nullable(bv.String()) +ShowcaseUnresolveCommentDetails._all_field_names_ = set([ + 'event_uuid', + 'comment_text', +]) +ShowcaseUnresolveCommentDetails._all_fields_ = [ + ('event_uuid', ShowcaseUnresolveCommentDetails._event_uuid_validator), + ('comment_text', ShowcaseUnresolveCommentDetails._comment_text_validator), +] + +ShowcaseUnresolveCommentType._description_validator = bv.String() +ShowcaseUnresolveCommentType._all_field_names_ = set(['description']) +ShowcaseUnresolveCommentType._all_fields_ = [('description', ShowcaseUnresolveCommentType._description_validator)] + +ShowcaseUntrashedDeprecatedDetails._event_uuid_validator = bv.String() +ShowcaseUntrashedDeprecatedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseUntrashedDeprecatedDetails._all_fields_ = [('event_uuid', ShowcaseUntrashedDeprecatedDetails._event_uuid_validator)] + +ShowcaseUntrashedDeprecatedType._description_validator = bv.String() +ShowcaseUntrashedDeprecatedType._all_field_names_ = set(['description']) +ShowcaseUntrashedDeprecatedType._all_fields_ = [('description', ShowcaseUntrashedDeprecatedType._description_validator)] + +ShowcaseUntrashedDetails._event_uuid_validator = bv.String() +ShowcaseUntrashedDetails._all_field_names_ = set(['event_uuid']) +ShowcaseUntrashedDetails._all_fields_ = [('event_uuid', ShowcaseUntrashedDetails._event_uuid_validator)] + +ShowcaseUntrashedType._description_validator = bv.String() +ShowcaseUntrashedType._all_field_names_ = set(['description']) +ShowcaseUntrashedType._all_fields_ = [('description', ShowcaseUntrashedType._description_validator)] + +ShowcaseViewDetails._event_uuid_validator = bv.String() +ShowcaseViewDetails._all_field_names_ = set(['event_uuid']) +ShowcaseViewDetails._all_fields_ = [('event_uuid', ShowcaseViewDetails._event_uuid_validator)] + +ShowcaseViewType._description_validator = bv.String() +ShowcaseViewType._all_field_names_ = set(['description']) +ShowcaseViewType._all_fields_ = [('description', ShowcaseViewType._description_validator)] SignInAsSessionEndDetails._all_field_names_ = set([]) SignInAsSessionEndDetails._all_fields_ = [] +SignInAsSessionEndType._description_validator = bv.String() +SignInAsSessionEndType._all_field_names_ = set(['description']) +SignInAsSessionEndType._all_fields_ = [('description', SignInAsSessionEndType._description_validator)] + SignInAsSessionStartDetails._all_field_names_ = set([]) SignInAsSessionStartDetails._all_fields_ = [] -SmartSyncChangePolicyDetails._new_value_validator = SmartSyncPolicy_validator -SmartSyncChangePolicyDetails._previous_value_validator = bv.Nullable(SmartSyncPolicy_validator) +SignInAsSessionStartType._description_validator = bv.String() +SignInAsSessionStartType._all_field_names_ = set(['description']) +SignInAsSessionStartType._all_fields_ = [('description', SignInAsSessionStartType._description_validator)] + +SmartSyncChangePolicyDetails._new_value_validator = bv.Nullable(team_policies.SmartSyncPolicy_validator) +SmartSyncChangePolicyDetails._previous_value_validator = bv.Nullable(team_policies.SmartSyncPolicy_validator) SmartSyncChangePolicyDetails._all_field_names_ = set([ 'new_value', 'previous_value', @@ -41266,9 +77772,17 @@ SmartSyncChangePolicyDetails._all_fields_ = [ ('previous_value', SmartSyncChangePolicyDetails._previous_value_validator), ] +SmartSyncChangePolicyType._description_validator = bv.String() +SmartSyncChangePolicyType._all_field_names_ = set(['description']) +SmartSyncChangePolicyType._all_fields_ = [('description', SmartSyncChangePolicyType._description_validator)] + SmartSyncCreateAdminPrivilegeReportDetails._all_field_names_ = set([]) SmartSyncCreateAdminPrivilegeReportDetails._all_fields_ = [] +SmartSyncCreateAdminPrivilegeReportType._description_validator = bv.String() +SmartSyncCreateAdminPrivilegeReportType._all_field_names_ = set(['description']) +SmartSyncCreateAdminPrivilegeReportType._all_fields_ = [('description', SmartSyncCreateAdminPrivilegeReportType._description_validator)] + SmartSyncNotOptOutDetails._previous_value_validator = SmartSyncOptOutPolicy_validator SmartSyncNotOptOutDetails._new_value_validator = SmartSyncOptOutPolicy_validator SmartSyncNotOptOutDetails._all_field_names_ = set([ @@ -41280,6 +77794,10 @@ SmartSyncNotOptOutDetails._all_fields_ = [ ('new_value', SmartSyncNotOptOutDetails._new_value_validator), ] +SmartSyncNotOptOutType._description_validator = bv.String() +SmartSyncNotOptOutType._all_field_names_ = set(['description']) +SmartSyncNotOptOutType._all_fields_ = [('description', SmartSyncNotOptOutType._description_validator)] + SmartSyncOptOutDetails._previous_value_validator = SmartSyncOptOutPolicy_validator SmartSyncOptOutDetails._new_value_validator = SmartSyncOptOutPolicy_validator SmartSyncOptOutDetails._all_field_names_ = set([ @@ -41304,37 +77822,25 @@ SmartSyncOptOutPolicy.default = SmartSyncOptOutPolicy('default') SmartSyncOptOutPolicy.opted_out = SmartSyncOptOutPolicy('opted_out') SmartSyncOptOutPolicy.other = SmartSyncOptOutPolicy('other') -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, +SmartSyncOptOutType._description_validator = bv.String() +SmartSyncOptOutType._all_field_names_ = set(['description']) +SmartSyncOptOutType._all_fields_ = [('description', SmartSyncOptOutType._description_validator)] + +SpaceCapsType._hard_validator = bv.Void() +SpaceCapsType._off_validator = bv.Void() +SpaceCapsType._soft_validator = bv.Void() +SpaceCapsType._other_validator = bv.Void() +SpaceCapsType._tagmap = { + 'hard': SpaceCapsType._hard_validator, + 'off': SpaceCapsType._off_validator, + 'soft': SpaceCapsType._soft_validator, + 'other': SpaceCapsType._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') +SpaceCapsType.hard = SpaceCapsType('hard') +SpaceCapsType.off = SpaceCapsType('off') +SpaceCapsType.soft = SpaceCapsType('soft') +SpaceCapsType.other = SpaceCapsType('other') SpaceLimitsStatus._within_quota_validator = bv.Void() SpaceLimitsStatus._near_quota_validator = bv.Void() @@ -41356,14 +77862,26 @@ SsoAddCertDetails._certificate_details_validator = Certificate_validator SsoAddCertDetails._all_field_names_ = set(['certificate_details']) SsoAddCertDetails._all_fields_ = [('certificate_details', SsoAddCertDetails._certificate_details_validator)] +SsoAddCertType._description_validator = bv.String() +SsoAddCertType._all_field_names_ = set(['description']) +SsoAddCertType._all_fields_ = [('description', SsoAddCertType._description_validator)] + SsoAddLoginUrlDetails._new_value_validator = bv.String() SsoAddLoginUrlDetails._all_field_names_ = set(['new_value']) SsoAddLoginUrlDetails._all_fields_ = [('new_value', SsoAddLoginUrlDetails._new_value_validator)] +SsoAddLoginUrlType._description_validator = bv.String() +SsoAddLoginUrlType._all_field_names_ = set(['description']) +SsoAddLoginUrlType._all_fields_ = [('description', SsoAddLoginUrlType._description_validator)] + SsoAddLogoutUrlDetails._new_value_validator = bv.Nullable(bv.String()) SsoAddLogoutUrlDetails._all_field_names_ = set(['new_value']) SsoAddLogoutUrlDetails._all_fields_ = [('new_value', SsoAddLogoutUrlDetails._new_value_validator)] +SsoAddLogoutUrlType._description_validator = bv.String() +SsoAddLogoutUrlType._all_field_names_ = set(['description']) +SsoAddLogoutUrlType._all_fields_ = [('description', SsoAddLogoutUrlType._description_validator)] + SsoChangeCertDetails._previous_certificate_details_validator = bv.Nullable(Certificate_validator) SsoChangeCertDetails._new_certificate_details_validator = Certificate_validator SsoChangeCertDetails._all_field_names_ = set([ @@ -41375,6 +77893,10 @@ SsoChangeCertDetails._all_fields_ = [ ('new_certificate_details', SsoChangeCertDetails._new_certificate_details_validator), ] +SsoChangeCertType._description_validator = bv.String() +SsoChangeCertType._all_field_names_ = set(['description']) +SsoChangeCertType._all_fields_ = [('description', SsoChangeCertType._description_validator)] + SsoChangeLoginUrlDetails._previous_value_validator = bv.String() SsoChangeLoginUrlDetails._new_value_validator = bv.String() SsoChangeLoginUrlDetails._all_field_names_ = set([ @@ -41386,6 +77908,10 @@ SsoChangeLoginUrlDetails._all_fields_ = [ ('new_value', SsoChangeLoginUrlDetails._new_value_validator), ] +SsoChangeLoginUrlType._description_validator = bv.String() +SsoChangeLoginUrlType._all_field_names_ = set(['description']) +SsoChangeLoginUrlType._all_fields_ = [('description', SsoChangeLoginUrlType._description_validator)] + SsoChangeLogoutUrlDetails._previous_value_validator = bv.Nullable(bv.String()) SsoChangeLogoutUrlDetails._new_value_validator = bv.Nullable(bv.String()) SsoChangeLogoutUrlDetails._all_field_names_ = set([ @@ -41397,6 +77923,10 @@ SsoChangeLogoutUrlDetails._all_fields_ = [ ('new_value', SsoChangeLogoutUrlDetails._new_value_validator), ] +SsoChangeLogoutUrlType._description_validator = bv.String() +SsoChangeLogoutUrlType._all_field_names_ = set(['description']) +SsoChangeLogoutUrlType._all_fields_ = [('description', SsoChangeLogoutUrlType._description_validator)] + SsoChangePolicyDetails._new_value_validator = team_policies.SsoPolicy_validator SsoChangePolicyDetails._previous_value_validator = bv.Nullable(team_policies.SsoPolicy_validator) SsoChangePolicyDetails._all_field_names_ = set([ @@ -41408,6 +77938,10 @@ SsoChangePolicyDetails._all_fields_ = [ ('previous_value', SsoChangePolicyDetails._previous_value_validator), ] +SsoChangePolicyType._description_validator = bv.String() +SsoChangePolicyType._all_field_names_ = set(['description']) +SsoChangePolicyType._all_fields_ = [('description', SsoChangePolicyType._description_validator)] + SsoChangeSamlIdentityModeDetails._previous_value_validator = bv.Int64() SsoChangeSamlIdentityModeDetails._new_value_validator = bv.Int64() SsoChangeSamlIdentityModeDetails._all_field_names_ = set([ @@ -41419,21 +77953,41 @@ SsoChangeSamlIdentityModeDetails._all_fields_ = [ ('new_value', SsoChangeSamlIdentityModeDetails._new_value_validator), ] -SsoLoginFailDetails._error_details_validator = FailureDetailsLogInfo_validator -SsoLoginFailDetails._all_field_names_ = set(['error_details']) -SsoLoginFailDetails._all_fields_ = [('error_details', SsoLoginFailDetails._error_details_validator)] +SsoChangeSamlIdentityModeType._description_validator = bv.String() +SsoChangeSamlIdentityModeType._all_field_names_ = set(['description']) +SsoChangeSamlIdentityModeType._all_fields_ = [('description', SsoChangeSamlIdentityModeType._description_validator)] + +SsoErrorDetails._error_details_validator = FailureDetailsLogInfo_validator +SsoErrorDetails._all_field_names_ = set(['error_details']) +SsoErrorDetails._all_fields_ = [('error_details', SsoErrorDetails._error_details_validator)] + +SsoErrorType._description_validator = bv.String() +SsoErrorType._all_field_names_ = set(['description']) +SsoErrorType._all_fields_ = [('description', SsoErrorType._description_validator)] SsoRemoveCertDetails._all_field_names_ = set([]) SsoRemoveCertDetails._all_fields_ = [] +SsoRemoveCertType._description_validator = bv.String() +SsoRemoveCertType._all_field_names_ = set(['description']) +SsoRemoveCertType._all_fields_ = [('description', SsoRemoveCertType._description_validator)] + SsoRemoveLoginUrlDetails._previous_value_validator = bv.String() SsoRemoveLoginUrlDetails._all_field_names_ = set(['previous_value']) SsoRemoveLoginUrlDetails._all_fields_ = [('previous_value', SsoRemoveLoginUrlDetails._previous_value_validator)] +SsoRemoveLoginUrlType._description_validator = bv.String() +SsoRemoveLoginUrlType._all_field_names_ = set(['description']) +SsoRemoveLoginUrlType._all_fields_ = [('description', SsoRemoveLoginUrlType._description_validator)] + SsoRemoveLogoutUrlDetails._previous_value_validator = bv.String() SsoRemoveLogoutUrlDetails._all_field_names_ = set(['previous_value']) SsoRemoveLogoutUrlDetails._all_fields_ = [('previous_value', SsoRemoveLogoutUrlDetails._previous_value_validator)] +SsoRemoveLogoutUrlType._description_validator = bv.String() +SsoRemoveLogoutUrlType._all_field_names_ = set(['description']) +SsoRemoveLogoutUrlType._all_fields_ = [('description', SsoRemoveLogoutUrlType._description_validator)] + TeamActivityCreateReportDetails._start_date_validator = common.DropboxTimestamp_validator TeamActivityCreateReportDetails._end_date_validator = common.DropboxTimestamp_validator TeamActivityCreateReportDetails._all_field_names_ = set([ @@ -41445,12 +77999,24 @@ TeamActivityCreateReportDetails._all_fields_ = [ ('end_date', TeamActivityCreateReportDetails._end_date_validator), ] +TeamActivityCreateReportFailDetails._failure_reason_validator = team.TeamReportFailureReason_validator +TeamActivityCreateReportFailDetails._all_field_names_ = set(['failure_reason']) +TeamActivityCreateReportFailDetails._all_fields_ = [('failure_reason', TeamActivityCreateReportFailDetails._failure_reason_validator)] + +TeamActivityCreateReportFailType._description_validator = bv.String() +TeamActivityCreateReportFailType._all_field_names_ = set(['description']) +TeamActivityCreateReportFailType._all_fields_ = [('description', TeamActivityCreateReportFailType._description_validator)] + +TeamActivityCreateReportType._description_validator = bv.String() +TeamActivityCreateReportType._all_field_names_ = set(['description']) +TeamActivityCreateReportType._all_fields_ = [('description', TeamActivityCreateReportType._description_validator)] + TeamEvent._timestamp_validator = common.DropboxTimestamp_validator TeamEvent._event_category_validator = EventCategory_validator -TeamEvent._actor_validator = ActorLogInfo_validator +TeamEvent._actor_validator = bv.Nullable(ActorLogInfo_validator) TeamEvent._origin_validator = bv.Nullable(OriginLogInfo_validator) -TeamEvent._involve_non_team_member_validator = bv.Boolean() -TeamEvent._context_validator = ContextLogInfo_validator +TeamEvent._involve_non_team_member_validator = bv.Nullable(bv.Boolean()) +TeamEvent._context_validator = bv.Nullable(ContextLogInfo_validator) TeamEvent._participants_validator = bv.Nullable(bv.List(ParticipantLogInfo_validator)) TeamEvent._assets_validator = bv.Nullable(bv.List(AssetLogInfo_validator)) TeamEvent._event_type_validator = EventType_validator @@ -41480,8 +78046,36 @@ TeamEvent._all_fields_ = [ ('details', TeamEvent._details_validator), ] -TeamFolderChangeStatusDetails._new_value_validator = TeamFolderStatus_validator -TeamFolderChangeStatusDetails._previous_value_validator = bv.Nullable(TeamFolderStatus_validator) +TeamExtensionsPolicy._disabled_validator = bv.Void() +TeamExtensionsPolicy._enabled_validator = bv.Void() +TeamExtensionsPolicy._other_validator = bv.Void() +TeamExtensionsPolicy._tagmap = { + 'disabled': TeamExtensionsPolicy._disabled_validator, + 'enabled': TeamExtensionsPolicy._enabled_validator, + 'other': TeamExtensionsPolicy._other_validator, +} + +TeamExtensionsPolicy.disabled = TeamExtensionsPolicy('disabled') +TeamExtensionsPolicy.enabled = TeamExtensionsPolicy('enabled') +TeamExtensionsPolicy.other = TeamExtensionsPolicy('other') + +TeamExtensionsPolicyChangedDetails._new_value_validator = TeamExtensionsPolicy_validator +TeamExtensionsPolicyChangedDetails._previous_value_validator = TeamExtensionsPolicy_validator +TeamExtensionsPolicyChangedDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +TeamExtensionsPolicyChangedDetails._all_fields_ = [ + ('new_value', TeamExtensionsPolicyChangedDetails._new_value_validator), + ('previous_value', TeamExtensionsPolicyChangedDetails._previous_value_validator), +] + +TeamExtensionsPolicyChangedType._description_validator = bv.String() +TeamExtensionsPolicyChangedType._all_field_names_ = set(['description']) +TeamExtensionsPolicyChangedType._all_fields_ = [('description', TeamExtensionsPolicyChangedType._description_validator)] + +TeamFolderChangeStatusDetails._new_value_validator = team.TeamFolderStatus_validator +TeamFolderChangeStatusDetails._previous_value_validator = bv.Nullable(team.TeamFolderStatus_validator) TeamFolderChangeStatusDetails._all_field_names_ = set([ 'new_value', 'previous_value', @@ -41491,32 +78085,46 @@ TeamFolderChangeStatusDetails._all_fields_ = [ ('previous_value', TeamFolderChangeStatusDetails._previous_value_validator), ] +TeamFolderChangeStatusType._description_validator = bv.String() +TeamFolderChangeStatusType._all_field_names_ = set(['description']) +TeamFolderChangeStatusType._all_fields_ = [('description', TeamFolderChangeStatusType._description_validator)] + TeamFolderCreateDetails._all_field_names_ = set([]) TeamFolderCreateDetails._all_fields_ = [] +TeamFolderCreateType._description_validator = bv.String() +TeamFolderCreateType._all_field_names_ = set(['description']) +TeamFolderCreateType._all_fields_ = [('description', TeamFolderCreateType._description_validator)] + TeamFolderDowngradeDetails._target_asset_index_validator = bv.UInt64() TeamFolderDowngradeDetails._all_field_names_ = set(['target_asset_index']) TeamFolderDowngradeDetails._all_fields_ = [('target_asset_index', TeamFolderDowngradeDetails._target_asset_index_validator)] +TeamFolderDowngradeType._description_validator = bv.String() +TeamFolderDowngradeType._all_field_names_ = set(['description']) +TeamFolderDowngradeType._all_fields_ = [('description', TeamFolderDowngradeType._description_validator)] + TeamFolderPermanentlyDeleteDetails._all_field_names_ = set([]) TeamFolderPermanentlyDeleteDetails._all_fields_ = [] -TeamFolderRenameDetails._relocate_action_details_validator = RelocateAssetReferencesLogInfo_validator -TeamFolderRenameDetails._all_field_names_ = set(['relocate_action_details']) -TeamFolderRenameDetails._all_fields_ = [('relocate_action_details', TeamFolderRenameDetails._relocate_action_details_validator)] +TeamFolderPermanentlyDeleteType._description_validator = bv.String() +TeamFolderPermanentlyDeleteType._all_field_names_ = set(['description']) +TeamFolderPermanentlyDeleteType._all_fields_ = [('description', TeamFolderPermanentlyDeleteType._description_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, -} +TeamFolderRenameDetails._previous_folder_name_validator = bv.String() +TeamFolderRenameDetails._new_folder_name_validator = bv.String() +TeamFolderRenameDetails._all_field_names_ = set([ + 'previous_folder_name', + 'new_folder_name', +]) +TeamFolderRenameDetails._all_fields_ = [ + ('previous_folder_name', TeamFolderRenameDetails._previous_folder_name_validator), + ('new_folder_name', TeamFolderRenameDetails._new_folder_name_validator), +] -TeamFolderStatus.archive = TeamFolderStatus('archive') -TeamFolderStatus.unarchive = TeamFolderStatus('unarchive') -TeamFolderStatus.other = TeamFolderStatus('other') +TeamFolderRenameType._description_validator = bv.String() +TeamFolderRenameType._all_field_names_ = set(['description']) +TeamFolderRenameType._all_fields_ = [('description', TeamFolderRenameType._description_validator)] TeamLinkedAppLogInfo._field_names_ = set([]) TeamLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union(TeamLinkedAppLogInfo._field_names_) @@ -41553,10 +78161,262 @@ TeamMergeFromDetails._team_name_validator = bv.String() TeamMergeFromDetails._all_field_names_ = set(['team_name']) TeamMergeFromDetails._all_fields_ = [('team_name', TeamMergeFromDetails._team_name_validator)] +TeamMergeFromType._description_validator = bv.String() +TeamMergeFromType._all_field_names_ = set(['description']) +TeamMergeFromType._all_fields_ = [('description', TeamMergeFromType._description_validator)] + +TeamMergeRequestAcceptedDetails._request_accepted_details_validator = TeamMergeRequestAcceptedExtraDetails_validator +TeamMergeRequestAcceptedDetails._all_field_names_ = set(['request_accepted_details']) +TeamMergeRequestAcceptedDetails._all_fields_ = [('request_accepted_details', TeamMergeRequestAcceptedDetails._request_accepted_details_validator)] + +TeamMergeRequestAcceptedExtraDetails._primary_team_validator = PrimaryTeamRequestAcceptedDetails_validator +TeamMergeRequestAcceptedExtraDetails._secondary_team_validator = SecondaryTeamRequestAcceptedDetails_validator +TeamMergeRequestAcceptedExtraDetails._other_validator = bv.Void() +TeamMergeRequestAcceptedExtraDetails._tagmap = { + 'primary_team': TeamMergeRequestAcceptedExtraDetails._primary_team_validator, + 'secondary_team': TeamMergeRequestAcceptedExtraDetails._secondary_team_validator, + 'other': TeamMergeRequestAcceptedExtraDetails._other_validator, +} + +TeamMergeRequestAcceptedExtraDetails.other = TeamMergeRequestAcceptedExtraDetails('other') + +TeamMergeRequestAcceptedShownToPrimaryTeamDetails._secondary_team_validator = bv.String() +TeamMergeRequestAcceptedShownToPrimaryTeamDetails._sent_by_validator = bv.String() +TeamMergeRequestAcceptedShownToPrimaryTeamDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_by', +]) +TeamMergeRequestAcceptedShownToPrimaryTeamDetails._all_fields_ = [ + ('secondary_team', TeamMergeRequestAcceptedShownToPrimaryTeamDetails._secondary_team_validator), + ('sent_by', TeamMergeRequestAcceptedShownToPrimaryTeamDetails._sent_by_validator), +] + +TeamMergeRequestAcceptedShownToPrimaryTeamType._description_validator = bv.String() +TeamMergeRequestAcceptedShownToPrimaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestAcceptedShownToPrimaryTeamType._all_fields_ = [('description', TeamMergeRequestAcceptedShownToPrimaryTeamType._description_validator)] + +TeamMergeRequestAcceptedShownToSecondaryTeamDetails._primary_team_validator = bv.String() +TeamMergeRequestAcceptedShownToSecondaryTeamDetails._sent_by_validator = bv.String() +TeamMergeRequestAcceptedShownToSecondaryTeamDetails._all_field_names_ = set([ + 'primary_team', + 'sent_by', +]) +TeamMergeRequestAcceptedShownToSecondaryTeamDetails._all_fields_ = [ + ('primary_team', TeamMergeRequestAcceptedShownToSecondaryTeamDetails._primary_team_validator), + ('sent_by', TeamMergeRequestAcceptedShownToSecondaryTeamDetails._sent_by_validator), +] + +TeamMergeRequestAcceptedShownToSecondaryTeamType._description_validator = bv.String() +TeamMergeRequestAcceptedShownToSecondaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestAcceptedShownToSecondaryTeamType._all_fields_ = [('description', TeamMergeRequestAcceptedShownToSecondaryTeamType._description_validator)] + +TeamMergeRequestAcceptedType._description_validator = bv.String() +TeamMergeRequestAcceptedType._all_field_names_ = set(['description']) +TeamMergeRequestAcceptedType._all_fields_ = [('description', TeamMergeRequestAcceptedType._description_validator)] + +TeamMergeRequestAutoCanceledDetails._details_validator = bv.Nullable(bv.String()) +TeamMergeRequestAutoCanceledDetails._all_field_names_ = set(['details']) +TeamMergeRequestAutoCanceledDetails._all_fields_ = [('details', TeamMergeRequestAutoCanceledDetails._details_validator)] + +TeamMergeRequestAutoCanceledType._description_validator = bv.String() +TeamMergeRequestAutoCanceledType._all_field_names_ = set(['description']) +TeamMergeRequestAutoCanceledType._all_fields_ = [('description', TeamMergeRequestAutoCanceledType._description_validator)] + +TeamMergeRequestCanceledDetails._request_canceled_details_validator = TeamMergeRequestCanceledExtraDetails_validator +TeamMergeRequestCanceledDetails._all_field_names_ = set(['request_canceled_details']) +TeamMergeRequestCanceledDetails._all_fields_ = [('request_canceled_details', TeamMergeRequestCanceledDetails._request_canceled_details_validator)] + +TeamMergeRequestCanceledExtraDetails._primary_team_validator = PrimaryTeamRequestCanceledDetails_validator +TeamMergeRequestCanceledExtraDetails._secondary_team_validator = SecondaryTeamRequestCanceledDetails_validator +TeamMergeRequestCanceledExtraDetails._other_validator = bv.Void() +TeamMergeRequestCanceledExtraDetails._tagmap = { + 'primary_team': TeamMergeRequestCanceledExtraDetails._primary_team_validator, + 'secondary_team': TeamMergeRequestCanceledExtraDetails._secondary_team_validator, + 'other': TeamMergeRequestCanceledExtraDetails._other_validator, +} + +TeamMergeRequestCanceledExtraDetails.other = TeamMergeRequestCanceledExtraDetails('other') + +TeamMergeRequestCanceledShownToPrimaryTeamDetails._secondary_team_validator = bv.String() +TeamMergeRequestCanceledShownToPrimaryTeamDetails._sent_by_validator = bv.String() +TeamMergeRequestCanceledShownToPrimaryTeamDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_by', +]) +TeamMergeRequestCanceledShownToPrimaryTeamDetails._all_fields_ = [ + ('secondary_team', TeamMergeRequestCanceledShownToPrimaryTeamDetails._secondary_team_validator), + ('sent_by', TeamMergeRequestCanceledShownToPrimaryTeamDetails._sent_by_validator), +] + +TeamMergeRequestCanceledShownToPrimaryTeamType._description_validator = bv.String() +TeamMergeRequestCanceledShownToPrimaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestCanceledShownToPrimaryTeamType._all_fields_ = [('description', TeamMergeRequestCanceledShownToPrimaryTeamType._description_validator)] + +TeamMergeRequestCanceledShownToSecondaryTeamDetails._sent_to_validator = bv.String() +TeamMergeRequestCanceledShownToSecondaryTeamDetails._sent_by_validator = bv.String() +TeamMergeRequestCanceledShownToSecondaryTeamDetails._all_field_names_ = set([ + 'sent_to', + 'sent_by', +]) +TeamMergeRequestCanceledShownToSecondaryTeamDetails._all_fields_ = [ + ('sent_to', TeamMergeRequestCanceledShownToSecondaryTeamDetails._sent_to_validator), + ('sent_by', TeamMergeRequestCanceledShownToSecondaryTeamDetails._sent_by_validator), +] + +TeamMergeRequestCanceledShownToSecondaryTeamType._description_validator = bv.String() +TeamMergeRequestCanceledShownToSecondaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestCanceledShownToSecondaryTeamType._all_fields_ = [('description', TeamMergeRequestCanceledShownToSecondaryTeamType._description_validator)] + +TeamMergeRequestCanceledType._description_validator = bv.String() +TeamMergeRequestCanceledType._all_field_names_ = set(['description']) +TeamMergeRequestCanceledType._all_fields_ = [('description', TeamMergeRequestCanceledType._description_validator)] + +TeamMergeRequestExpiredDetails._request_expired_details_validator = TeamMergeRequestExpiredExtraDetails_validator +TeamMergeRequestExpiredDetails._all_field_names_ = set(['request_expired_details']) +TeamMergeRequestExpiredDetails._all_fields_ = [('request_expired_details', TeamMergeRequestExpiredDetails._request_expired_details_validator)] + +TeamMergeRequestExpiredExtraDetails._primary_team_validator = PrimaryTeamRequestExpiredDetails_validator +TeamMergeRequestExpiredExtraDetails._secondary_team_validator = SecondaryTeamRequestExpiredDetails_validator +TeamMergeRequestExpiredExtraDetails._other_validator = bv.Void() +TeamMergeRequestExpiredExtraDetails._tagmap = { + 'primary_team': TeamMergeRequestExpiredExtraDetails._primary_team_validator, + 'secondary_team': TeamMergeRequestExpiredExtraDetails._secondary_team_validator, + 'other': TeamMergeRequestExpiredExtraDetails._other_validator, +} + +TeamMergeRequestExpiredExtraDetails.other = TeamMergeRequestExpiredExtraDetails('other') + +TeamMergeRequestExpiredShownToPrimaryTeamDetails._secondary_team_validator = bv.String() +TeamMergeRequestExpiredShownToPrimaryTeamDetails._sent_by_validator = bv.String() +TeamMergeRequestExpiredShownToPrimaryTeamDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_by', +]) +TeamMergeRequestExpiredShownToPrimaryTeamDetails._all_fields_ = [ + ('secondary_team', TeamMergeRequestExpiredShownToPrimaryTeamDetails._secondary_team_validator), + ('sent_by', TeamMergeRequestExpiredShownToPrimaryTeamDetails._sent_by_validator), +] + +TeamMergeRequestExpiredShownToPrimaryTeamType._description_validator = bv.String() +TeamMergeRequestExpiredShownToPrimaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestExpiredShownToPrimaryTeamType._all_fields_ = [('description', TeamMergeRequestExpiredShownToPrimaryTeamType._description_validator)] + +TeamMergeRequestExpiredShownToSecondaryTeamDetails._sent_to_validator = bv.String() +TeamMergeRequestExpiredShownToSecondaryTeamDetails._all_field_names_ = set(['sent_to']) +TeamMergeRequestExpiredShownToSecondaryTeamDetails._all_fields_ = [('sent_to', TeamMergeRequestExpiredShownToSecondaryTeamDetails._sent_to_validator)] + +TeamMergeRequestExpiredShownToSecondaryTeamType._description_validator = bv.String() +TeamMergeRequestExpiredShownToSecondaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestExpiredShownToSecondaryTeamType._all_fields_ = [('description', TeamMergeRequestExpiredShownToSecondaryTeamType._description_validator)] + +TeamMergeRequestExpiredType._description_validator = bv.String() +TeamMergeRequestExpiredType._all_field_names_ = set(['description']) +TeamMergeRequestExpiredType._all_fields_ = [('description', TeamMergeRequestExpiredType._description_validator)] + +TeamMergeRequestRejectedShownToPrimaryTeamDetails._secondary_team_validator = bv.String() +TeamMergeRequestRejectedShownToPrimaryTeamDetails._sent_by_validator = bv.String() +TeamMergeRequestRejectedShownToPrimaryTeamDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_by', +]) +TeamMergeRequestRejectedShownToPrimaryTeamDetails._all_fields_ = [ + ('secondary_team', TeamMergeRequestRejectedShownToPrimaryTeamDetails._secondary_team_validator), + ('sent_by', TeamMergeRequestRejectedShownToPrimaryTeamDetails._sent_by_validator), +] + +TeamMergeRequestRejectedShownToPrimaryTeamType._description_validator = bv.String() +TeamMergeRequestRejectedShownToPrimaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestRejectedShownToPrimaryTeamType._all_fields_ = [('description', TeamMergeRequestRejectedShownToPrimaryTeamType._description_validator)] + +TeamMergeRequestRejectedShownToSecondaryTeamDetails._sent_by_validator = bv.String() +TeamMergeRequestRejectedShownToSecondaryTeamDetails._all_field_names_ = set(['sent_by']) +TeamMergeRequestRejectedShownToSecondaryTeamDetails._all_fields_ = [('sent_by', TeamMergeRequestRejectedShownToSecondaryTeamDetails._sent_by_validator)] + +TeamMergeRequestRejectedShownToSecondaryTeamType._description_validator = bv.String() +TeamMergeRequestRejectedShownToSecondaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestRejectedShownToSecondaryTeamType._all_fields_ = [('description', TeamMergeRequestRejectedShownToSecondaryTeamType._description_validator)] + +TeamMergeRequestReminderDetails._request_reminder_details_validator = TeamMergeRequestReminderExtraDetails_validator +TeamMergeRequestReminderDetails._all_field_names_ = set(['request_reminder_details']) +TeamMergeRequestReminderDetails._all_fields_ = [('request_reminder_details', TeamMergeRequestReminderDetails._request_reminder_details_validator)] + +TeamMergeRequestReminderExtraDetails._primary_team_validator = PrimaryTeamRequestReminderDetails_validator +TeamMergeRequestReminderExtraDetails._secondary_team_validator = SecondaryTeamRequestReminderDetails_validator +TeamMergeRequestReminderExtraDetails._other_validator = bv.Void() +TeamMergeRequestReminderExtraDetails._tagmap = { + 'primary_team': TeamMergeRequestReminderExtraDetails._primary_team_validator, + 'secondary_team': TeamMergeRequestReminderExtraDetails._secondary_team_validator, + 'other': TeamMergeRequestReminderExtraDetails._other_validator, +} + +TeamMergeRequestReminderExtraDetails.other = TeamMergeRequestReminderExtraDetails('other') + +TeamMergeRequestReminderShownToPrimaryTeamDetails._secondary_team_validator = bv.String() +TeamMergeRequestReminderShownToPrimaryTeamDetails._sent_to_validator = bv.String() +TeamMergeRequestReminderShownToPrimaryTeamDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_to', +]) +TeamMergeRequestReminderShownToPrimaryTeamDetails._all_fields_ = [ + ('secondary_team', TeamMergeRequestReminderShownToPrimaryTeamDetails._secondary_team_validator), + ('sent_to', TeamMergeRequestReminderShownToPrimaryTeamDetails._sent_to_validator), +] + +TeamMergeRequestReminderShownToPrimaryTeamType._description_validator = bv.String() +TeamMergeRequestReminderShownToPrimaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestReminderShownToPrimaryTeamType._all_fields_ = [('description', TeamMergeRequestReminderShownToPrimaryTeamType._description_validator)] + +TeamMergeRequestReminderShownToSecondaryTeamDetails._sent_to_validator = bv.String() +TeamMergeRequestReminderShownToSecondaryTeamDetails._all_field_names_ = set(['sent_to']) +TeamMergeRequestReminderShownToSecondaryTeamDetails._all_fields_ = [('sent_to', TeamMergeRequestReminderShownToSecondaryTeamDetails._sent_to_validator)] + +TeamMergeRequestReminderShownToSecondaryTeamType._description_validator = bv.String() +TeamMergeRequestReminderShownToSecondaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestReminderShownToSecondaryTeamType._all_fields_ = [('description', TeamMergeRequestReminderShownToSecondaryTeamType._description_validator)] + +TeamMergeRequestReminderType._description_validator = bv.String() +TeamMergeRequestReminderType._all_field_names_ = set(['description']) +TeamMergeRequestReminderType._all_fields_ = [('description', TeamMergeRequestReminderType._description_validator)] + +TeamMergeRequestRevokedDetails._team_validator = bv.String() +TeamMergeRequestRevokedDetails._all_field_names_ = set(['team']) +TeamMergeRequestRevokedDetails._all_fields_ = [('team', TeamMergeRequestRevokedDetails._team_validator)] + +TeamMergeRequestRevokedType._description_validator = bv.String() +TeamMergeRequestRevokedType._all_field_names_ = set(['description']) +TeamMergeRequestRevokedType._all_fields_ = [('description', TeamMergeRequestRevokedType._description_validator)] + +TeamMergeRequestSentShownToPrimaryTeamDetails._secondary_team_validator = bv.String() +TeamMergeRequestSentShownToPrimaryTeamDetails._sent_to_validator = bv.String() +TeamMergeRequestSentShownToPrimaryTeamDetails._all_field_names_ = set([ + 'secondary_team', + 'sent_to', +]) +TeamMergeRequestSentShownToPrimaryTeamDetails._all_fields_ = [ + ('secondary_team', TeamMergeRequestSentShownToPrimaryTeamDetails._secondary_team_validator), + ('sent_to', TeamMergeRequestSentShownToPrimaryTeamDetails._sent_to_validator), +] + +TeamMergeRequestSentShownToPrimaryTeamType._description_validator = bv.String() +TeamMergeRequestSentShownToPrimaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestSentShownToPrimaryTeamType._all_fields_ = [('description', TeamMergeRequestSentShownToPrimaryTeamType._description_validator)] + +TeamMergeRequestSentShownToSecondaryTeamDetails._sent_to_validator = bv.String() +TeamMergeRequestSentShownToSecondaryTeamDetails._all_field_names_ = set(['sent_to']) +TeamMergeRequestSentShownToSecondaryTeamDetails._all_fields_ = [('sent_to', TeamMergeRequestSentShownToSecondaryTeamDetails._sent_to_validator)] + +TeamMergeRequestSentShownToSecondaryTeamType._description_validator = bv.String() +TeamMergeRequestSentShownToSecondaryTeamType._all_field_names_ = set(['description']) +TeamMergeRequestSentShownToSecondaryTeamType._all_fields_ = [('description', TeamMergeRequestSentShownToSecondaryTeamType._description_validator)] + TeamMergeToDetails._team_name_validator = bv.String() TeamMergeToDetails._all_field_names_ = set(['team_name']) TeamMergeToDetails._all_fields_ = [('team_name', TeamMergeToDetails._team_name_validator)] +TeamMergeToType._description_validator = bv.String() +TeamMergeToType._all_field_names_ = set(['description']) +TeamMergeToType._all_fields_ = [('description', TeamMergeToType._description_validator)] + TeamName._team_display_name_validator = bv.String() TeamName._team_legal_name_validator = bv.String() TeamName._all_field_names_ = set([ @@ -41571,6 +78431,10 @@ TeamName._all_fields_ = [ TeamProfileAddLogoDetails._all_field_names_ = set([]) TeamProfileAddLogoDetails._all_fields_ = [] +TeamProfileAddLogoType._description_validator = bv.String() +TeamProfileAddLogoType._all_field_names_ = set(['description']) +TeamProfileAddLogoType._all_fields_ = [('description', TeamProfileAddLogoType._description_validator)] + TeamProfileChangeDefaultLanguageDetails._new_value_validator = common.LanguageCode_validator TeamProfileChangeDefaultLanguageDetails._previous_value_validator = common.LanguageCode_validator TeamProfileChangeDefaultLanguageDetails._all_field_names_ = set([ @@ -41582,9 +78446,17 @@ TeamProfileChangeDefaultLanguageDetails._all_fields_ = [ ('previous_value', TeamProfileChangeDefaultLanguageDetails._previous_value_validator), ] +TeamProfileChangeDefaultLanguageType._description_validator = bv.String() +TeamProfileChangeDefaultLanguageType._all_field_names_ = set(['description']) +TeamProfileChangeDefaultLanguageType._all_fields_ = [('description', TeamProfileChangeDefaultLanguageType._description_validator)] + TeamProfileChangeLogoDetails._all_field_names_ = set([]) TeamProfileChangeLogoDetails._all_fields_ = [] +TeamProfileChangeLogoType._description_validator = bv.String() +TeamProfileChangeLogoType._all_field_names_ = set(['description']) +TeamProfileChangeLogoType._all_fields_ = [('description', TeamProfileChangeLogoType._description_validator)] + TeamProfileChangeNameDetails._previous_value_validator = bv.Nullable(TeamName_validator) TeamProfileChangeNameDetails._new_value_validator = TeamName_validator TeamProfileChangeNameDetails._all_field_names_ = set([ @@ -41596,18 +78468,81 @@ TeamProfileChangeNameDetails._all_fields_ = [ ('new_value', TeamProfileChangeNameDetails._new_value_validator), ] +TeamProfileChangeNameType._description_validator = bv.String() +TeamProfileChangeNameType._all_field_names_ = set(['description']) +TeamProfileChangeNameType._all_fields_ = [('description', TeamProfileChangeNameType._description_validator)] + TeamProfileRemoveLogoDetails._all_field_names_ = set([]) TeamProfileRemoveLogoDetails._all_fields_ = [] +TeamProfileRemoveLogoType._description_validator = bv.String() +TeamProfileRemoveLogoType._all_field_names_ = set(['description']) +TeamProfileRemoveLogoType._all_fields_ = [('description', TeamProfileRemoveLogoType._description_validator)] + +TeamSelectiveSyncPolicy._disabled_validator = bv.Void() +TeamSelectiveSyncPolicy._enabled_validator = bv.Void() +TeamSelectiveSyncPolicy._other_validator = bv.Void() +TeamSelectiveSyncPolicy._tagmap = { + 'disabled': TeamSelectiveSyncPolicy._disabled_validator, + 'enabled': TeamSelectiveSyncPolicy._enabled_validator, + 'other': TeamSelectiveSyncPolicy._other_validator, +} + +TeamSelectiveSyncPolicy.disabled = TeamSelectiveSyncPolicy('disabled') +TeamSelectiveSyncPolicy.enabled = TeamSelectiveSyncPolicy('enabled') +TeamSelectiveSyncPolicy.other = TeamSelectiveSyncPolicy('other') + +TeamSelectiveSyncPolicyChangedDetails._new_value_validator = TeamSelectiveSyncPolicy_validator +TeamSelectiveSyncPolicyChangedDetails._previous_value_validator = TeamSelectiveSyncPolicy_validator +TeamSelectiveSyncPolicyChangedDetails._all_field_names_ = set([ + 'new_value', + 'previous_value', +]) +TeamSelectiveSyncPolicyChangedDetails._all_fields_ = [ + ('new_value', TeamSelectiveSyncPolicyChangedDetails._new_value_validator), + ('previous_value', TeamSelectiveSyncPolicyChangedDetails._previous_value_validator), +] + +TeamSelectiveSyncPolicyChangedType._description_validator = bv.String() +TeamSelectiveSyncPolicyChangedType._all_field_names_ = set(['description']) +TeamSelectiveSyncPolicyChangedType._all_fields_ = [('description', TeamSelectiveSyncPolicyChangedType._description_validator)] + +TeamSelectiveSyncSettingsChangedDetails._previous_value_validator = files.SyncSetting_validator +TeamSelectiveSyncSettingsChangedDetails._new_value_validator = files.SyncSetting_validator +TeamSelectiveSyncSettingsChangedDetails._all_field_names_ = set([ + 'previous_value', + 'new_value', +]) +TeamSelectiveSyncSettingsChangedDetails._all_fields_ = [ + ('previous_value', TeamSelectiveSyncSettingsChangedDetails._previous_value_validator), + ('new_value', TeamSelectiveSyncSettingsChangedDetails._new_value_validator), +] + +TeamSelectiveSyncSettingsChangedType._description_validator = bv.String() +TeamSelectiveSyncSettingsChangedType._all_field_names_ = set(['description']) +TeamSelectiveSyncSettingsChangedType._all_fields_ = [('description', TeamSelectiveSyncSettingsChangedType._description_validator)] + TfaAddBackupPhoneDetails._all_field_names_ = set([]) TfaAddBackupPhoneDetails._all_fields_ = [] +TfaAddBackupPhoneType._description_validator = bv.String() +TfaAddBackupPhoneType._all_field_names_ = set(['description']) +TfaAddBackupPhoneType._all_fields_ = [('description', TfaAddBackupPhoneType._description_validator)] + TfaAddSecurityKeyDetails._all_field_names_ = set([]) TfaAddSecurityKeyDetails._all_fields_ = [] +TfaAddSecurityKeyType._description_validator = bv.String() +TfaAddSecurityKeyType._all_field_names_ = set(['description']) +TfaAddSecurityKeyType._all_fields_ = [('description', TfaAddSecurityKeyType._description_validator)] + TfaChangeBackupPhoneDetails._all_field_names_ = set([]) TfaChangeBackupPhoneDetails._all_fields_ = [] +TfaChangeBackupPhoneType._description_validator = bv.String() +TfaChangeBackupPhoneType._all_field_names_ = set(['description']) +TfaChangeBackupPhoneType._all_fields_ = [('description', TfaChangeBackupPhoneType._description_validator)] + TfaChangePolicyDetails._new_value_validator = team_policies.TwoStepVerificationPolicy_validator TfaChangePolicyDetails._previous_value_validator = bv.Nullable(team_policies.TwoStepVerificationPolicy_validator) TfaChangePolicyDetails._all_field_names_ = set([ @@ -41619,6 +78554,10 @@ TfaChangePolicyDetails._all_fields_ = [ ('previous_value', TfaChangePolicyDetails._previous_value_validator), ] +TfaChangePolicyType._description_validator = bv.String() +TfaChangePolicyType._all_field_names_ = set(['description']) +TfaChangePolicyType._all_fields_ = [('description', TfaChangePolicyType._description_validator)] + TfaChangeStatusDetails._new_value_validator = TfaConfiguration_validator TfaChangeStatusDetails._previous_value_validator = bv.Nullable(TfaConfiguration_validator) TfaChangeStatusDetails._used_rescue_code_validator = bv.Nullable(bv.Boolean()) @@ -41633,6 +78572,10 @@ TfaChangeStatusDetails._all_fields_ = [ ('used_rescue_code', TfaChangeStatusDetails._used_rescue_code_validator), ] +TfaChangeStatusType._description_validator = bv.String() +TfaChangeStatusType._all_field_names_ = set(['description']) +TfaChangeStatusType._all_fields_ = [('description', TfaChangeStatusType._description_validator)] + TfaConfiguration._disabled_validator = bv.Void() TfaConfiguration._enabled_validator = bv.Void() TfaConfiguration._sms_validator = bv.Void() @@ -41655,12 +78598,24 @@ TfaConfiguration.other = TfaConfiguration('other') TfaRemoveBackupPhoneDetails._all_field_names_ = set([]) TfaRemoveBackupPhoneDetails._all_fields_ = [] +TfaRemoveBackupPhoneType._description_validator = bv.String() +TfaRemoveBackupPhoneType._all_field_names_ = set(['description']) +TfaRemoveBackupPhoneType._all_fields_ = [('description', TfaRemoveBackupPhoneType._description_validator)] + TfaRemoveSecurityKeyDetails._all_field_names_ = set([]) TfaRemoveSecurityKeyDetails._all_fields_ = [] +TfaRemoveSecurityKeyType._description_validator = bv.String() +TfaRemoveSecurityKeyType._all_field_names_ = set(['description']) +TfaRemoveSecurityKeyType._all_fields_ = [('description', TfaRemoveSecurityKeyType._description_validator)] + TfaResetDetails._all_field_names_ = set([]) TfaResetDetails._all_fields_ = [] +TfaResetType._description_validator = bv.String() +TfaResetType._all_field_names_ = set(['description']) +TfaResetType._all_fields_ = [('description', TfaResetType._description_validator)] + TimeUnit._milliseconds_validator = bv.Void() TimeUnit._seconds_validator = bv.Void() TimeUnit._minutes_validator = bv.Void() @@ -41692,6 +78647,60 @@ TimeUnit.months = TimeUnit('months') TimeUnit.years = TimeUnit('years') TimeUnit.other = TimeUnit('other') +TrustedNonTeamMemberLogInfo._trusted_non_team_member_type_validator = TrustedNonTeamMemberType_validator +TrustedNonTeamMemberLogInfo._field_names_ = set(['trusted_non_team_member_type']) +TrustedNonTeamMemberLogInfo._all_field_names_ = UserLogInfo._all_field_names_.union(TrustedNonTeamMemberLogInfo._field_names_) +TrustedNonTeamMemberLogInfo._fields_ = [('trusted_non_team_member_type', TrustedNonTeamMemberLogInfo._trusted_non_team_member_type_validator)] +TrustedNonTeamMemberLogInfo._all_fields_ = UserLogInfo._all_fields_ + TrustedNonTeamMemberLogInfo._fields_ + +TrustedNonTeamMemberType._multi_instance_admin_validator = bv.Void() +TrustedNonTeamMemberType._other_validator = bv.Void() +TrustedNonTeamMemberType._tagmap = { + 'multi_instance_admin': TrustedNonTeamMemberType._multi_instance_admin_validator, + 'other': TrustedNonTeamMemberType._other_validator, +} + +TrustedNonTeamMemberType.multi_instance_admin = TrustedNonTeamMemberType('multi_instance_admin') +TrustedNonTeamMemberType.other = TrustedNonTeamMemberType('other') + +TrustedTeamsRequestAction._invited_validator = bv.Void() +TrustedTeamsRequestAction._expired_validator = bv.Void() +TrustedTeamsRequestAction._revoked_validator = bv.Void() +TrustedTeamsRequestAction._accepted_validator = bv.Void() +TrustedTeamsRequestAction._declined_validator = bv.Void() +TrustedTeamsRequestAction._other_validator = bv.Void() +TrustedTeamsRequestAction._tagmap = { + 'invited': TrustedTeamsRequestAction._invited_validator, + 'expired': TrustedTeamsRequestAction._expired_validator, + 'revoked': TrustedTeamsRequestAction._revoked_validator, + 'accepted': TrustedTeamsRequestAction._accepted_validator, + 'declined': TrustedTeamsRequestAction._declined_validator, + 'other': TrustedTeamsRequestAction._other_validator, +} + +TrustedTeamsRequestAction.invited = TrustedTeamsRequestAction('invited') +TrustedTeamsRequestAction.expired = TrustedTeamsRequestAction('expired') +TrustedTeamsRequestAction.revoked = TrustedTeamsRequestAction('revoked') +TrustedTeamsRequestAction.accepted = TrustedTeamsRequestAction('accepted') +TrustedTeamsRequestAction.declined = TrustedTeamsRequestAction('declined') +TrustedTeamsRequestAction.other = TrustedTeamsRequestAction('other') + +TrustedTeamsRequestState._invited_validator = bv.Void() +TrustedTeamsRequestState._linked_validator = bv.Void() +TrustedTeamsRequestState._unlinked_validator = bv.Void() +TrustedTeamsRequestState._other_validator = bv.Void() +TrustedTeamsRequestState._tagmap = { + 'invited': TrustedTeamsRequestState._invited_validator, + 'linked': TrustedTeamsRequestState._linked_validator, + 'unlinked': TrustedTeamsRequestState._unlinked_validator, + 'other': TrustedTeamsRequestState._other_validator, +} + +TrustedTeamsRequestState.invited = TrustedTeamsRequestState('invited') +TrustedTeamsRequestState.linked = TrustedTeamsRequestState('linked') +TrustedTeamsRequestState.unlinked = TrustedTeamsRequestState('unlinked') +TrustedTeamsRequestState.other = TrustedTeamsRequestState('other') + TwoAccountChangePolicyDetails._new_value_validator = TwoAccountPolicy_validator TwoAccountChangePolicyDetails._previous_value_validator = bv.Nullable(TwoAccountPolicy_validator) TwoAccountChangePolicyDetails._all_field_names_ = set([ @@ -41703,6 +78712,10 @@ TwoAccountChangePolicyDetails._all_fields_ = [ ('previous_value', TwoAccountChangePolicyDetails._previous_value_validator), ] +TwoAccountChangePolicyType._description_validator = bv.String() +TwoAccountChangePolicyType._all_field_names_ = set(['description']) +TwoAccountChangePolicyType._all_fields_ = [('description', TwoAccountChangePolicyType._description_validator)] + TwoAccountPolicy._disabled_validator = bv.Void() TwoAccountPolicy._enabled_validator = bv.Void() TwoAccountPolicy._other_validator = bv.Void() @@ -41740,6 +78753,40 @@ UserOrTeamLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.unio UserOrTeamLinkedAppLogInfo._fields_ = [] UserOrTeamLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + UserOrTeamLinkedAppLogInfo._fields_ +ViewerInfoPolicyChangedDetails._previous_value_validator = PassPolicy_validator +ViewerInfoPolicyChangedDetails._new_value_validator = PassPolicy_validator +ViewerInfoPolicyChangedDetails._all_field_names_ = set([ + 'previous_value', + 'new_value', +]) +ViewerInfoPolicyChangedDetails._all_fields_ = [ + ('previous_value', ViewerInfoPolicyChangedDetails._previous_value_validator), + ('new_value', ViewerInfoPolicyChangedDetails._new_value_validator), +] + +ViewerInfoPolicyChangedType._description_validator = bv.String() +ViewerInfoPolicyChangedType._all_field_names_ = set(['description']) +ViewerInfoPolicyChangedType._all_fields_ = [('description', ViewerInfoPolicyChangedType._description_validator)] + +WebDeviceSessionLogInfo._session_info_validator = bv.Nullable(WebSessionLogInfo_validator) +WebDeviceSessionLogInfo._user_agent_validator = bv.String() +WebDeviceSessionLogInfo._os_validator = bv.String() +WebDeviceSessionLogInfo._browser_validator = bv.String() +WebDeviceSessionLogInfo._field_names_ = set([ + 'session_info', + 'user_agent', + 'os', + 'browser', +]) +WebDeviceSessionLogInfo._all_field_names_ = DeviceSessionLogInfo._all_field_names_.union(WebDeviceSessionLogInfo._field_names_) +WebDeviceSessionLogInfo._fields_ = [ + ('session_info', WebDeviceSessionLogInfo._session_info_validator), + ('user_agent', WebDeviceSessionLogInfo._user_agent_validator), + ('os', WebDeviceSessionLogInfo._os_validator), + ('browser', WebDeviceSessionLogInfo._browser_validator), +] +WebDeviceSessionLogInfo._all_fields_ = DeviceSessionLogInfo._all_fields_ + WebDeviceSessionLogInfo._fields_ + WebSessionLogInfo._field_names_ = set([]) WebSessionLogInfo._all_field_names_ = SessionLogInfo._all_field_names_.union(WebSessionLogInfo._field_names_) WebSessionLogInfo._fields_ = [] @@ -41756,6 +78803,10 @@ WebSessionsChangeFixedLengthPolicyDetails._all_fields_ = [ ('previous_value', WebSessionsChangeFixedLengthPolicyDetails._previous_value_validator), ] +WebSessionsChangeFixedLengthPolicyType._description_validator = bv.String() +WebSessionsChangeFixedLengthPolicyType._all_field_names_ = set(['description']) +WebSessionsChangeFixedLengthPolicyType._all_fields_ = [('description', WebSessionsChangeFixedLengthPolicyType._description_validator)] + WebSessionsChangeIdleLengthPolicyDetails._new_value_validator = bv.Nullable(WebSessionsIdleLengthPolicy_validator) WebSessionsChangeIdleLengthPolicyDetails._previous_value_validator = bv.Nullable(WebSessionsIdleLengthPolicy_validator) WebSessionsChangeIdleLengthPolicyDetails._all_field_names_ = set([ @@ -41767,6 +78818,10 @@ WebSessionsChangeIdleLengthPolicyDetails._all_fields_ = [ ('previous_value', WebSessionsChangeIdleLengthPolicyDetails._previous_value_validator), ] +WebSessionsChangeIdleLengthPolicyType._description_validator = bv.String() +WebSessionsChangeIdleLengthPolicyType._all_field_names_ = set(['description']) +WebSessionsChangeIdleLengthPolicyType._all_fields_ = [('description', WebSessionsChangeIdleLengthPolicyType._description_validator)] + WebSessionsFixedLengthPolicy._defined_validator = DurationLogInfo_validator WebSessionsFixedLengthPolicy._undefined_validator = bv.Void() WebSessionsFixedLengthPolicy._other_validator = bv.Void() @@ -41793,6 +78848,7 @@ WebSessionsIdleLengthPolicy.other = WebSessionsIdleLengthPolicy('other') get_events = bb.Route( 'get_events', + 1, False, GetTeamEventsArg_validator, GetTeamEventsResult_validator, @@ -41802,6 +78858,7 @@ get_events = bb.Route( ) get_events_continue = bb.Route( 'get_events/continue', + 1, False, GetTeamEventsContinueArg_validator, GetTeamEventsResult_validator, diff --git a/resources/lib/dropbox/team_policies.py b/resources/lib/dropbox/team_policies.py index 8fd4620..136fa29 100644 --- a/resources/lib/dropbox/team_policies.py +++ b/resources/lib/dropbox/team_policies.py @@ -1,25 +1,78 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 CameraUploadsPolicyState(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 team_policies.CameraUploadsPolicyState.disabled: Background camera + uploads are disabled. + :ivar team_policies.CameraUploadsPolicyState.enabled: Background camera + uploads are allowed. + """ + + _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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(CameraUploadsPolicyState, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'CameraUploadsPolicyState(%r, %r)' % (self._tag, self._value) + +CameraUploadsPolicyState_validator = bv.Union(CameraUploadsPolicyState) + class EmmState(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 disabled: Emm token is disabled. - :ivar optional: Emm token is optional. - :ivar required: Emm token is required. + :ivar team_policies.EmmState.disabled: Emm token is disabled. + :ivar team_policies.EmmState.optional: Emm token is optional. + :ivar team_policies.EmmState.required: Emm token is required. """ _catch_all = 'other' @@ -64,19 +117,64 @@ class EmmState(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(EmmState, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'EmmState(%r, %r)' % (self._tag, self._value) EmmState_validator = bv.Union(EmmState) +class GroupCreation(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 team_policies.GroupCreation.admins_and_members: Team admins and + members can create groups. + :ivar team_policies.GroupCreation.admins_only: Only team admins can create + groups. + """ + + _catch_all = None + # Attribute is overwritten below the class definition + admins_and_members = None + # Attribute is overwritten below the class definition + admins_only = None + + def is_admins_and_members(self): + """ + Check if the union tag is ``admins_and_members``. + + :rtype: bool + """ + return self._tag == 'admins_and_members' + + def is_admins_only(self): + """ + Check if the union tag is ``admins_only``. + + :rtype: bool + """ + return self._tag == 'admins_only' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GroupCreation, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'GroupCreation(%r, %r)' % (self._tag, self._value) + +GroupCreation_validator = bv.Union(GroupCreation) + class OfficeAddInPolicy(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 disabled: Office Add-In is disabled. - :ivar enabled: Office Add-In is enabled. + :ivar team_policies.OfficeAddInPolicy.disabled: Office Add-In is disabled. + :ivar team_policies.OfficeAddInPolicy.enabled: Office Add-In is enabled. """ _catch_all = 'other' @@ -111,20 +209,77 @@ class OfficeAddInPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(OfficeAddInPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'OfficeAddInPolicy(%r, %r)' % (self._tag, self._value) OfficeAddInPolicy_validator = bv.Union(OfficeAddInPolicy) +class PaperDefaultFolderPolicy(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 team_policies.PaperDefaultFolderPolicy.everyone_in_team: Everyone in + team will be the default option when creating a folder in Paper. + :ivar team_policies.PaperDefaultFolderPolicy.invite_only: Invite only will + be the default option when creating a folder in Paper. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + everyone_in_team = None + # Attribute is overwritten below the class definition + invite_only = None + # Attribute is overwritten below the class definition + other = None + + def is_everyone_in_team(self): + """ + Check if the union tag is ``everyone_in_team``. + + :rtype: bool + """ + return self._tag == 'everyone_in_team' + + def is_invite_only(self): + """ + Check if the union tag is ``invite_only``. + + :rtype: bool + """ + return self._tag == 'invite_only' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDefaultFolderPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDefaultFolderPolicy(%r, %r)' % (self._tag, self._value) + +PaperDefaultFolderPolicy_validator = bv.Union(PaperDefaultFolderPolicy) + 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. - :ivar full: All team members have access to Paper. - :ivar partial: Only whitelisted team members can access Paper. To see which - user is whitelisted, check 'is_paper_whitelisted' on 'account/info'. + :ivar team_policies.PaperDeploymentPolicy.full: All team members have access + to Paper. + :ivar team_policies.PaperDeploymentPolicy.partial: Only whitelisted team + members can access Paper. To see which user is whitelisted, check + 'is_paper_whitelisted' on 'account/info'. """ _catch_all = 'other' @@ -159,20 +314,75 @@ class PaperDeploymentPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDeploymentPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperDeploymentPolicy(%r, %r)' % (self._tag, self._value) PaperDeploymentPolicy_validator = bv.Union(PaperDeploymentPolicy) +class PaperDesktopPolicy(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 team_policies.PaperDesktopPolicy.disabled: Do not allow team members + to use Paper Desktop. + :ivar team_policies.PaperDesktopPolicy.enabled: Allow team members to use + Paper Desktop. + """ + + _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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperDesktopPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'PaperDesktopPolicy(%r, %r)' % (self._tag, self._value) + +PaperDesktopPolicy_validator = bv.Union(PaperDesktopPolicy) + class PaperEnabledPolicy(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 disabled: Paper is disabled. - :ivar enabled: Paper is enabled. - :ivar unspecified: Unspecified policy. + :ivar team_policies.PaperEnabledPolicy.disabled: Paper is disabled. + :ivar team_policies.PaperEnabledPolicy.enabled: Paper is enabled. + :ivar team_policies.PaperEnabledPolicy.unspecified: Unspecified policy. """ _catch_all = 'other' @@ -217,6 +427,9 @@ class PaperEnabledPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PaperEnabledPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PaperEnabledPolicy(%r, %r)' % (self._tag, self._value) @@ -228,12 +441,12 @@ class PasswordStrengthPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar minimal_requirements: User passwords will adhere to the minimal - password strength policy. - :ivar moderate_password: User passwords will adhere to the moderate password - strength policy. - :ivar strong_password: User passwords will adhere to the very strong - password strength policy. + :ivar team_policies.PasswordStrengthPolicy.minimal_requirements: User + passwords will adhere to the minimal password strength policy. + :ivar team_policies.PasswordStrengthPolicy.moderate_password: User passwords + will adhere to the moderate password strength policy. + :ivar team_policies.PasswordStrengthPolicy.strong_password: User passwords + will adhere to the very strong password strength policy. """ _catch_all = 'other' @@ -278,6 +491,9 @@ class PasswordStrengthPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(PasswordStrengthPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'PasswordStrengthPolicy(%r, %r)' % (self._tag, self._value) @@ -289,9 +505,11 @@ class RolloutMethod(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar unlink_all: Unlink all. - :ivar unlink_most_inactive: Unlink devices with the most inactivity. - :ivar add_member_to_exceptions: Add member to Exceptions. + :ivar team_policies.RolloutMethod.unlink_all: Unlink all. + :ivar team_policies.RolloutMethod.unlink_most_inactive: Unlink devices with + the most inactivity. + :ivar team_policies.RolloutMethod.add_member_to_exceptions: Add member to + Exceptions. """ _catch_all = None @@ -326,6 +544,9 @@ class RolloutMethod(bb.Union): """ return self._tag == 'add_member_to_exceptions' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(RolloutMethod, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'RolloutMethod(%r, %r)' % (self._tag, self._value) @@ -339,10 +560,11 @@ class SharedFolderJoinPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar from_team_only: Team members can only join folders shared by - teammates. - :ivar from_anyone: Team members can join any shared folder, including those - shared by users outside the team. + :ivar team_policies.SharedFolderJoinPolicy.from_team_only: Team members can + only join folders shared by teammates. + :ivar team_policies.SharedFolderJoinPolicy.from_anyone: Team members can + join any shared folder, including those shared by users outside the + team. """ _catch_all = 'other' @@ -377,6 +599,9 @@ class SharedFolderJoinPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderJoinPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFolderJoinPolicy(%r, %r)' % (self._tag, self._value) @@ -390,9 +615,10 @@ class SharedFolderMemberPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar team: Only a teammate can be a member of a folder shared by a team - member. - :ivar anyone: Anyone can be a member of a folder shared by a team member. + :ivar team_policies.SharedFolderMemberPolicy.team: Only a teammate can be a + member of a folder shared by a team member. + :ivar team_policies.SharedFolderMemberPolicy.anyone: Anyone can be a member + of a folder shared by a team member. """ _catch_all = 'other' @@ -427,6 +653,9 @@ class SharedFolderMemberPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedFolderMemberPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedFolderMemberPolicy(%r, %r)' % (self._tag, self._value) @@ -441,14 +670,15 @@ class SharedLinkCreatePolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar default_public: By default, anyone can access newly created shared - links. No login will be required to access the shared links unless - overridden. - :ivar default_team_only: By default, only members of the same team can - access newly created shared links. Login will be required to access the - shared links unless overridden. - :ivar team_only: Only members of the same team can access all shared links. - Login will be required to access all shared links. + :ivar team_policies.SharedLinkCreatePolicy.default_public: By default, + anyone can access newly created shared links. No login will be required + to access the shared links unless overridden. + :ivar team_policies.SharedLinkCreatePolicy.default_team_only: By default, + only members of the same team can access newly created shared links. + Login will be required to access the shared links unless overridden. + :ivar team_policies.SharedLinkCreatePolicy.team_only: Only members of the + same team can access all shared links. Login will be required to access + all shared links. """ _catch_all = 'other' @@ -493,23 +723,232 @@ class SharedLinkCreatePolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SharedLinkCreatePolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SharedLinkCreatePolicy(%r, %r)' % (self._tag, self._value) SharedLinkCreatePolicy_validator = bv.Union(SharedLinkCreatePolicy) +class ShowcaseDownloadPolicy(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 team_policies.ShowcaseDownloadPolicy.disabled: Do not allow files to + be downloaded from Showcases. + :ivar team_policies.ShowcaseDownloadPolicy.enabled: Allow files to be + downloaded from Showcases. + """ + + _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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseDownloadPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseDownloadPolicy(%r, %r)' % (self._tag, self._value) + +ShowcaseDownloadPolicy_validator = bv.Union(ShowcaseDownloadPolicy) + +class ShowcaseEnabledPolicy(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 team_policies.ShowcaseEnabledPolicy.disabled: Showcase is disabled. + :ivar team_policies.ShowcaseEnabledPolicy.enabled: Showcase is enabled. + """ + + _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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseEnabledPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseEnabledPolicy(%r, %r)' % (self._tag, self._value) + +ShowcaseEnabledPolicy_validator = bv.Union(ShowcaseEnabledPolicy) + +class ShowcaseExternalSharingPolicy(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 team_policies.ShowcaseExternalSharingPolicy.disabled: Do not allow + showcases to be shared with people not on the team. + :ivar team_policies.ShowcaseExternalSharingPolicy.enabled: Allow showcases + to be shared with people not on the team. + """ + + _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 _process_custom_annotations(self, annotation_type, field_path, processor): + super(ShowcaseExternalSharingPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'ShowcaseExternalSharingPolicy(%r, %r)' % (self._tag, self._value) + +ShowcaseExternalSharingPolicy_validator = bv.Union(ShowcaseExternalSharingPolicy) + +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. + + :ivar team_policies.SmartSyncPolicy.local: The specified content will be + synced as local files by default. + :ivar team_policies.SmartSyncPolicy.on_demand: The specified content will be + synced as on-demand files by default. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + local = None + # Attribute is overwritten below the class definition + on_demand = None + # Attribute is overwritten below the class definition + other = None + + def is_local(self): + """ + Check if the union tag is ``local``. + + :rtype: bool + """ + return self._tag == 'local' + + def is_on_demand(self): + """ + Check if the union tag is ``on_demand``. + + :rtype: bool + """ + return self._tag == 'on_demand' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SmartSyncPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'SmartSyncPolicy(%r, %r)' % (self._tag, self._value) + +SmartSyncPolicy_validator = bv.Union(SmartSyncPolicy) + class SsoPolicy(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 disabled: Users will be able to sign in with their Dropbox - credentials. - :ivar optional: Users will be able to sign in with either their Dropbox or - single sign-on credentials. - :ivar required: Users will be required to sign in with their single sign-on - credentials. + :ivar team_policies.SsoPolicy.disabled: Users will be able to sign in with + their Dropbox credentials. + :ivar team_policies.SsoPolicy.optional: Users will be able to sign in with + either their Dropbox or single sign-on credentials. + :ivar team_policies.SsoPolicy.required: Users will be required to sign in + with their single sign-on credentials. """ _catch_all = 'other' @@ -554,24 +993,28 @@ class SsoPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SsoPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SsoPolicy(%r, %r)' % (self._tag, self._value) SsoPolicy_validator = bv.Union(SsoPolicy) -class TeamMemberPolicies(object): +class TeamMemberPolicies(bb.Struct): """ Policies governing team members. - :ivar sharing: Policies governing sharing. - :ivar emm_state: This describes the Enterprise Mobility Management (EMM) - state for this team. This information can be used to understand if an - organization is integrating with a third-party EMM vendor to further - manage and apply restrictions upon the team's Dropbox usage on mobile - devices. This is a new feature and in the future we'll be adding more - new fields and additional documentation. - :ivar office_addin: The admin policy around the Dropbox Office Add-In for - this team. + :ivar team_policies.TeamMemberPolicies.sharing: Policies governing sharing. + :ivar team_policies.TeamMemberPolicies.emm_state: This describes the + Enterprise Mobility Management (EMM) state for this team. This + information can be used to understand if an organization is integrating + with a third-party EMM vendor to further manage and apply restrictions + upon the team's Dropbox usage on mobile devices. This is a new feature + and in the future we'll be adding more new fields and additional + documentation. + :ivar team_policies.TeamMemberPolicies.office_addin: The admin policy around + the Dropbox Office Add-In for this team. """ __slots__ = [ @@ -676,6 +1119,9 @@ class TeamMemberPolicies(object): self._office_addin_value = None self._office_addin_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamMemberPolicies, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamMemberPolicies(sharing={!r}, emm_state={!r}, office_addin={!r})'.format( self._sharing_value, @@ -685,15 +1131,16 @@ class TeamMemberPolicies(object): TeamMemberPolicies_validator = bv.Struct(TeamMemberPolicies) -class TeamSharingPolicies(object): +class TeamSharingPolicies(bb.Struct): """ Policies governing sharing within and outside of the team. - :ivar shared_folder_member_policy: Who can join folders shared by team - members. - :ivar shared_folder_join_policy: Which shared folders team members can join. - :ivar shared_link_create_policy: Who can view shared links owned by team - members. + :ivar team_policies.TeamSharingPolicies.shared_folder_member_policy: Who can + join folders shared by team members. + :ivar team_policies.TeamSharingPolicies.shared_folder_join_policy: Which + shared folders team members can join. + :ivar team_policies.TeamSharingPolicies.shared_link_create_policy: Who can + view shared links owned by team members. """ __slots__ = [ @@ -793,6 +1240,9 @@ class TeamSharingPolicies(object): self._shared_link_create_policy_value = None self._shared_link_create_policy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamSharingPolicies, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TeamSharingPolicies(shared_folder_member_policy={!r}, shared_folder_join_policy={!r}, shared_link_create_policy={!r})'.format( self._shared_folder_member_policy_value, @@ -808,8 +1258,10 @@ class TwoStepVerificationPolicy(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar require_tfa_enable: Enabled require two factor authorization. - :ivar require_tfa_disable: Disabled require two factor authorization. + :ivar team_policies.TwoStepVerificationPolicy.require_tfa_enable: Enabled + require two factor authorization. + :ivar team_policies.TwoStepVerificationPolicy.require_tfa_disable: Disabled + require two factor authorization. """ _catch_all = 'other' @@ -844,11 +1296,79 @@ class TwoStepVerificationPolicy(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TwoStepVerificationPolicy, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'TwoStepVerificationPolicy(%r, %r)' % (self._tag, self._value) TwoStepVerificationPolicy_validator = bv.Union(TwoStepVerificationPolicy) +class TwoStepVerificationState(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 team_policies.TwoStepVerificationState.required: Enabled require two + factor authorization. + :ivar team_policies.TwoStepVerificationState.optional: Optional require two + factor authorization. + """ + + _catch_all = 'other' + # Attribute is overwritten below the class definition + required = None + # Attribute is overwritten below the class definition + optional = None + # Attribute is overwritten below the class definition + other = None + + def is_required(self): + """ + Check if the union tag is ``required``. + + :rtype: bool + """ + return self._tag == 'required' + + def is_optional(self): + """ + Check if the union tag is ``optional``. + + :rtype: bool + """ + return self._tag == 'optional' + + def is_other(self): + """ + Check if the union tag is ``other``. + + :rtype: bool + """ + return self._tag == 'other' + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TwoStepVerificationState, self)._process_custom_annotations(annotation_type, field_path, processor) + + def __repr__(self): + return 'TwoStepVerificationState(%r, %r)' % (self._tag, self._value) + +TwoStepVerificationState_validator = bv.Union(TwoStepVerificationState) + +CameraUploadsPolicyState._disabled_validator = bv.Void() +CameraUploadsPolicyState._enabled_validator = bv.Void() +CameraUploadsPolicyState._other_validator = bv.Void() +CameraUploadsPolicyState._tagmap = { + 'disabled': CameraUploadsPolicyState._disabled_validator, + 'enabled': CameraUploadsPolicyState._enabled_validator, + 'other': CameraUploadsPolicyState._other_validator, +} + +CameraUploadsPolicyState.disabled = CameraUploadsPolicyState('disabled') +CameraUploadsPolicyState.enabled = CameraUploadsPolicyState('enabled') +CameraUploadsPolicyState.other = CameraUploadsPolicyState('other') + EmmState._disabled_validator = bv.Void() EmmState._optional_validator = bv.Void() EmmState._required_validator = bv.Void() @@ -865,6 +1385,16 @@ EmmState.optional = EmmState('optional') EmmState.required = EmmState('required') EmmState.other = EmmState('other') +GroupCreation._admins_and_members_validator = bv.Void() +GroupCreation._admins_only_validator = bv.Void() +GroupCreation._tagmap = { + 'admins_and_members': GroupCreation._admins_and_members_validator, + 'admins_only': GroupCreation._admins_only_validator, +} + +GroupCreation.admins_and_members = GroupCreation('admins_and_members') +GroupCreation.admins_only = GroupCreation('admins_only') + OfficeAddInPolicy._disabled_validator = bv.Void() OfficeAddInPolicy._enabled_validator = bv.Void() OfficeAddInPolicy._other_validator = bv.Void() @@ -878,6 +1408,19 @@ OfficeAddInPolicy.disabled = OfficeAddInPolicy('disabled') OfficeAddInPolicy.enabled = OfficeAddInPolicy('enabled') OfficeAddInPolicy.other = OfficeAddInPolicy('other') +PaperDefaultFolderPolicy._everyone_in_team_validator = bv.Void() +PaperDefaultFolderPolicy._invite_only_validator = bv.Void() +PaperDefaultFolderPolicy._other_validator = bv.Void() +PaperDefaultFolderPolicy._tagmap = { + 'everyone_in_team': PaperDefaultFolderPolicy._everyone_in_team_validator, + 'invite_only': PaperDefaultFolderPolicy._invite_only_validator, + 'other': PaperDefaultFolderPolicy._other_validator, +} + +PaperDefaultFolderPolicy.everyone_in_team = PaperDefaultFolderPolicy('everyone_in_team') +PaperDefaultFolderPolicy.invite_only = PaperDefaultFolderPolicy('invite_only') +PaperDefaultFolderPolicy.other = PaperDefaultFolderPolicy('other') + PaperDeploymentPolicy._full_validator = bv.Void() PaperDeploymentPolicy._partial_validator = bv.Void() PaperDeploymentPolicy._other_validator = bv.Void() @@ -891,6 +1434,19 @@ PaperDeploymentPolicy.full = PaperDeploymentPolicy('full') PaperDeploymentPolicy.partial = PaperDeploymentPolicy('partial') PaperDeploymentPolicy.other = PaperDeploymentPolicy('other') +PaperDesktopPolicy._disabled_validator = bv.Void() +PaperDesktopPolicy._enabled_validator = bv.Void() +PaperDesktopPolicy._other_validator = bv.Void() +PaperDesktopPolicy._tagmap = { + 'disabled': PaperDesktopPolicy._disabled_validator, + 'enabled': PaperDesktopPolicy._enabled_validator, + 'other': PaperDesktopPolicy._other_validator, +} + +PaperDesktopPolicy.disabled = PaperDesktopPolicy('disabled') +PaperDesktopPolicy.enabled = PaperDesktopPolicy('enabled') +PaperDesktopPolicy.other = PaperDesktopPolicy('other') + PaperEnabledPolicy._disabled_validator = bv.Void() PaperEnabledPolicy._enabled_validator = bv.Void() PaperEnabledPolicy._unspecified_validator = bv.Void() @@ -978,6 +1534,58 @@ SharedLinkCreatePolicy.default_team_only = SharedLinkCreatePolicy('default_team_ SharedLinkCreatePolicy.team_only = SharedLinkCreatePolicy('team_only') SharedLinkCreatePolicy.other = SharedLinkCreatePolicy('other') +ShowcaseDownloadPolicy._disabled_validator = bv.Void() +ShowcaseDownloadPolicy._enabled_validator = bv.Void() +ShowcaseDownloadPolicy._other_validator = bv.Void() +ShowcaseDownloadPolicy._tagmap = { + 'disabled': ShowcaseDownloadPolicy._disabled_validator, + 'enabled': ShowcaseDownloadPolicy._enabled_validator, + 'other': ShowcaseDownloadPolicy._other_validator, +} + +ShowcaseDownloadPolicy.disabled = ShowcaseDownloadPolicy('disabled') +ShowcaseDownloadPolicy.enabled = ShowcaseDownloadPolicy('enabled') +ShowcaseDownloadPolicy.other = ShowcaseDownloadPolicy('other') + +ShowcaseEnabledPolicy._disabled_validator = bv.Void() +ShowcaseEnabledPolicy._enabled_validator = bv.Void() +ShowcaseEnabledPolicy._other_validator = bv.Void() +ShowcaseEnabledPolicy._tagmap = { + 'disabled': ShowcaseEnabledPolicy._disabled_validator, + 'enabled': ShowcaseEnabledPolicy._enabled_validator, + 'other': ShowcaseEnabledPolicy._other_validator, +} + +ShowcaseEnabledPolicy.disabled = ShowcaseEnabledPolicy('disabled') +ShowcaseEnabledPolicy.enabled = ShowcaseEnabledPolicy('enabled') +ShowcaseEnabledPolicy.other = ShowcaseEnabledPolicy('other') + +ShowcaseExternalSharingPolicy._disabled_validator = bv.Void() +ShowcaseExternalSharingPolicy._enabled_validator = bv.Void() +ShowcaseExternalSharingPolicy._other_validator = bv.Void() +ShowcaseExternalSharingPolicy._tagmap = { + 'disabled': ShowcaseExternalSharingPolicy._disabled_validator, + 'enabled': ShowcaseExternalSharingPolicy._enabled_validator, + 'other': ShowcaseExternalSharingPolicy._other_validator, +} + +ShowcaseExternalSharingPolicy.disabled = ShowcaseExternalSharingPolicy('disabled') +ShowcaseExternalSharingPolicy.enabled = ShowcaseExternalSharingPolicy('enabled') +ShowcaseExternalSharingPolicy.other = ShowcaseExternalSharingPolicy('other') + +SmartSyncPolicy._local_validator = bv.Void() +SmartSyncPolicy._on_demand_validator = bv.Void() +SmartSyncPolicy._other_validator = bv.Void() +SmartSyncPolicy._tagmap = { + 'local': SmartSyncPolicy._local_validator, + 'on_demand': SmartSyncPolicy._on_demand_validator, + 'other': SmartSyncPolicy._other_validator, +} + +SmartSyncPolicy.local = SmartSyncPolicy('local') +SmartSyncPolicy.on_demand = SmartSyncPolicy('on_demand') +SmartSyncPolicy.other = SmartSyncPolicy('other') + SsoPolicy._disabled_validator = bv.Void() SsoPolicy._optional_validator = bv.Void() SsoPolicy._required_validator = bv.Void() @@ -1035,6 +1643,19 @@ TwoStepVerificationPolicy.require_tfa_enable = TwoStepVerificationPolicy('requir TwoStepVerificationPolicy.require_tfa_disable = TwoStepVerificationPolicy('require_tfa_disable') TwoStepVerificationPolicy.other = TwoStepVerificationPolicy('other') +TwoStepVerificationState._required_validator = bv.Void() +TwoStepVerificationState._optional_validator = bv.Void() +TwoStepVerificationState._other_validator = bv.Void() +TwoStepVerificationState._tagmap = { + 'required': TwoStepVerificationState._required_validator, + 'optional': TwoStepVerificationState._optional_validator, + 'other': TwoStepVerificationState._other_validator, +} + +TwoStepVerificationState.required = TwoStepVerificationState('required') +TwoStepVerificationState.optional = TwoStepVerificationState('optional') +TwoStepVerificationState.other = TwoStepVerificationState('other') + ROUTES = { } diff --git a/resources/lib/dropbox/users.py b/resources/lib/dropbox/users.py index dce00af..5dcc6da 100644 --- a/resources/lib/dropbox/users.py +++ b/resources/lib/dropbox/users.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file """ @@ -9,7 +10,7 @@ This namespace contains endpoints and data types for user management. try: from . import stone_validators as bv from . import stone_base as bb -except (SystemError, ValueError): +except (ImportError, 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 @@ -17,27 +18,32 @@ except (SystemError, ValueError): try: from . import ( + common, + team_common, team_policies, users_common, ) -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): + import common + import team_common import team_policies import users_common -class Account(object): +class Account(bb.Struct): """ The amount of detail revealed about an account depends on the user being queried and the user making the query. - :ivar account_id: The user's unique Dropbox ID. - :ivar name: Details of a user's name. - :ivar email: The user's e-mail address. Do not rely on this without checking - the ``email_verified`` field. Even then, it's possible that the user has - since lost access to their e-mail. - :ivar email_verified: Whether the user has verified their e-mail address. - :ivar profile_photo_url: URL for the photo representing the user, if one is - set. - :ivar disabled: Whether the user has been disabled. + :ivar users.Account.account_id: The user's unique Dropbox ID. + :ivar users.Account.name: Details of a user's name. + :ivar users.Account.email: The user's e-mail address. Do not rely on this + without checking the ``email_verified`` field. Even then, it's possible + that the user has since lost access to their e-mail. + :ivar users.Account.email_verified: Whether the user has verified their + e-mail address. + :ivar users.Account.profile_photo_url: URL for the photo representing the + user, if one is set. + :ivar users.Account.disabled: Whether the user has been disabled. """ __slots__ = [ @@ -232,6 +238,9 @@ class Account(object): self._disabled_value = None self._disabled_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Account, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Account(account_id={!r}, name={!r}, email={!r}, email_verified={!r}, disabled={!r}, profile_photo_url={!r})'.format( self._account_id_value, @@ -248,11 +257,12 @@ class BasicAccount(Account): """ Basic information about any account. - :ivar is_teammate: Whether this user is a teammate of the current user. If - this account is the current user's account, then this will be ``True``. - :ivar team_member_id: The user's unique team member id. This field will only - be present if the user is part of a team and ``is_teammate`` is - ``True``. + :ivar users.BasicAccount.is_teammate: Whether this user is a teammate of the + current user. If this account is the current user's account, then this + will be ``True``. + :ivar users.BasicAccount.team_member_id: The user's unique team member id. + This field will only be present if the user is part of a team and + ``is_teammate`` is ``True``. """ __slots__ = [ @@ -339,6 +349,9 @@ class BasicAccount(Account): self._team_member_id_value = None self._team_member_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(BasicAccount, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'BasicAccount(account_id={!r}, name={!r}, email={!r}, email_verified={!r}, disabled={!r}, is_teammate={!r}, profile_photo_url={!r}, team_member_id={!r})'.format( self._account_id_value, @@ -357,21 +370,23 @@ class FullAccount(Account): """ Detailed information about the current user's account. - :ivar country: The user's two-letter country code, if available. Country - codes are based on `ISO 3166-1 + :ivar users.FullAccount.country: The user's two-letter country code, if + available. Country codes are based on `ISO 3166-1 `_. - :ivar locale: The language that the user specified. Locale tags will be - `IETF language tags `_. - :ivar referral_link: The user's `referral link + :ivar users.FullAccount.locale: The language that the user specified. Locale + tags will be `IETF language tags + `_. + :ivar users.FullAccount.referral_link: The user's `referral link `_. - :ivar team: If this account is a member of a team, information about that - team. - :ivar team_member_id: This account's unique team member id. This field will - only be present if ``team`` is present. - :ivar is_paired: Whether the user has a personal and work account. If the - current account is personal, then ``team`` will always be None, but - ``is_paired`` will indicate if a work account is linked. - :ivar account_type: What type of account this user has. + :ivar users.FullAccount.team: If this account is a member of a team, + information about that team. + :ivar users.FullAccount.team_member_id: This account's unique team member + id. This field will only be present if ``team`` is present. + :ivar users.FullAccount.is_paired: Whether the user has a personal and work + account. If the current account is personal, then ``team`` will always + be None, but ``is_paired`` will indicate if a work account is linked. + :ivar users.FullAccount.account_type: What type of account this user has. + :ivar users.FullAccount.root_info: The root info for this account. """ __slots__ = [ @@ -389,6 +404,8 @@ class FullAccount(Account): '_is_paired_present', '_account_type_value', '_account_type_present', + '_root_info_value', + '_root_info_present', ] _has_required_fields = True @@ -403,6 +420,7 @@ class FullAccount(Account): referral_link=None, is_paired=None, account_type=None, + root_info=None, profile_photo_url=None, country=None, team=None, @@ -427,6 +445,8 @@ class FullAccount(Account): self._is_paired_present = False self._account_type_value = None self._account_type_present = False + self._root_info_value = None + self._root_info_present = False if country is not None: self.country = country if locale is not None: @@ -441,6 +461,8 @@ class FullAccount(Account): self.is_paired = is_paired if account_type is not None: self.account_type = account_type + if root_info is not None: + self.root_info = root_info @property def country(self): @@ -599,7 +621,7 @@ class FullAccount(Account): """ What type of account this user has. - :rtype: users_common.AccountType_validator + :rtype: users_common.AccountType """ if self._account_type_present: return self._account_type_value @@ -617,8 +639,34 @@ class FullAccount(Account): self._account_type_value = None self._account_type_present = False + @property + def root_info(self): + """ + The root info for this account. + + :rtype: common.RootInfo + """ + if self._root_info_present: + return self._root_info_value + else: + raise AttributeError("missing required field 'root_info'") + + @root_info.setter + def root_info(self, val): + self._root_info_validator.validate_type_only(val) + self._root_info_value = val + self._root_info_present = True + + @root_info.deleter + def root_info(self): + self._root_info_value = None + self._root_info_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FullAccount, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'FullAccount(account_id={!r}, name={!r}, email={!r}, email_verified={!r}, disabled={!r}, locale={!r}, referral_link={!r}, is_paired={!r}, account_type={!r}, profile_photo_url={!r}, country={!r}, team={!r}, team_member_id={!r})'.format( + return 'FullAccount(account_id={!r}, name={!r}, email={!r}, email_verified={!r}, disabled={!r}, locale={!r}, referral_link={!r}, is_paired={!r}, account_type={!r}, root_info={!r}, profile_photo_url={!r}, country={!r}, team={!r}, team_member_id={!r})'.format( self._account_id_value, self._name_value, self._email_value, @@ -628,6 +676,7 @@ class FullAccount(Account): self._referral_link_value, self._is_paired_value, self._account_type_value, + self._root_info_value, self._profile_photo_url_value, self._country_value, self._team_value, @@ -636,12 +685,12 @@ class FullAccount(Account): FullAccount_validator = bv.Struct(FullAccount) -class Team(object): +class Team(bb.Struct): """ Information about a team. - :ivar id: The team's unique ID. - :ivar name: The name of the team. + :ivar users.Team.id: The team's unique ID. + :ivar users.Team.name: The name of the team. """ __slots__ = [ @@ -711,6 +760,9 @@ class Team(object): self._name_value = None self._name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Team, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Team(id={!r}, name={!r})'.format( self._id_value, @@ -723,9 +775,9 @@ class FullTeam(Team): """ Detailed information about a team. - :ivar sharing_policies: Team policies governing sharing. - :ivar office_addin_policy: Team policy governing the use of the Office - Add-In. + :ivar users.FullTeam.sharing_policies: Team policies governing sharing. + :ivar users.FullTeam.office_addin_policy: Team policy governing the use of + the Office Add-In. """ __slots__ = [ @@ -758,7 +810,7 @@ class FullTeam(Team): """ Team policies governing sharing. - :rtype: team_policies.TeamSharingPolicies_validator + :rtype: team_policies.TeamSharingPolicies """ if self._sharing_policies_present: return self._sharing_policies_value @@ -781,7 +833,7 @@ class FullTeam(Team): """ Team policy governing the use of the Office Add-In. - :rtype: team_policies.OfficeAddInPolicy_validator + :rtype: team_policies.OfficeAddInPolicy """ if self._office_addin_policy_present: return self._office_addin_policy_value @@ -799,6 +851,9 @@ class FullTeam(Team): self._office_addin_policy_value = None self._office_addin_policy_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(FullTeam, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'FullTeam(id={!r}, name={!r}, sharing_policies={!r}, office_addin_policy={!r})'.format( self._id_value, @@ -809,9 +864,9 @@ class FullTeam(Team): FullTeam_validator = bv.Struct(FullTeam) -class GetAccountArg(object): +class GetAccountArg(bb.Struct): """ - :ivar account_id: A user's account identifier. + :ivar users.GetAccountArg.account_id: A user's account identifier. """ __slots__ = [ @@ -851,6 +906,9 @@ class GetAccountArg(object): self._account_id_value = None self._account_id_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetAccountArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetAccountArg(account_id={!r})'.format( self._account_id_value, @@ -858,10 +916,10 @@ class GetAccountArg(object): GetAccountArg_validator = bv.Struct(GetAccountArg) -class GetAccountBatchArg(object): +class GetAccountBatchArg(bb.Struct): """ - :ivar account_ids: List of user account identifiers. Should not contain any - duplicate account IDs. + :ivar users.GetAccountBatchArg.account_ids: List of user account + identifiers. Should not contain any duplicate account IDs. """ __slots__ = [ @@ -902,6 +960,9 @@ class GetAccountBatchArg(object): self._account_ids_value = None self._account_ids_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetAccountBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetAccountBatchArg(account_ids={!r})'.format( self._account_ids_value, @@ -915,8 +976,9 @@ class GetAccountBatchError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar str no_account: The value is an account ID specified in - :field:`GetAccountBatchArg.account_ids` that does not exist. + :ivar str users.GetAccountBatchError.no_account: The value is an account ID + specified in :field:`GetAccountBatchArg.account_ids` that does not + exist. """ _catch_all = 'other' @@ -963,6 +1025,9 @@ class GetAccountBatchError(bb.Union): raise AttributeError("tag 'no_account' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetAccountBatchError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetAccountBatchError(%r, %r)' % (self._tag, self._value) @@ -974,7 +1039,8 @@ class GetAccountError(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar no_account: The specified ``GetAccountArg.account_id`` does not exist. + :ivar users.GetAccountError.no_account: The specified + ``GetAccountArg.account_id`` does not exist. """ _catch_all = 'other' @@ -999,14 +1065,18 @@ class GetAccountError(bb.Union): """ return self._tag == 'other' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(GetAccountError, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'GetAccountError(%r, %r)' % (self._tag, self._value) GetAccountError_validator = bv.Union(GetAccountError) -class IndividualSpaceAllocation(object): +class IndividualSpaceAllocation(bb.Struct): """ - :ivar allocated: The total space allocated to the user's account (bytes). + :ivar users.IndividualSpaceAllocation.allocated: The total space allocated + to the user's account (bytes). """ __slots__ = [ @@ -1028,7 +1098,7 @@ class IndividualSpaceAllocation(object): """ The total space allocated to the user's account (bytes). - :rtype: long + :rtype: int """ if self._allocated_present: return self._allocated_value @@ -1046,6 +1116,9 @@ class IndividualSpaceAllocation(object): self._allocated_value = None self._allocated_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(IndividualSpaceAllocation, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'IndividualSpaceAllocation(allocated={!r})'.format( self._allocated_value, @@ -1053,19 +1126,19 @@ class IndividualSpaceAllocation(object): IndividualSpaceAllocation_validator = bv.Struct(IndividualSpaceAllocation) -class Name(object): +class Name(bb.Struct): """ Representations for a person's name to assist with internationalization. - :ivar given_name: Also known as a first name. - :ivar surname: Also known as a last name or family name. - :ivar familiar_name: Locale-dependent name. In the US, a person's familiar - name is their ``given_name``, but elsewhere, it could be any combination - of a person's ``given_name`` and ``surname``. - :ivar display_name: A name that can be used directly to represent the name - of a user's Dropbox account. - :ivar abbreviated_name: An abbreviated form of the person's name. Their - initials in most locales. + :ivar users.Name.given_name: Also known as a first name. + :ivar users.Name.surname: Also known as a last name or family name. + :ivar users.Name.familiar_name: Locale-dependent name. In the US, a person's + familiar name is their ``given_name``, but elsewhere, it could be any + combination of a person's ``given_name`` and ``surname``. + :ivar users.Name.display_name: A name that can be used directly to represent + the name of a user's Dropbox account. + :ivar users.Name.abbreviated_name: An abbreviated form of the person's name. + Their initials in most locales. """ __slots__ = [ @@ -1229,6 +1302,9 @@ class Name(object): self._abbreviated_name_value = None self._abbreviated_name_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(Name, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'Name(given_name={!r}, surname={!r}, familiar_name={!r}, display_name={!r}, abbreviated_name={!r})'.format( self._given_name_value, @@ -1248,10 +1324,10 @@ class SpaceAllocation(bb.Union): return true. To get the associated value of a tag (if one exists), use the corresponding ``get_*`` method. - :ivar IndividualSpaceAllocation individual: The user's space allocation - applies only to their individual account. - :ivar TeamSpaceAllocation team: The user shares space with other members of - their team. + :ivar IndividualSpaceAllocation SpaceAllocation.individual: The user's space + allocation applies only to their individual account. + :ivar TeamSpaceAllocation SpaceAllocation.team: The user shares space with + other members of their team. """ _catch_all = 'other' @@ -1328,17 +1404,20 @@ class SpaceAllocation(bb.Union): raise AttributeError("tag 'team' not set") return self._value + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SpaceAllocation, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SpaceAllocation(%r, %r)' % (self._tag, self._value) SpaceAllocation_validator = bv.Union(SpaceAllocation) -class SpaceUsage(object): +class SpaceUsage(bb.Struct): """ Information about a user's space usage and quota. - :ivar used: The user's total space usage (bytes). - :ivar allocation: The user's space allocation. + :ivar users.SpaceUsage.used: The user's total space usage (bytes). + :ivar users.SpaceUsage.allocation: The user's space allocation. """ __slots__ = [ @@ -1367,7 +1446,7 @@ class SpaceUsage(object): """ The user's total space usage (bytes). - :rtype: long + :rtype: int """ if self._used_present: return self._used_value @@ -1408,6 +1487,9 @@ class SpaceUsage(object): self._allocation_value = None self._allocation_present = False + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(SpaceUsage, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'SpaceUsage(used={!r}, allocation={!r})'.format( self._used_value, @@ -1416,10 +1498,18 @@ class SpaceUsage(object): SpaceUsage_validator = bv.Struct(SpaceUsage) -class TeamSpaceAllocation(object): +class TeamSpaceAllocation(bb.Struct): """ - :ivar used: The total space currently used by the user's team (bytes). - :ivar allocated: The total space allocated to the user's team (bytes). + :ivar users.TeamSpaceAllocation.used: The total space currently used by the + user's team (bytes). + :ivar users.TeamSpaceAllocation.allocated: The total space allocated to the + user's team (bytes). + :ivar users.TeamSpaceAllocation.user_within_team_space_allocated: The total + space allocated to the user within its team allocated space (0 means + that no restriction is imposed on the user's quota within its team). + :ivar users.TeamSpaceAllocation.user_within_team_space_limit_type: The type + of the space limit imposed on the team member (off, alert_only, + stop_sync). """ __slots__ = [ @@ -1427,28 +1517,42 @@ class TeamSpaceAllocation(object): '_used_present', '_allocated_value', '_allocated_present', + '_user_within_team_space_allocated_value', + '_user_within_team_space_allocated_present', + '_user_within_team_space_limit_type_value', + '_user_within_team_space_limit_type_present', ] _has_required_fields = True def __init__(self, used=None, - allocated=None): + allocated=None, + user_within_team_space_allocated=None, + user_within_team_space_limit_type=None): self._used_value = None self._used_present = False self._allocated_value = None self._allocated_present = False + self._user_within_team_space_allocated_value = None + self._user_within_team_space_allocated_present = False + self._user_within_team_space_limit_type_value = None + self._user_within_team_space_limit_type_present = False if used is not None: self.used = used if allocated is not None: self.allocated = allocated + if user_within_team_space_allocated is not None: + self.user_within_team_space_allocated = user_within_team_space_allocated + if user_within_team_space_limit_type is not None: + self.user_within_team_space_limit_type = user_within_team_space_limit_type @property def used(self): """ The total space currently used by the user's team (bytes). - :rtype: long + :rtype: int """ if self._used_present: return self._used_value @@ -1471,7 +1575,7 @@ class TeamSpaceAllocation(object): """ The total space allocated to the user's team (bytes). - :rtype: long + :rtype: int """ if self._allocated_present: return self._allocated_value @@ -1489,10 +1593,64 @@ class TeamSpaceAllocation(object): self._allocated_value = None self._allocated_present = False + @property + def user_within_team_space_allocated(self): + """ + The total space allocated to the user within its team allocated space (0 + means that no restriction is imposed on the user's quota within its + team). + + :rtype: int + """ + if self._user_within_team_space_allocated_present: + return self._user_within_team_space_allocated_value + else: + raise AttributeError("missing required field 'user_within_team_space_allocated'") + + @user_within_team_space_allocated.setter + def user_within_team_space_allocated(self, val): + val = self._user_within_team_space_allocated_validator.validate(val) + self._user_within_team_space_allocated_value = val + self._user_within_team_space_allocated_present = True + + @user_within_team_space_allocated.deleter + def user_within_team_space_allocated(self): + self._user_within_team_space_allocated_value = None + self._user_within_team_space_allocated_present = False + + @property + def user_within_team_space_limit_type(self): + """ + The type of the space limit imposed on the team member (off, alert_only, + stop_sync). + + :rtype: team_common.MemberSpaceLimitType + """ + if self._user_within_team_space_limit_type_present: + return self._user_within_team_space_limit_type_value + else: + raise AttributeError("missing required field 'user_within_team_space_limit_type'") + + @user_within_team_space_limit_type.setter + def user_within_team_space_limit_type(self, val): + self._user_within_team_space_limit_type_validator.validate_type_only(val) + self._user_within_team_space_limit_type_value = val + self._user_within_team_space_limit_type_present = True + + @user_within_team_space_limit_type.deleter + def user_within_team_space_limit_type(self): + self._user_within_team_space_limit_type_value = None + self._user_within_team_space_limit_type_present = False + + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(TeamSpaceAllocation, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): - return 'TeamSpaceAllocation(used={!r}, allocated={!r})'.format( + return 'TeamSpaceAllocation(used={!r}, allocated={!r}, user_within_team_space_allocated={!r}, user_within_team_space_limit_type={!r})'.format( self._used_value, self._allocated_value, + self._user_within_team_space_allocated_value, + self._user_within_team_space_limit_type_value, ) TeamSpaceAllocation_validator = bv.Struct(TeamSpaceAllocation) @@ -1539,6 +1697,7 @@ 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 = users_common.AccountType_validator +FullAccount._root_info_validator = common.RootInfo_validator FullAccount._all_field_names_ = Account._all_field_names_.union(set([ 'country', 'locale', @@ -1547,6 +1706,7 @@ FullAccount._all_field_names_ = Account._all_field_names_.union(set([ 'team_member_id', 'is_paired', 'account_type', + 'root_info', ])) FullAccount._all_fields_ = Account._all_fields_ + [ ('country', FullAccount._country_validator), @@ -1556,6 +1716,7 @@ FullAccount._all_fields_ = Account._all_fields_ + [ ('team_member_id', FullAccount._team_member_id_validator), ('is_paired', FullAccount._is_paired_validator), ('account_type', FullAccount._account_type_validator), + ('root_info', FullAccount._root_info_validator), ] Team._id_validator = bv.String() @@ -1655,17 +1816,24 @@ SpaceUsage._all_fields_ = [ TeamSpaceAllocation._used_validator = bv.UInt64() TeamSpaceAllocation._allocated_validator = bv.UInt64() +TeamSpaceAllocation._user_within_team_space_allocated_validator = bv.UInt64() +TeamSpaceAllocation._user_within_team_space_limit_type_validator = team_common.MemberSpaceLimitType_validator TeamSpaceAllocation._all_field_names_ = set([ 'used', 'allocated', + 'user_within_team_space_allocated', + 'user_within_team_space_limit_type', ]) TeamSpaceAllocation._all_fields_ = [ ('used', TeamSpaceAllocation._used_validator), ('allocated', TeamSpaceAllocation._allocated_validator), + ('user_within_team_space_allocated', TeamSpaceAllocation._user_within_team_space_allocated_validator), + ('user_within_team_space_limit_type', TeamSpaceAllocation._user_within_team_space_limit_type_validator), ] get_account = bb.Route( 'get_account', + 1, False, GetAccountArg_validator, BasicAccount_validator, @@ -1675,6 +1843,7 @@ get_account = bb.Route( ) get_account_batch = bb.Route( 'get_account_batch', + 1, False, GetAccountBatchArg_validator, GetAccountBatchResult_validator, @@ -1684,6 +1853,7 @@ get_account_batch = bb.Route( ) get_current_account = bb.Route( 'get_current_account', + 1, False, bv.Void(), FullAccount_validator, @@ -1693,6 +1863,7 @@ get_current_account = bb.Route( ) get_space_usage = bb.Route( 'get_space_usage', + 1, False, bv.Void(), SpaceUsage_validator, diff --git a/resources/lib/dropbox/users_common.py b/resources/lib/dropbox/users_common.py index 37f2f60..51483c2 100644 --- a/resources/lib/dropbox/users_common.py +++ b/resources/lib/dropbox/users_common.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # Auto-generated by Stone, do not modify. +# @generated # flake8: noqa # pylint: skip-file """ @@ -9,7 +10,7 @@ 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): +except (ImportError, 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 @@ -23,9 +24,9 @@ class AccountType(bb.Union): 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. + :ivar users_common.AccountType.basic: The basic account type. + :ivar users_common.AccountType.pro: The Dropbox Pro account type. + :ivar users_common.AccountType.business: The Dropbox Business account type. """ _catch_all = None @@ -60,6 +61,9 @@ class AccountType(bb.Union): """ return self._tag == 'business' + def _process_custom_annotations(self, annotation_type, field_path, processor): + super(AccountType, self)._process_custom_annotations(annotation_type, field_path, processor) + def __repr__(self): return 'AccountType(%r, %r)' % (self._tag, self._value)