pax_global_header 0000666 0000000 0000000 00000000064 13500550210 0014501 g ustar 00root root 0000000 0000000 52 comment=6d1f96b33b08493f80fe027a5bcb8652c0afef2d
dropbox-sdk-python-9.4.0/ 0000775 0000000 0000000 00000000000 13500550210 0015266 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/.gitignore 0000664 0000000 0000000 00000000172 13500550210 0017256 0 ustar 00root root 0000000 0000000 /.cache/
/.eggs/
/.idea/
/.tox/
/build/
/dist/
/docs/_build/
__pycache__/
.DS_Store
*.egg
*.egg-info/
*.pyc
*.pyo
*~
.venv dropbox-sdk-python-9.4.0/.gitmodules 0000664 0000000 0000000 00000000245 13500550210 0017444 0 ustar 00root root 0000000 0000000 [submodule "stone"]
path = stone
url = https://github.com/dropbox/stone.git
[submodule "spec"]
path = spec
url = https://github.com/dropbox/dropbox-api-spec.git
dropbox-sdk-python-9.4.0/.pylintrc 0000664 0000000 0000000 00000000252 13500550210 0017132 0 ustar 00root root 0000000 0000000 [MESSAGES CONTROL]
disable=C,R,file-ignored,fixme,locally-disabled,protected-access,useless-else-on-loop,unnecessary-pass
enable=useless-suppression
[REPORTS]
reports=n
dropbox-sdk-python-9.4.0/.readthedocs.yml 0000664 0000000 0000000 00000000201 13500550210 0020345 0 ustar 00root root 0000000 0000000 # .readthedocs.yml
# Don't build any extra formats
# https://docs.readthedocs.io/en/latest/yaml-config.html#formats
formats: []
dropbox-sdk-python-9.4.0/.travis.yml 0000664 0000000 0000000 00000000440 13500550210 0017375 0 ustar 00root root 0000000 0000000 language: python
python:
- "2.7"
- pypy
- "3.4"
- "3.5"
- pypy3
install:
- pip install tox-travis
matrix:
allow_failures:
# PyPy 3k probably won't work until it acquires compatibility with
# >= 3.4
- python: pypy3
script:
- tox
dropbox-sdk-python-9.4.0/LICENSE 0000664 0000000 0000000 00000002176 13500550210 0016301 0 ustar 00root root 0000000 0000000 Copyright (c) 2015-2017 Dropbox Inc., http://www.dropbox.com/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
dropbox-sdk-python-9.4.0/MANIFEST.in 0000664 0000000 0000000 00000000120 13500550210 0017015 0 ustar 00root root 0000000 0000000 include ez_setup.py
include LICENSE
include *.rst
include test/requirements.txt
dropbox-sdk-python-9.4.0/README.rst 0000664 0000000 0000000 00000007464 13500550210 0016770 0 ustar 00root root 0000000 0000000 Dropbox for Python
==================
.. image:: https://travis-ci.org/dropbox/dropbox-sdk-python.svg?branch=v9.4.0
:target: https://travis-ci.org/dropbox/dropbox-sdk-python
.. image:: https://readthedocs.org/projects/dropbox-sdk-python/badge/?version=stable
:target: https://dropbox-sdk-python.readthedocs.org/en/stable/
:alt: [Latest Release Documentation]
.. image:: https://img.shields.io/pypi/v/dropbox.svg
:target: https://pypi.python.org/pypi/dropbox
:alt: [Latest Release Version]
.. image:: https://img.shields.io/pypi/l/dropbox.svg
:target: http://opensource.org/licenses/MIT
:alt: [Latest Release License]
.. image:: https://img.shields.io/pypi/pyversions/dropbox.svg
:target: https://pypi.python.org/pypi/dropbox
:alt: [Latest Release Supported Python Versions]
.. image:: https://img.shields.io/pypi/implementation/dropbox.svg
:target: https://pypi.python.org/pypi/dropbox
:alt: [Latest Release Supported Python Implementations]
.. image:: https://img.shields.io/pypi/status/dropbox.svg
:target: https://pypi.python.org/pypi/dropbox
:alt: [Latest Release Development Stage]
A Python SDK for integrating with the Dropbox API v2. Compatible with Python
2.7 and 3.4+. Documentation is available on `Read the Docs
`_.
Installation
------------
Install via ``pip``:
.. code-block:: console
$ pip install dropbox
Install from source:
.. code-block:: console
$ git clone git://github.com/dropbox/dropbox-sdk-python.git
$ cd dropbox-sdk-python
$ python setup.py install
After installation, to get started, open a Python console:
.. code-block:: pycon
>>> import dropbox
>>> dbx = dropbox.Dropbox("YOUR_ACCESS_TOKEN")
>>> dbx.users_get_current_account()
Creating an Application
-----------------------
You need to create an Dropbox Application to make API requests.
- Go to https://dropbox.com/developers/apps.
Obtaining an Access Token
-------------------------
All requests need to be made with an OAuth 2 access token. To get started, once
you've created an app, you can go to the app's console and generate an access
token for your own Dropbox account.
Examples
--------
``example/updown.py`` demonstrates how to sync a local directory with a Dropbox.
Documentation
-------------
Documentation can be compiled by running ``make html`` from the ``docs``
folder. After compilation, open ``docs/_build/html/index.html``. Alternatively,
you can read a hosted version from `Read the Docs`_.
Updating API specification
--------------------------
A good amount of this SDK is generated using `Stone
`_. We use git submodules to pin to a
specific version of `Stone` since it's under active development, and we also
pin to a version of our `API spec
`_.
To prepare the repo for generation, run these commands after cloning:
.. code-block:: console
$ git submodule init
$ git submodule update
You can run ``git pull`` within these sub repositories to update the pinned
version.
Now, run the included script:
.. code-block:: console
$ ./generate_base_client.py
Testing
-------
We use the `tox `_ package to run tests in Python
2 and 3. To install, use :code:`pip install tox`. Once installed, run `tox` from the
root directory. You'll need to specify a working Dropbox OAuth2 token:
.. code-block:: console
$ DROPBOX_TOKEN=YOUR_TOKEN tox -- -k "'not test_team'"
Note that we skip ``test_team`` which requires a team token with `Member File Access
`_.
To test this functionality, specify a ``DROPBOX_TEAM_TOKEN`` environment
variable.
.. code-block:: console
$ DROPBOX_TOKEN=... DROPBOX_TEAM_TOKEN=... tox
dropbox-sdk-python-9.4.0/docs/ 0000775 0000000 0000000 00000000000 13500550210 0016216 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/docs/Makefile 0000664 0000000 0000000 00000002547 13500550210 0017666 0 ustar 00root root 0000000 0000000 # Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
help:
@echo "Please use \`make ' where is one of"
@echo " html to make standalone HTML files"
clean:
rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dropbox-sdk-python-9.4.0/docs/api/ 0000775 0000000 0000000 00000000000 13500550210 0016767 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/docs/api/async.rst 0000664 0000000 0000000 00000000654 13500550210 0020643 0 ustar 00root root 0000000 0000000 :mod:`dropbox.async_` -- Async
==============================
*As of Python 3.5,* ``async`` *is a reserved keyword. For versions of Python prior to 3.5, the objects documented can be imported from either* ``dropbox.async`` *or* ``dropbox.async_``. *For Python 3.5+, only* ``dropbox.async_`` *is supported.*
.. automodule:: dropbox.async_
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/auth.rst 0000664 0000000 0000000 00000000251 13500550210 0020460 0 ustar 00root root 0000000 0000000 :mod:`dropbox.auth` -- Auth
===========================
.. automodule:: dropbox.auth
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/common.rst 0000664 0000000 0000000 00000000263 13500550210 0021012 0 ustar 00root root 0000000 0000000 :mod:`dropbox.common` -- Common
===============================
.. automodule:: dropbox.common
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/contacts.rst 0000664 0000000 0000000 00000000275 13500550210 0021343 0 ustar 00root root 0000000 0000000 :mod:`dropbox.contacts` -- Contacts
===================================
.. automodule:: dropbox.contacts
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/dropbox.rst 0000664 0000000 0000000 00000000317 13500550210 0021177 0 ustar 00root root 0000000 0000000 :mod:`dropbox.dropbox` -- Dropbox
=================================
.. automodule:: dropbox.dropbox
:members:
:show-inheritance:
:inherited-members:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/exceptions.rst 0000664 0000000 0000000 00000000307 13500550210 0021702 0 ustar 00root root 0000000 0000000 :mod:`dropbox.exceptions` -- Exceptions
=======================================
.. automodule:: dropbox.exceptions
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/file_properties.rst 0000664 0000000 0000000 00000000340 13500550210 0022711 0 ustar 00root root 0000000 0000000 :mod:`dropbox.file_properties` -- File Properties
=================================================
.. automodule:: dropbox.file_properties
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/file_requests.rst 0000664 0000000 0000000 00000000326 13500550210 0022374 0 ustar 00root root 0000000 0000000 :mod:`dropbox.file_requests` -- File Requests
=============================================
.. automodule:: dropbox.file_requests
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/files.rst 0000664 0000000 0000000 00000000256 13500550210 0020626 0 ustar 00root root 0000000 0000000 :mod:`dropbox.files` -- Files
=============================
.. automodule:: dropbox.files
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/oauth.rst 0000664 0000000 0000000 00000000256 13500550210 0020644 0 ustar 00root root 0000000 0000000 :mod:`dropbox.oauth` -- OAuth
=============================
.. automodule:: dropbox.oauth
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/paper.rst 0000664 0000000 0000000 00000000256 13500550210 0020633 0 ustar 00root root 0000000 0000000 :mod:`dropbox.paper` -- Paper
=============================
.. automodule:: dropbox.paper
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/seen_state.rst 0000664 0000000 0000000 00000000307 13500550210 0021653 0 ustar 00root root 0000000 0000000 :mod:`dropbox.seen_state` -- Seen State
=======================================
.. automodule:: dropbox.seen_state
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/sharing.rst 0000664 0000000 0000000 00000000264 13500550210 0021156 0 ustar 00root root 0000000 0000000 :mod:`dropbox.sharing` -- Sharing
=================================
.. automodule:: dropbox.sharing
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/team.rst 0000664 0000000 0000000 00000000251 13500550210 0020445 0 ustar 00root root 0000000 0000000 :mod:`dropbox.team` -- Team
===========================
.. automodule:: dropbox.team
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/team_common.rst 0000664 0000000 0000000 00000000314 13500550210 0022015 0 ustar 00root root 0000000 0000000 :mod:`dropbox.team_common` -- Team Common
=========================================
.. automodule:: dropbox.team_common
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/team_log.rst 0000664 0000000 0000000 00000000275 13500550210 0021314 0 ustar 00root root 0000000 0000000 :mod:`dropbox.team_log` -- Team Log
===================================
.. automodule:: dropbox.team_log
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/team_policies.rst 0000664 0000000 0000000 00000000326 13500550210 0022337 0 ustar 00root root 0000000 0000000 :mod:`dropbox.team_policies` -- Team Policies
=============================================
.. automodule:: dropbox.team_policies
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/users.rst 0000664 0000000 0000000 00000000256 13500550210 0020665 0 ustar 00root root 0000000 0000000 :mod:`dropbox.users` -- Users
=============================
.. automodule:: dropbox.users
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/api/users_common.rst 0000664 0000000 0000000 00000000321 13500550210 0022226 0 ustar 00root root 0000000 0000000 :mod:`dropbox.users_common` -- Users Common
===========================================
.. automodule:: dropbox.users_common
:members:
:show-inheritance:
:special-members: __init__
:undoc-members:
dropbox-sdk-python-9.4.0/docs/conf.py 0000664 0000000 0000000 00000020620 13500550210 0017515 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
#
# Dropbox for Python documentation build configuration file, created by
# sphinx-quickstart on Fri Oct 24 13:42:45 2014.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys
import os
# Assumes that the dropbox package to generate docs for is one-level above in
# the directory hierarchy. This takes precendence over other dropbox packages
# that may be in the sys.path.
sys.path.insert(0, os.path.abspath('..'))
import dropbox
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.mathjax',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Dropbox for Python'
copyright = u'2015-2019, Dropbox, Inc.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = dropbox.__version__
# The full version, including alpha/beta/rc tags.
release = dropbox.__version__
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# " v documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'DropboxforPythondoc'
# -- Options for LaTeX output ---------------------------------------------
#latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
#}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
#latex_documents = [
# ('index2', 'DropboxforPython.tex', u'Dropbox for Python Documentation',
# u'Ken Elkabany', 'manual'),
#]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
#man_pages = [
# ('index2', 'dropboxforpython', u'Dropbox for Python Documentation',
# [u'Dropbox, Inc.'], 1)
#]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
#texinfo_documents = [
# ('index2', 'DropboxforPython', u'Dropbox for Python Documentation',
# u'Dropbox, Inc.', 'DropboxforPython', 'One line description of project.',
# 'Miscellaneous'),
#]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
dropbox-sdk-python-9.4.0/docs/index.rst 0000664 0000000 0000000 00000001031 13500550210 0020052 0 ustar 00root root 0000000 0000000 Dropbox for Python Documentation
================================
.. toctree::
:maxdepth: 2
tutorial
.. toctree::
:maxdepth: 2
api/async
api/auth
api/common
api/contacts
api/dropbox
api/exceptions
api/file_properties
api/file_requests
api/files
api/oauth
api/paper
api/seen_state
api/sharing
api/team
api/team_common
api/team_log
api/team_policies
api/users
api/users_common
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
dropbox-sdk-python-9.4.0/docs/make.bat 0000664 0000000 0000000 00000002453 13500550210 0017627 0 ustar 00root root 0000000 0000000 @ECHO OFF
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set BUILDDIR=_build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
set I18NSPHINXOPTS=%SPHINXOPTS% .
if NOT "%PAPER%" == "" (
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
)
if "%1" == "" goto help
if "%1" == "help" (
:help
echo.Please use `make ^` where ^ is one of
echo. html to make standalone HTML files
goto end
)
if "%1" == "clean" (
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
del /q /s %BUILDDIR%\*
goto end
)
%SPHINXBUILD% 2> nul
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
if "%1" == "html" (
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
goto end
)
:end
dropbox-sdk-python-9.4.0/docs/tutorial.rst 0000664 0000000 0000000 00000000262 13500550210 0020613 0 ustar 00root root 0000000 0000000 ********
Tutorial
********
For a tutorial on how to get started, please visit our
`developers page
`_.
dropbox-sdk-python-9.4.0/dropbox/ 0000775 0000000 0000000 00000000000 13500550210 0016743 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/dropbox/__init__.py 0000664 0000000 0000000 00000000315 13500550210 0021053 0 ustar 00root root 0000000 0000000 from __future__ import absolute_import
from .dropbox import __version__, Dropbox, DropboxTeam, create_session # noqa: F401
from .oauth import DropboxOAuth2Flow, DropboxOAuth2FlowNoRedirect # noqa: F401
dropbox-sdk-python-9.4.0/dropbox/async.py 0000664 0000000 0000000 00000000362 13500550210 0020433 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
# If you have issues importing this module because Python recognizes it as a keyword, use async_ instead.
from .async_ import *
dropbox-sdk-python-9.4.0/dropbox/async_.py 0000664 0000000 0000000 00000025217 13500550210 0020600 0 ustar 00root root 0000000 0000000 # -*- 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 = {
}
dropbox-sdk-python-9.4.0/dropbox/auth.py 0000664 0000000 0000000 00000066155 13500550210 0020273 0 ustar 00root root 0000000 0000000 # -*- 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 AccessError(bb.Union):
"""
Error occurred because the account doesn't have permission to access the
resource.
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 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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def invalid_account_type(cls, val):
"""
Create an instance of this class set to the ``invalid_account_type`` tag
with value ``val``.
:param InvalidAccountTypeError val:
:rtype: AccessError
"""
return cls('invalid_account_type', val)
@classmethod
def paper_access_denied(cls, val):
"""
Create an instance of this class set to the ``paper_access_denied`` tag
with value ``val``.
:param PaperAccessError val:
:rtype: AccessError
"""
return cls('paper_access_denied', val)
def is_invalid_account_type(self):
"""
Check if the union tag is ``invalid_account_type``.
:rtype: bool
"""
return self._tag == 'invalid_account_type'
def is_paper_access_denied(self):
"""
Check if the union tag is ``paper_access_denied``.
:rtype: bool
"""
return self._tag == 'paper_access_denied'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_invalid_account_type(self):
"""
Current account type cannot access the resource.
Only call this if :meth:`is_invalid_account_type` is true.
:rtype: InvalidAccountTypeError
"""
if not self.is_invalid_account_type():
raise AttributeError("tag 'invalid_account_type' not set")
return self._value
def get_paper_access_denied(self):
"""
Current account cannot access Paper.
Only call this if :meth:`is_paper_access_denied` is true.
:rtype: PaperAccessError
"""
if not self.is_paper_access_denied():
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)
AccessError_validator = bv.Union(AccessError)
class AuthError(bb.Union):
"""
Errors occurred during authentication.
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 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'
# Attribute is overwritten below the class definition
invalid_access_token = None
# Attribute is overwritten below the class definition
invalid_select_user = None
# Attribute is overwritten below the class definition
invalid_select_admin = None
# 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``.
:rtype: bool
"""
return self._tag == 'invalid_access_token'
def is_invalid_select_user(self):
"""
Check if the union tag is ``invalid_select_user``.
:rtype: bool
"""
return self._tag == 'invalid_select_user'
def is_invalid_select_admin(self):
"""
Check if the union tag is ``invalid_select_admin``.
:rtype: bool
"""
return self._tag == 'invalid_select_admin'
def is_user_suspended(self):
"""
Check if the union tag is ``user_suspended``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
AuthError_validator = bv.Union(AuthError)
class InvalidAccountTypeError(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 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'
# Attribute is overwritten below the class definition
endpoint = None
# Attribute is overwritten below the class definition
feature = None
# Attribute is overwritten below the class definition
other = None
def is_endpoint(self):
"""
Check if the union tag is ``endpoint``.
:rtype: bool
"""
return self._tag == 'endpoint'
def is_feature(self):
"""
Check if the union tag is ``feature``.
:rtype: bool
"""
return self._tag == 'feature'
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(InvalidAccountTypeError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'InvalidAccountTypeError(%r, %r)' % (self._tag, self._value)
InvalidAccountTypeError_validator = bv.Union(InvalidAccountTypeError)
class PaperAccessError(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 auth.PaperAccessError.paper_disabled: Paper is disabled.
:ivar auth.PaperAccessError.not_paper_user: The provided user has not used
Paper yet.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
paper_disabled = None
# Attribute is overwritten below the class definition
not_paper_user = None
# Attribute is overwritten below the class definition
other = None
def is_paper_disabled(self):
"""
Check if the union tag is ``paper_disabled``.
:rtype: bool
"""
return self._tag == 'paper_disabled'
def is_not_paper_user(self):
"""
Check if the union tag is ``not_paper_user``.
:rtype: bool
"""
return self._tag == 'not_paper_user'
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(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(bb.Struct):
"""
Error occurred because the app is being rate limited.
: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__ = [
'_reason_value',
'_reason_present',
'_retry_after_value',
'_retry_after_present',
]
_has_required_fields = True
def __init__(self,
reason=None,
retry_after=None):
self._reason_value = None
self._reason_present = False
self._retry_after_value = None
self._retry_after_present = False
if reason is not None:
self.reason = reason
if retry_after is not None:
self.retry_after = retry_after
@property
def reason(self):
"""
The reason why the app is being rate limited.
:rtype: RateLimitReason
"""
if self._reason_present:
return self._reason_value
else:
raise AttributeError("missing required field 'reason'")
@reason.setter
def reason(self, val):
self._reason_validator.validate_type_only(val)
self._reason_value = val
self._reason_present = True
@reason.deleter
def reason(self):
self._reason_value = None
self._reason_present = False
@property
def retry_after(self):
"""
The number of seconds that the app should wait before making another
request.
:rtype: int
"""
if self._retry_after_present:
return self._retry_after_value
else:
return 1
@retry_after.setter
def retry_after(self, val):
val = self._retry_after_validator.validate(val)
self._retry_after_value = val
self._retry_after_present = True
@retry_after.deleter
def retry_after(self):
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,
self._retry_after_value,
)
RateLimitError_validator = bv.Struct(RateLimitError)
class RateLimitReason(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 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'
# Attribute is overwritten below the class definition
too_many_requests = None
# Attribute is overwritten below the class definition
too_many_write_operations = None
# Attribute is overwritten below the class definition
other = None
def is_too_many_requests(self):
"""
Check if the union tag is ``too_many_requests``.
:rtype: bool
"""
return self._tag == 'too_many_requests'
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 _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(bb.Struct):
"""
: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__ = [
'_oauth1_token_value',
'_oauth1_token_present',
'_oauth1_token_secret_value',
'_oauth1_token_secret_present',
]
_has_required_fields = True
def __init__(self,
oauth1_token=None,
oauth1_token_secret=None):
self._oauth1_token_value = None
self._oauth1_token_present = False
self._oauth1_token_secret_value = None
self._oauth1_token_secret_present = False
if oauth1_token is not None:
self.oauth1_token = oauth1_token
if oauth1_token_secret is not None:
self.oauth1_token_secret = oauth1_token_secret
@property
def oauth1_token(self):
"""
The supplied OAuth 1.0 access token.
:rtype: str
"""
if self._oauth1_token_present:
return self._oauth1_token_value
else:
raise AttributeError("missing required field 'oauth1_token'")
@oauth1_token.setter
def oauth1_token(self, val):
val = self._oauth1_token_validator.validate(val)
self._oauth1_token_value = val
self._oauth1_token_present = True
@oauth1_token.deleter
def oauth1_token(self):
self._oauth1_token_value = None
self._oauth1_token_present = False
@property
def oauth1_token_secret(self):
"""
The token secret associated with the supplied access token.
:rtype: str
"""
if self._oauth1_token_secret_present:
return self._oauth1_token_secret_value
else:
raise AttributeError("missing required field 'oauth1_token_secret'")
@oauth1_token_secret.setter
def oauth1_token_secret(self, val):
val = self._oauth1_token_secret_validator.validate(val)
self._oauth1_token_secret_value = val
self._oauth1_token_secret_present = True
@oauth1_token_secret.deleter
def oauth1_token_secret(self):
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,
self._oauth1_token_secret_value,
)
TokenFromOAuth1Arg_validator = bv.Struct(TokenFromOAuth1Arg)
class TokenFromOAuth1Error(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 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'
# Attribute is overwritten below the class definition
invalid_oauth1_token_info = None
# Attribute is overwritten below the class definition
app_id_mismatch = None
# Attribute is overwritten below the class definition
other = None
def is_invalid_oauth1_token_info(self):
"""
Check if the union tag is ``invalid_oauth1_token_info``.
:rtype: bool
"""
return self._tag == 'invalid_oauth1_token_info'
def is_app_id_mismatch(self):
"""
Check if the union tag is ``app_id_mismatch``.
:rtype: bool
"""
return self._tag == 'app_id_mismatch'
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(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(bb.Struct):
"""
:ivar auth.TokenFromOAuth1Result.oauth2_token: The OAuth 2.0 token generated
from the supplied OAuth 1.0 token.
"""
__slots__ = [
'_oauth2_token_value',
'_oauth2_token_present',
]
_has_required_fields = True
def __init__(self,
oauth2_token=None):
self._oauth2_token_value = None
self._oauth2_token_present = False
if oauth2_token is not None:
self.oauth2_token = oauth2_token
@property
def oauth2_token(self):
"""
The OAuth 2.0 token generated from the supplied OAuth 1.0 token.
:rtype: str
"""
if self._oauth2_token_present:
return self._oauth2_token_value
else:
raise AttributeError("missing required field 'oauth2_token'")
@oauth2_token.setter
def oauth2_token(self, val):
val = self._oauth2_token_validator.validate(val)
self._oauth2_token_value = val
self._oauth2_token_present = True
@oauth2_token.deleter
def oauth2_token(self):
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,
)
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()
AccessError._tagmap = {
'invalid_account_type': AccessError._invalid_account_type_validator,
'paper_access_denied': AccessError._paper_access_denied_validator,
'other': AccessError._other_validator,
}
AccessError.other = AccessError('other')
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,
}
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()
InvalidAccountTypeError._feature_validator = bv.Void()
InvalidAccountTypeError._other_validator = bv.Void()
InvalidAccountTypeError._tagmap = {
'endpoint': InvalidAccountTypeError._endpoint_validator,
'feature': InvalidAccountTypeError._feature_validator,
'other': InvalidAccountTypeError._other_validator,
}
InvalidAccountTypeError.endpoint = InvalidAccountTypeError('endpoint')
InvalidAccountTypeError.feature = InvalidAccountTypeError('feature')
InvalidAccountTypeError.other = InvalidAccountTypeError('other')
PaperAccessError._paper_disabled_validator = bv.Void()
PaperAccessError._not_paper_user_validator = bv.Void()
PaperAccessError._other_validator = bv.Void()
PaperAccessError._tagmap = {
'paper_disabled': PaperAccessError._paper_disabled_validator,
'not_paper_user': PaperAccessError._not_paper_user_validator,
'other': PaperAccessError._other_validator,
}
PaperAccessError.paper_disabled = PaperAccessError('paper_disabled')
PaperAccessError.not_paper_user = PaperAccessError('not_paper_user')
PaperAccessError.other = PaperAccessError('other')
RateLimitError._reason_validator = RateLimitReason_validator
RateLimitError._retry_after_validator = bv.UInt64()
RateLimitError._all_field_names_ = set([
'reason',
'retry_after',
])
RateLimitError._all_fields_ = [
('reason', RateLimitError._reason_validator),
('retry_after', RateLimitError._retry_after_validator),
]
RateLimitReason._too_many_requests_validator = bv.Void()
RateLimitReason._too_many_write_operations_validator = bv.Void()
RateLimitReason._other_validator = bv.Void()
RateLimitReason._tagmap = {
'too_many_requests': RateLimitReason._too_many_requests_validator,
'too_many_write_operations': RateLimitReason._too_many_write_operations_validator,
'other': RateLimitReason._other_validator,
}
RateLimitReason.too_many_requests = RateLimitReason('too_many_requests')
RateLimitReason.too_many_write_operations = RateLimitReason('too_many_write_operations')
RateLimitReason.other = RateLimitReason('other')
TokenFromOAuth1Arg._oauth1_token_validator = bv.String(min_length=1)
TokenFromOAuth1Arg._oauth1_token_secret_validator = bv.String(min_length=1)
TokenFromOAuth1Arg._all_field_names_ = set([
'oauth1_token',
'oauth1_token_secret',
])
TokenFromOAuth1Arg._all_fields_ = [
('oauth1_token', TokenFromOAuth1Arg._oauth1_token_validator),
('oauth1_token_secret', TokenFromOAuth1Arg._oauth1_token_secret_validator),
]
TokenFromOAuth1Error._invalid_oauth1_token_info_validator = bv.Void()
TokenFromOAuth1Error._app_id_mismatch_validator = bv.Void()
TokenFromOAuth1Error._other_validator = bv.Void()
TokenFromOAuth1Error._tagmap = {
'invalid_oauth1_token_info': TokenFromOAuth1Error._invalid_oauth1_token_info_validator,
'app_id_mismatch': TokenFromOAuth1Error._app_id_mismatch_validator,
'other': TokenFromOAuth1Error._other_validator,
}
TokenFromOAuth1Error.invalid_oauth1_token_info = TokenFromOAuth1Error('invalid_oauth1_token_info')
TokenFromOAuth1Error.app_id_mismatch = TokenFromOAuth1Error('app_id_mismatch')
TokenFromOAuth1Error.other = TokenFromOAuth1Error('other')
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,
TokenFromOAuth1Error_validator,
{'host': u'api',
'style': u'rpc'},
)
token_revoke = bb.Route(
'token/revoke',
1,
False,
bv.Void(),
bv.Void(),
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
ROUTES = {
'token/from_oauth1': token_from_oauth1,
'token/revoke': token_revoke,
}
dropbox-sdk-python-9.4.0/dropbox/base.py 0000664 0000000 0000000 00000535770 13500550210 0020250 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# flake8: noqa
# pylint: skip-file
from abc import ABCMeta, abstractmethod
import warnings
from . import (
async_,
auth,
common,
contacts,
file_properties,
file_requests,
files,
paper,
seen_state,
sharing,
team,
team_common,
team_log,
team_policies,
users,
users_common,
)
class DropboxBase(object):
__metaclass__ = ABCMeta
@abstractmethod
def request(self, route, namespace, arg, arg_binary=None):
pass
# ------------------------------------------
# Routes in auth namespace
def auth_token_from_oauth1(self,
oauth1_token,
oauth1_token_secret):
"""
Creates an OAuth 2.0 access token from the supplied OAuth 1.0 access
token.
:param str oauth1_token: The supplied OAuth 1.0 access token.
:param str oauth1_token_secret: The token secret associated with the
supplied access token.
:rtype: :class:`dropbox.auth.TokenFromOAuth1Result`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.auth.TokenFromOAuth1Error`
"""
arg = auth.TokenFromOAuth1Arg(oauth1_token,
oauth1_token_secret)
r = self.request(
auth.token_from_oauth1,
'auth',
arg,
None,
)
return r
def auth_token_revoke(self):
"""
Disables the access token used to authenticate the call.
:rtype: None
"""
arg = None
r = self.request(
auth.token_revoke,
'auth',
arg,
None,
)
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
def file_properties_properties_add(self,
path,
property_groups):
"""
Add property groups to a Dropbox file. See
:meth:`file_properties_templates_add_for_user` or
:meth:`file_properties_templates_add_for_team` to create new templates.
:param str path: A unique identifier for the file or folder.
:param list property_groups: The property groups which are to be added
to a Dropbox file.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.file_properties.AddPropertiesError`
"""
arg = file_properties.AddPropertiesArg(path,
property_groups)
r = self.request(
file_properties.properties_add,
'file_properties',
arg,
None,
)
return None
def file_properties_properties_overwrite(self,
path,
property_groups):
"""
Overwrite property groups associated with a file. This endpoint should
be used instead of :meth:`file_properties_properties_update` when
property groups are being updated via a "snapshot" instead of via a
"delta". In other words, this endpoint will delete all omitted fields
from a property group, whereas :meth:`file_properties_properties_update`
will only delete fields that are explicitly marked for deletion.
:param str path: A unique identifier for the file or folder.
:param list property_groups: The property groups "snapshot" updates to
force apply.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.file_properties.InvalidPropertyGroupError`
"""
arg = file_properties.OverwritePropertyGroupArg(path,
property_groups)
r = self.request(
file_properties.properties_overwrite,
'file_properties',
arg,
None,
)
return None
def file_properties_properties_remove(self,
path,
property_template_ids):
"""
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`. 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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.file_properties.RemovePropertiesError`
"""
arg = file_properties.RemovePropertiesArg(path,
property_template_ids)
r = self.request(
file_properties.properties_remove,
'file_properties',
arg,
None,
)
return None
def file_properties_properties_search(self,
queries,
template_filter=file_properties.TemplateFilter.filter_none):
"""
Search across property templates for particular property field values.
:param list queries: Queries to search.
:param template_filter: Filter results to contain only properties
associated with these template IDs.
:type template_filter: :class:`dropbox.file_properties.TemplateFilter`
:rtype: :class:`dropbox.file_properties.PropertiesSearchResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.file_properties.PropertiesSearchError`
"""
arg = file_properties.PropertiesSearchArg(queries,
template_filter)
r = self.request(
file_properties.properties_search,
'file_properties',
arg,
None,
)
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):
"""
Add, update or remove properties associated with the supplied file and
templates. This endpoint should be used instead of
:meth:`file_properties_properties_overwrite` when property groups are
being updated via a "delta" instead of via a "snapshot" . In other
words, this endpoint will not delete any omitted fields from a property
group, whereas :meth:`file_properties_properties_overwrite` will delete
any fields that are omitted from a property group.
:param str path: A unique identifier for the file or folder.
:param list update_property_groups: The property groups "delta" updates
to apply.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.file_properties.UpdatePropertiesError`
"""
arg = file_properties.UpdatePropertiesArg(path,
update_property_groups)
r = self.request(
file_properties.properties_update,
'file_properties',
arg,
None,
)
return None
def file_properties_templates_add_for_user(self,
name,
description,
fields):
"""
Add a template associated with a user. See
:meth:`file_properties_properties_add` to add properties to a file. This
endpoint can't be called on a team member or admin's behalf.
: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_user,
'file_properties',
arg,
None,
)
return r
def file_properties_templates_get_for_user(self,
template_id):
"""
Get the schema for a specified template. This endpoint can't be called
on a team member or admin's behalf.
: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_user,
'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
template use :meth:`file_properties_templates_get_for_user`. This
endpoint can't be called on a team member or admin's behalf.
: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_user,
'file_properties',
arg,
None,
)
return r
def file_properties_templates_remove_for_user(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_user,
'file_properties',
arg,
None,
)
return None
def file_properties_templates_update_for_user(self,
template_id,
name=None,
description=None,
add_fields=None):
"""
Update a template associated with a user. This route can update the
template name, the template description and add optional properties to
templates. This endpoint can't be called on a team member or admin's
behalf.
: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_user,
'file_properties',
arg,
None,
)
return r
# ------------------------------------------
# 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,
deadline=None,
open=True):
"""
Creates a file request for this user.
:param str title: The title of the file request. Must not be empty.
:param str 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.
:param Nullable deadline: The deadline for the file request. Deadlines
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.file_requests.CreateFileRequestError`
"""
arg = file_requests.CreateFileRequestArgs(title,
destination,
deadline,
open)
r = self.request(
file_requests.create,
'file_requests',
arg,
None,
)
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):
"""
Returns the specified file request.
:param str id: The ID of the file request to retrieve.
:rtype: :class:`dropbox.file_requests.FileRequest`
"""
arg = file_requests.GetFileRequestArgs(id)
r = self.request(
file_requests.get,
'file_requests',
arg,
None,
)
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
app folder permission, this will only return file requests with
destinations in the app folder.
:rtype: :class:`dropbox.file_requests.ListFileRequestsResult`
"""
arg = None
r = self.request(
file_requests.list,
'file_requests',
arg,
None,
)
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,
destination=None,
deadline=file_requests.UpdateFileRequestDeadline.no_update,
open=None):
"""
Update a file request.
:param str id: The ID of the file request to update.
:param Nullable title: The new title of the file request. Must not be
empty.
: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. 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.
:rtype: :class:`dropbox.file_requests.FileRequest`
"""
arg = file_requests.UpdateFileRequestArgs(id,
title,
destination,
deadline,
open)
r = self.request(
file_requests.update,
'file_requests',
arg,
None,
)
return r
# ------------------------------------------
# Routes in files namespace
def files_alpha_get_metadata(self,
path,
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
compatible with the properties API. Note: Metadata for the root folder
is unsupported.
:param Nullable include_property_templates: If set to a valid list of
template IDs, ``FileMetadata.property_groups`` is set for files with
custom properties.
:rtype: :class:`dropbox.files.Metadata`
:raises: :class:`.exceptions.ApiError`
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,
'files',
arg,
None,
)
return r
def files_alpha_upload(self,
f,
path,
mode=files.WriteMode.add,
autorename=False,
client_modified=None,
mute=False,
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
different from :meth:`files_upload`. Do not use this to upload a file
larger than 150 MB. Instead, create an upload session with
:meth:`files_upload_session_start`.
:param bytes f: Contents to upload.
:rtype: :class:`dropbox.files.FileMetadata`
"""
warnings.warn(
'alpha/upload is deprecated. Use alpha/upload.',
DeprecationWarning,
)
arg = files.CommitInfoWithProperties(path,
mode,
autorename,
client_modified,
mute,
property_groups,
strict_conflict)
r = self.request(
files.alpha_upload,
'files',
arg,
f,
)
return r
def files_copy_v2(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.RelocationResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.RelocationError`
"""
arg = files.RelocationArg(from_path,
to_path,
allow_shared_folder,
autorename,
allow_ownership_transfer)
r = self.request(
files.copy_v2,
'files',
arg,
None,
)
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.RelocationError`
"""
warnings.warn(
'copy is deprecated. Use copy.',
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_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,
)
return r
def files_create_folder_v2(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.CreateFolderResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.CreateFolderError`
"""
arg = files.CreateFolderArg(path,
autorename)
r = self.request(
files.create_folder_v2,
'files',
arg,
None,
)
return r
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
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.DeleteResult`
:raises: :class:`.exceptions.ApiError`
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.',
DeprecationWarning,
)
arg = files.DeleteArg(path,
parent_rev)
r = self.request(
files.delete,
'files',
arg,
None,
)
return r
def files_delete_batch(self,
entries):
"""
Delete multiple files/folders at once. This route is asynchronous, which
returns a job ID immediately and runs the delete batch asynchronously.
Use :meth:`files_delete_batch_check` to check the job status.
:type entries: list
:rtype: :class:`dropbox.files.DeleteBatchLaunch`
"""
arg = files.DeleteBatchArg(entries)
r = self.request(
files.delete_batch,
'files',
arg,
None,
)
return r
def files_delete_batch_check(self,
async_job_id):
"""
Returns the status of an asynchronous job for
:meth:`files_delete_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.DeleteBatchJobStatus`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.PollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
files.delete_batch_check,
'files',
arg,
None,
)
return r
def files_download(self,
path,
rev=None):
"""
Download a file from a user's Dropbox.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.DownloadError`
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.DownloadArg(path,
rev)
r = self.request(
files.download,
'files',
arg,
None,
)
return r
def files_download_to_file(self,
download_path,
path,
rev=None):
"""
Download a file from a user's Dropbox.
: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`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.DownloadError`
"""
arg = files.DownloadArg(path,
rev)
r = self.request(
files.download,
'files',
arg,
None,
)
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_property_groups=None):
"""
Returns the metadata for a file or folder. Note: Metadata for the root
folder is unsupported.
:param str path: The path of a file or folder on Dropbox.
:param bool include_media_info: If true, ``FileMetadata.media_info`` is
set for photo and video.
:param bool include_deleted: If true,
:class:`dropbox.files.DeletedMetadata` will be returned for deleted
file or folder, otherwise ``LookupError.not_found`` will be
returned.
: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:`.exceptions.ApiError`
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_property_groups)
r = self.request(
files.get_metadata,
'files',
arg,
None,
)
return r
def files_get_preview(self,
path,
rev=None):
"""
Get a preview for a file. Currently, PDF previews are generated for
files with the following extensions: .ai, .doc, .docm, .docx, .eps,
.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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.PreviewError`
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.PreviewArg(path,
rev)
r = self.request(
files.get_preview,
'files',
arg,
None,
)
return r
def files_get_preview_to_file(self,
download_path,
path,
rev=None):
"""
Get a preview for a file. Currently, PDF previews are generated for
files with the following extensions: .ai, .doc, .docm, .docx, .eps,
.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`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.PreviewError`
"""
arg = files.PreviewArg(path,
rev)
r = self.request(
files.get_preview,
'files',
arg,
None,
)
self._save_body_to_file(download_path, r[1])
return r[0]
def files_get_temporary_link(self,
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. 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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.GetTemporaryLinkError`
"""
arg = files.GetTemporaryLinkArg(path)
r = self.request(
files.get_temporary_link,
'files',
arg,
None,
)
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,
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.
Photos that are larger than 20MB in size won't be converted to a
thumbnail.
:param str path: The path to the image file you want to thumbnail.
:param 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.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.ThumbnailError`
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.ThumbnailArg(path,
format,
size,
mode)
r = self.request(
files.get_thumbnail,
'files',
arg,
None,
)
return r
def files_get_thumbnail_to_file(self,
download_path,
path,
format=files.ThumbnailFormat.jpeg,
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.
Photos that are larger than 20MB in size won't be converted to a
thumbnail.
:param str download_path: Path on local machine to save file.
:param str path: The path to the image file you want to thumbnail.
:param 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.
: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`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.ThumbnailError`
"""
arg = files.ThumbnailArg(path,
format,
size,
mode)
r = self.request(
files.get_thumbnail,
'files',
arg,
None,
)
self._save_body_to_file(download_path, r[1])
return r[0]
def files_get_thumbnail_batch(self,
entries):
"""
Get thumbnails for a list of images. We allow up to 25 thumbnails in a
single batch. This method currently supports files with the following
file extensions: jpg, jpeg, png, tiff, tif, gif and bmp. Photos that are
larger than 20MB in size won't be converted to a thumbnail.
:param list entries: List of files to get thumbnails.
:rtype: :class:`dropbox.files.GetThumbnailBatchResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.GetThumbnailBatchError`
"""
arg = files.GetThumbnailBatchArg(entries)
r = self.request(
files.get_thumbnail_batch,
'files',
arg,
None,
)
return r
def files_list_folder(self,
path,
recursive=False,
include_media_info=False,
include_deleted=False,
include_has_explicit_shared_members=False,
include_mounted_folders=True,
limit=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
:meth:`files_list_folder_continue` with the returned
``ListFolderResult.cursor`` to retrieve more entries. If you're using
``ListFolderArg.recursive`` set to ``True`` to keep a local cache of the
contents of a Dropbox account, iterate through each entry in order and
process them as follows to keep your local state in sync: For each
:class:`dropbox.files.FileMetadata`, store the new entry at the given
path in your local state. If the required parent folders don't exist
yet, create them. If there's already something else at the given path,
replace it and remove all its children. For each
:class:`dropbox.files.FolderMetadata`, store the new entry at the given
path in your local state. If the required parent folders don't exist
yet, create them. If there's already something else at the given path,
replace it but leave the children as they are. Check the new entry's
``FolderSharingInfo.read_only`` and set all its children's read-only
statuses to match. For each :class:`dropbox.files.DeletedMetadata`, if
your local state has something at the given path, remove it and all its
children. If there's nothing at the given path, ignore this entry. Note:
:class:`dropbox.auth.RateLimitError` may be returned if multiple
:meth:`files_list_folder` or :meth:`files_list_folder_continue` calls
with same parameters are made simultaneously by same API app for same
user. If your app implements retry logic, please hold off the retry
until the previous request finishes.
:param str path: A unique identifier for the file.
:param bool recursive: If true, the list folder operation will be
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. 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
will include a flag for each file indicating whether or not that
file has any explicit members.
:param bool include_mounted_folders: If true, the results will include
entries under mounted folders which includes app folder, shared
folder and team folder.
:param Nullable 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.
:param Nullable 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.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.ListFolderError`
"""
arg = files.ListFolderArg(path,
recursive,
include_media_info,
include_deleted,
include_has_explicit_shared_members,
include_mounted_folders,
limit,
shared_link,
include_property_groups,
include_non_downloadable_files)
r = self.request(
files.list_folder,
'files',
arg,
None,
)
return r
def files_list_folder_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`files_list_folder`, use
this to paginate through all files and retrieve updates to the folder,
following the same rules as documented for :meth:`files_list_folder`.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.ListFolderContinueError`
"""
arg = files.ListFolderContinueArg(cursor)
r = self.request(
files.list_folder_continue,
'files',
arg,
None,
)
return r
def files_list_folder_get_latest_cursor(self,
path,
recursive=False,
include_media_info=False,
include_deleted=False,
include_has_explicit_shared_members=False,
include_mounted_folders=True,
limit=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`
doesn't return any entries. This endpoint is for app which only needs to
know about new files and modifications and doesn't need to know about
files that already exist in Dropbox.
:param str path: A unique identifier for the file.
:param bool recursive: If true, the list folder operation will be
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. 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
will include a flag for each file indicating whether or not that
file has any explicit members.
:param bool include_mounted_folders: If true, the results will include
entries under mounted folders which includes app folder, shared
folder and team folder.
:param Nullable 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.
:param Nullable 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.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.ListFolderError`
"""
arg = files.ListFolderArg(path,
recursive,
include_media_info,
include_deleted,
include_has_explicit_shared_members,
include_mounted_folders,
limit,
shared_link,
include_property_groups,
include_non_downloadable_files)
r = self.request(
files.list_folder_get_latest_cursor,
'files',
arg,
None,
)
return r
def files_list_folder_longpoll(self,
cursor,
timeout=30):
"""
A longpoll endpoint to wait for changes on an account. In conjunction
with :meth:`files_list_folder_continue`, this call gives you a
low-latency way to monitor an account for file changes. The connection
will block until there are changes available or a timeout occurs. This
endpoint is useful mostly for client-side apps. If you're looking for
server-side notifications, check out our `webhooks documentation
`_.
: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 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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.ListFolderLongpollError`
"""
arg = files.ListFolderLongpollArg(cursor,
timeout)
r = self.request(
files.list_folder_longpoll,
'files',
arg,
None,
)
return r
def files_list_revisions(self,
path,
mode=files.ListRevisionsMode.path,
limit=10):
"""
Returns revisions for files based on a file path or a file id. The file
path or file id is identified from the latest file entry at the given
file path or id. This end point allows your app to query either by file
path or file id by setting the mode parameter appropriately. In the
``ListRevisionsMode.path`` (default) mode, all revisions at the same
file path as the latest file entry are returned. If revisions with the
same file id are desired, then mode must be set to
``ListRevisionsMode.id``. The ``ListRevisionsMode.id`` mode is useful to
retrieve revisions for a given file across moves or renames.
:param str path: The path to the file you want to see the revisions of.
: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 int limit: The maximum number of revision entries returned.
:rtype: :class:`dropbox.files.ListRevisionsResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.ListRevisionsError`
"""
arg = files.ListRevisionsArg(path,
mode,
limit)
r = self.request(
files.list_revisions,
'files',
arg,
None,
)
return r
def files_move_v2(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.RelocationResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.RelocationError`
"""
arg = files.RelocationArg(from_path,
to_path,
allow_shared_folder,
autorename,
allow_ownership_transfer)
r = self.request(
files.move_v2,
'files',
arg,
None,
)
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,
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.DeleteError`
"""
arg = files.DeleteArg(path,
parent_rev)
r = self.request(
files.permanently_delete,
'files',
arg,
None,
)
return None
def files_properties_add(self,
path,
property_groups):
"""
:param str path: A unique identifier for the file or folder.
:param list property_groups: The property groups which are to be added
to a Dropbox file.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.AddPropertiesError`
"""
warnings.warn(
'properties/add is deprecated.',
DeprecationWarning,
)
arg = file_properties.AddPropertiesArg(path,
property_groups)
r = self.request(
files.properties_add,
'files',
arg,
None,
)
return None
def files_properties_overwrite(self,
path,
property_groups):
"""
:param str path: A unique identifier for the file or folder.
:param list property_groups: The property groups "snapshot" updates to
force apply.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.InvalidPropertyGroupError`
"""
warnings.warn(
'properties/overwrite is deprecated.',
DeprecationWarning,
)
arg = file_properties.OverwritePropertyGroupArg(path,
property_groups)
r = self.request(
files.properties_overwrite,
'files',
arg,
None,
)
return None
def files_properties_remove(self,
path,
property_template_ids):
"""
: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:`files_templates_add_for_user` or
:meth:`files_templates_add_for_team`.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.RemovePropertiesError`
"""
warnings.warn(
'properties/remove is deprecated.',
DeprecationWarning,
)
arg = file_properties.RemovePropertiesArg(path,
property_template_ids)
r = self.request(
files.properties_remove,
'files',
arg,
None,
)
return None
def files_properties_template_get(self,
template_id):
"""
:param str template_id: An identifier for template added by route See
:meth:`files_templates_add_for_user` or
:meth:`files_templates_add_for_team`.
:rtype: :class:`dropbox.files.GetTemplateResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.TemplateError`
"""
warnings.warn(
'properties/template/get is deprecated.',
DeprecationWarning,
)
arg = file_properties.GetTemplateArg(template_id)
r = self.request(
files.properties_template_get,
'files',
arg,
None,
)
return r
def files_properties_template_list(self):
warnings.warn(
'properties/template/list is deprecated.',
DeprecationWarning,
)
arg = None
r = self.request(
files.properties_template_list,
'files',
arg,
None,
)
return r
def files_properties_update(self,
path,
update_property_groups):
"""
:param str path: A unique identifier for the file or folder.
:param list update_property_groups: The property groups "delta" updates
to apply.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.UpdatePropertiesError`
"""
warnings.warn(
'properties/update is deprecated.',
DeprecationWarning,
)
arg = file_properties.UpdatePropertiesArg(path,
update_property_groups)
r = self.request(
files.properties_update,
'files',
arg,
None,
)
return None
def files_restore(self,
path,
rev):
"""
Restore a specific revision of a file to the given path.
:param str path: The path to save the restored file.
:param str rev: The revision to restore.
:rtype: :class:`dropbox.files.FileMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.RestoreError`
"""
arg = files.RestoreArg(path,
rev)
r = self.request(
files.restore,
'files',
arg,
None,
)
return r
def files_save_url(self,
path,
url):
"""
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.SaveUrlError`
"""
arg = files.SaveUrlArg(path,
url)
r = self.request(
files.save_url,
'files',
arg,
None,
)
return r
def files_save_url_check_job_status(self,
async_job_id):
"""
Check the status of a :meth:`files_save_url` 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.files.SaveUrlJobStatus`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.PollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
files.save_url_check_job_status,
'files',
arg,
None,
)
return r
def files_search(self,
path,
query,
start=0,
max_results=100,
mode=files.SearchMode.filename):
"""
Searches for files and folders. Note: Recent changes may not immediately
be reflected in search results due to a short delay in indexing.
:param str path: The path in the user's Dropbox to search. Should
probably be a folder.
:param str 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").
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.SearchError`
"""
arg = files.SearchArg(path,
query,
start,
max_results,
mode)
r = self.request(
files.search,
'files',
arg,
None,
)
return r
def files_upload(self,
f,
path,
mode=files.WriteMode.add,
autorename=False,
client_modified=None,
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`. 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.
:param mode: Selects what to do if the file already exists.
:type mode: :class:`dropbox.files.WriteMode`
:param bool autorename: If there's a conflict, as determined by
``mode``, have the Dropbox server try to autorename the file to
avoid conflict.
:param Nullable 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.
:param bool 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.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.UploadError`
"""
arg = files.CommitInfo(path,
mode,
autorename,
client_modified,
mute,
property_groups,
strict_conflict)
r = self.request(
files.upload,
'files',
arg,
f,
)
return r
def files_upload_session_append_v2(self,
f,
cursor,
close=False):
"""
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. 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.
:type cursor: :class:`dropbox.files.UploadSessionCursor`
:param bool close: If true, the current session will be closed, at which
point you won't be able to call
:meth:`files_upload_session_append_v2` anymore with the current
session.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.UploadSessionLookupError`
"""
arg = files.UploadSessionAppendArg(cursor,
close)
r = self.request(
files.upload_session_append_v2,
'files',
arg,
f,
)
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. 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.
:type cursor: :class:`dropbox.files.UploadSessionCursor`
:param commit: Contains the path and other optional modifiers for the
commit.
:type commit: :class:`dropbox.files.CommitInfo`
:rtype: :class:`dropbox.files.FileMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.UploadSessionFinishError`
"""
arg = files.UploadSessionFinishArg(cursor,
commit)
r = self.request(
files.upload_session_finish,
'files',
arg,
f,
)
return r
def files_upload_session_finish_batch(self,
entries):
"""
This route helps you commit many files at once into a user's Dropbox.
Use :meth:`files_upload_session_start` and
:meth:`files_upload_session_append_v2` to upload file contents. We
recommend uploading many files in parallel to increase throughput. Once
the file contents have been uploaded, rather than calling
:meth:`files_upload_session_finish`, use this route to finish all your
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. 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. 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`
"""
arg = files.UploadSessionFinishBatchArg(entries)
r = self.request(
files.upload_session_finish_batch,
'files',
arg,
None,
)
return r
def files_upload_session_finish_batch_check(self,
async_job_id):
"""
Returns the status of an asynchronous job for
:meth:`files_upload_session_finish_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.UploadSessionFinishBatchJobStatus`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.files.PollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
files.upload_session_finish_batch_check,
'files',
arg,
None,
)
return r
def files_upload_session_start(self,
f,
close=False):
"""
Upload sessions allow you to upload a single file in one or more
requests, for example where the size of the file is greater than 150 MB.
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. 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``. 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
point you won't be able to call
:meth:`files_upload_session_append_v2` anymore with the current
session.
:rtype: :class:`dropbox.files.UploadSessionStartResult`
"""
arg = files.UploadSessionStartArg(close)
r = self.request(
files.upload_session_start,
'files',
arg,
f,
)
return r
# ------------------------------------------
# Routes in paper namespace
def paper_docs_archive(self,
doc_id):
"""
Marks the given Paper doc as archived. Note: This action can be
performed or undone by anyone with edit permissions to the doc.
:param str doc_id: The Paper doc ID.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.RefPaperDoc(doc_id)
r = self.request(
paper.docs_archive,
'paper',
arg,
None,
)
return None
def paper_docs_create(self,
f,
import_format,
parent_folder_id=None):
"""
Creates a new Paper doc with the provided content.
:param bytes f: Contents to upload.
:param Nullable 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.
:param import_format: The format of provided data.
:type import_format: :class:`dropbox.paper.ImportFormat`
:rtype: :class:`dropbox.paper.PaperDocCreateUpdateResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.PaperDocCreateError`
"""
arg = paper.PaperDocCreateArgs(import_format,
parent_folder_id)
r = self.request(
paper.docs_create,
'paper',
arg,
f,
)
return r
def paper_docs_download(self,
doc_id,
export_format):
"""
Exports and downloads Paper doc either as HTML or markdown.
:type export_format: :class:`dropbox.paper.ExportFormat`
:rtype: (:class:`dropbox.paper.PaperDocExportResult`,
:class:`requests.models.Response`)
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
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 = paper.PaperDocExport(doc_id,
export_format)
r = self.request(
paper.docs_download,
'paper',
arg,
None,
)
return r
def paper_docs_download_to_file(self,
download_path,
doc_id,
export_format):
"""
Exports and downloads Paper doc either as HTML or markdown.
:param str download_path: Path on local machine to save file.
:type export_format: :class:`dropbox.paper.ExportFormat`
:rtype: :class:`dropbox.paper.PaperDocExportResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.PaperDocExport(doc_id,
export_format)
r = self.request(
paper.docs_download,
'paper',
arg,
None,
)
self._save_body_to_file(download_path, r[1])
return r[0]
def paper_docs_folder_users_list(self,
doc_id,
limit=1000):
"""
Lists the users who are explicitly invited to the Paper folder in which
the Paper doc is contained. For private folders all users (including
owner) shared on the folder are listed and for team folders all non-team
users shared on the folder are returned.
:param int 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.
:rtype: :class:`dropbox.paper.ListUsersOnFolderResponse`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.ListUsersOnFolderArgs(doc_id,
limit)
r = self.request(
paper.docs_folder_users_list,
'paper',
arg,
None,
)
return r
def paper_docs_folder_users_list_continue(self,
doc_id,
cursor):
"""
Once a cursor has been retrieved from
:meth:`paper_docs_folder_users_list`, use this to paginate through all
users on the Paper folder.
:param str cursor: The cursor obtained from
:meth:`paper_docs_folder_users_list` or
:meth:`paper_docs_folder_users_list_continue`. Allows for
pagination.
:rtype: :class:`dropbox.paper.ListUsersOnFolderResponse`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.ListUsersCursorError`
"""
arg = paper.ListUsersOnFolderContinueArgs(doc_id,
cursor)
r = self.request(
paper.docs_folder_users_list_continue,
'paper',
arg,
None,
)
return r
def paper_docs_get_folder_info(self,
doc_id):
"""
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
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.RefPaperDoc(doc_id)
r = self.request(
paper.docs_get_folder_info,
'paper',
arg,
None,
)
return r
def paper_docs_list(self,
filter_by=paper.ListPaperDocsFilterBy.docs_accessed,
sort_by=paper.ListPaperDocsSortBy.accessed,
sort_order=paper.ListPaperDocsSortOrder.ascending,
limit=1000):
"""
Return the list of all Paper docs according to the argument
specifications. To iterate over through the full pagination, pass the
cursor to :meth:`paper_docs_list_continue`.
:param filter_by: Allows user to specify how the Paper docs should be
filtered.
:type filter_by: :class:`dropbox.paper.ListPaperDocsFilterBy`
:param sort_by: Allows user to specify how the Paper docs should be
sorted.
:type sort_by: :class:`dropbox.paper.ListPaperDocsSortBy`
:param sort_order: Allows user to specify the sort order of the result.
:type sort_order: :class:`dropbox.paper.ListPaperDocsSortOrder`
:param int 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.
:rtype: :class:`dropbox.paper.ListPaperDocsResponse`
"""
arg = paper.ListPaperDocsArgs(filter_by,
sort_by,
sort_order,
limit)
r = self.request(
paper.docs_list,
'paper',
arg,
None,
)
return r
def paper_docs_list_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`paper_docs_list`, use this
to paginate through all Paper doc.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.ListDocsCursorError`
"""
arg = paper.ListPaperDocsContinueArgs(cursor)
r = self.request(
paper.docs_list_continue,
'paper',
arg,
None,
)
return r
def paper_docs_permanently_delete(self,
doc_id):
"""
Permanently deletes the given Paper doc. This operation is final as the
doc cannot be recovered. Note: This action can be performed only by the
doc owner.
:param str doc_id: The Paper doc ID.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.RefPaperDoc(doc_id)
r = self.request(
paper.docs_permanently_delete,
'paper',
arg,
None,
)
return None
def paper_docs_sharing_policy_get(self,
doc_id):
"""
Gets the default sharing policy for the given Paper doc.
:param str doc_id: The Paper doc ID.
:rtype: :class:`dropbox.paper.SharingPolicy`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.RefPaperDoc(doc_id)
r = self.request(
paper.docs_sharing_policy_get,
'paper',
arg,
None,
)
return r
def paper_docs_sharing_policy_set(self,
doc_id,
sharing_policy):
"""
Sets the default sharing policy for the given Paper doc. The default
'team_sharing_policy' can be changed only by teams, omit this field for
personal accounts. Note: 'public_sharing_policy' cannot be set to the
value 'disabled' because this setting can be changed only via the team
admin console.
:param sharing_policy: The default sharing policy to be set for the
Paper doc.
:type sharing_policy: :class:`dropbox.paper.SharingPolicy`
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.PaperDocSharingPolicy(doc_id,
sharing_policy)
r = self.request(
paper.docs_sharing_policy_set,
'paper',
arg,
None,
)
return None
def paper_docs_update(self,
f,
doc_id,
doc_update_policy,
revision,
import_format):
"""
Updates an existing Paper doc with the provided content.
: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 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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.PaperDocUpdateError`
"""
arg = paper.PaperDocUpdateArgs(doc_id,
doc_update_policy,
revision,
import_format)
r = self.request(
paper.docs_update,
'paper',
arg,
f,
)
return r
def paper_docs_users_add(self,
doc_id,
members,
custom_message=None,
quiet=False):
"""
Allows an owner or editor to add users to a Paper doc or change their
permissions using their email address or Dropbox account ID. Note: The
Doc owner's permissions cannot be changed.
:param list members: User which should be added to the Paper doc.
Specify only email address or Dropbox account ID.
:param Nullable custom_message: A personal message that will be emailed
to each successfully added member.
:param bool quiet: Clients should set this to true if no email message
shall be sent to added users.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.AddPaperDocUser(doc_id,
members,
custom_message,
quiet)
r = self.request(
paper.docs_users_add,
'paper',
arg,
None,
)
return r
def paper_docs_users_list(self,
doc_id,
limit=1000,
filter_by=paper.UserOnPaperDocFilter.shared):
"""
Lists all users who visited the Paper doc or users with explicit access.
This call excludes users who have been removed. The list is sorted by
the date of the visit or the share date. The list will include both
users, the explicitly shared ones as well as those who came in using the
Paper url link.
:param int 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.
:param filter_by: Specify this attribute if you want to obtain users
that have already accessed the Paper doc.
:type filter_by: :class:`dropbox.paper.UserOnPaperDocFilter`
:rtype: :class:`dropbox.paper.ListUsersOnPaperDocResponse`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.ListUsersOnPaperDocArgs(doc_id,
limit,
filter_by)
r = self.request(
paper.docs_users_list,
'paper',
arg,
None,
)
return r
def paper_docs_users_list_continue(self,
doc_id,
cursor):
"""
Once a cursor has been retrieved from :meth:`paper_docs_users_list`, use
this to paginate through all users on the Paper doc.
:param str cursor: The cursor obtained from
:meth:`paper_docs_users_list` or
:meth:`paper_docs_users_list_continue`. Allows for pagination.
:rtype: :class:`dropbox.paper.ListUsersOnPaperDocResponse`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.ListUsersCursorError`
"""
arg = paper.ListUsersOnPaperDocContinueArgs(doc_id,
cursor)
r = self.request(
paper.docs_users_list_continue,
'paper',
arg,
None,
)
return r
def paper_docs_users_remove(self,
doc_id,
member):
"""
Allows an owner or editor to remove users from a Paper doc using their
email address or Dropbox account ID. Note: Doc owner cannot be removed.
:param member: User which should be removed from the Paper doc. Specify
only email address or Dropbox account ID.
:type member: :class:`dropbox.paper.MemberSelector`
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.paper.DocLookupError`
"""
arg = paper.RemovePaperDocUser(doc_id,
member)
r = self.request(
paper.docs_users_remove,
'paper',
arg,
None,
)
return None
# ------------------------------------------
# Routes in sharing namespace
def sharing_add_file_member(self,
file,
members,
custom_message=None,
quiet=False,
access_level=sharing.AccessLevel.viewer,
add_message_as_comment=False):
"""
Adds specified members to a file.
:param str file: File to which to add members.
:param list 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.
:param Nullable custom_message: Message to send to added members in
their invitation.
:param bool quiet: Whether added members should be notified via device
notifications of their invitation.
:param access_level: AccessLevel union object, describing what access
level we want to give new members.
:type access_level: :class:`dropbox.sharing.AccessLevel`
:param bool add_message_as_comment: If the custom message should be
added as a comment on the file.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.AddFileMemberError`
"""
arg = sharing.AddFileMemberArgs(file,
members,
custom_message,
quiet,
access_level,
add_message_as_comment)
r = self.request(
sharing.add_file_member,
'sharing',
arg,
None,
)
return r
def sharing_add_folder_member(self,
shared_folder_id,
members,
quiet=False,
custom_message=None):
"""
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.
:param str shared_folder_id: The ID for the shared folder.
:param list members: The intended list of members to add. Added members
will receive invites to join the shared folder.
:param bool quiet: Whether added members should be notified via email
and device notifications of their invite.
:param Nullable custom_message: Optional message to display to added
members in their invitation.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.AddFolderMemberError`
"""
arg = sharing.AddFolderMemberArg(shared_folder_id,
members,
quiet,
custom_message)
r = self.request(
sharing.add_folder_member,
'sharing',
arg,
None,
)
return None
def sharing_change_file_member_access(self,
file,
member,
access_level):
"""
Identical to update_file_member but with less information returned.
:param str file: File for which we are changing a member's access.
:param member: The member whose access we are changing.
:type member: :class:`dropbox.sharing.MemberSelector`
:param access_level: The new access level for the member.
:type access_level: :class:`dropbox.sharing.AccessLevel`
:rtype: :class:`dropbox.sharing.FileMemberActionResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.FileMemberActionError`
"""
warnings.warn(
'change_file_member_access is deprecated. Use update_file_member.',
DeprecationWarning,
)
arg = sharing.ChangeFileMemberAccessArgs(file,
member,
access_level)
r = self.request(
sharing.change_file_member_access,
'sharing',
arg,
None,
)
return r
def sharing_check_job_status(self,
async_job_id):
"""
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.PollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
sharing.check_job_status,
'sharing',
arg,
None,
)
return r
def sharing_check_remove_member_job_status(self,
async_job_id):
"""
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.PollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
sharing.check_remove_member_job_status,
'sharing',
arg,
None,
)
return r
def sharing_check_share_job_status(self,
async_job_id):
"""
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.PollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
sharing.check_share_job_status,
'sharing',
arg,
None,
)
return r
def sharing_create_shared_link(self,
path,
short_url=False,
pending_upload=None):
"""
Create a shared link. If a shared link already exists for the given
path, that link is returned. Note that in the returned
:class:`dropbox.sharing.PathLinkMetadata`, the ``PathLinkMetadata.url``
field is the shortened URL if ``CreateSharedLinkArg.short_url`` argument
is set to ``True``. Previously, it was technically possible to break a
shared link by moving or renaming the corresponding file or folder. In
the future, this will no longer be the case, so your app shouldn't rely
on this behavior. Instead, if your app needs to revoke a shared link,
use :meth:`sharing_revoke_shared_link`.
:param str path: The path to share.
:param bool short_url: Whether to return a shortened URL.
:param Nullable 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.
:rtype: :class:`dropbox.sharing.PathLinkMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.CreateSharedLinkError`
"""
warnings.warn(
'create_shared_link is deprecated. Use create_shared_link_with_settings.',
DeprecationWarning,
)
arg = sharing.CreateSharedLinkArg(path,
short_url,
pending_upload)
r = self.request(
sharing.create_shared_link,
'sharing',
arg,
None,
)
return r
def sharing_create_shared_link_with_settings(self,
path,
settings=None):
"""
Create a shared link with custom settings. If no settings are given then
the default visibility is ``RequestedVisibility.public`` (The resolved
visibility, though, may depend on other aspects such as team and shared
folder settings).
:param str path: The path to be shared by the shared link.
:param Nullable settings: The requested settings for the newly created
shared link.
:rtype: :class:`dropbox.sharing.SharedLinkMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.CreateSharedLinkWithSettingsError`
"""
arg = sharing.CreateSharedLinkWithSettingsArg(path,
settings)
r = self.request(
sharing.create_shared_link_with_settings,
'sharing',
arg,
None,
)
return r
def sharing_get_file_metadata(self,
file,
actions=None):
"""
Returns shared file metadata.
:param str file: The file to query.
:param Nullable actions: A list of `FileAction`s corresponding to
`FilePermission`s that should appear in the response's
``SharedFileMetadata.permissions`` field describing the actions the
authenticated user can perform on the file.
:rtype: :class:`dropbox.sharing.SharedFileMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.GetFileMetadataError`
"""
arg = sharing.GetFileMetadataArg(file,
actions)
r = self.request(
sharing.get_file_metadata,
'sharing',
arg,
None,
)
return r
def sharing_get_file_metadata_batch(self,
files,
actions=None):
"""
Returns shared file metadata.
:param list files: The files to query.
:param Nullable actions: A list of `FileAction`s corresponding to
`FilePermission`s that should appear in the response's
``SharedFileMetadata.permissions`` field describing the actions the
authenticated user can perform on the file.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.SharingUserError`
"""
arg = sharing.GetFileMetadataBatchArg(files,
actions)
r = self.request(
sharing.get_file_metadata_batch,
'sharing',
arg,
None,
)
return r
def sharing_get_folder_metadata(self,
shared_folder_id,
actions=None):
"""
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
`FolderPermission`s that should appear in the response's
``SharedFolderMetadata.permissions`` field describing the actions
the authenticated user can perform on the folder.
:rtype: :class:`dropbox.sharing.SharedFolderMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.SharedFolderAccessError`
"""
arg = sharing.GetMetadataArgs(shared_folder_id,
actions)
r = self.request(
sharing.get_folder_metadata,
'sharing',
arg,
None,
)
return r
def sharing_get_shared_link_file(self,
url,
path=None,
link_password=None):
"""
Download the shared link's file from a user's Dropbox.
:param str url: URL of the shared link.
:param Nullable 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.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.GetSharedLinkFileError`
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 = sharing.GetSharedLinkMetadataArg(url,
path,
link_password)
r = self.request(
sharing.get_shared_link_file,
'sharing',
arg,
None,
)
return r
def sharing_get_shared_link_file_to_file(self,
download_path,
url,
path=None,
link_password=None):
"""
Download the shared link's file from a user's Dropbox.
:param str download_path: Path on local machine to save file.
:param str url: URL of the shared link.
:param Nullable 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.
:param Nullable link_password: If the shared link has a password, this
parameter can be used.
:rtype: :class:`dropbox.sharing.SharedLinkMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.GetSharedLinkFileError`
"""
arg = sharing.GetSharedLinkMetadataArg(url,
path,
link_password)
r = self.request(
sharing.get_shared_link_file,
'sharing',
arg,
None,
)
self._save_body_to_file(download_path, r[1])
return r[0]
def sharing_get_shared_link_metadata(self,
url,
path=None,
link_password=None):
"""
Get the shared link's metadata.
:param str url: URL of the shared link.
:param Nullable 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.
:param Nullable link_password: If the shared link has a password, this
parameter can be used.
:rtype: :class:`dropbox.sharing.SharedLinkMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.SharedLinkError`
"""
arg = sharing.GetSharedLinkMetadataArg(url,
path,
link_password)
r = self.request(
sharing.get_shared_link_metadata,
'sharing',
arg,
None,
)
return r
def sharing_get_shared_links(self,
path=None):
"""
Returns a list of :class:`dropbox.sharing.LinkMetadata` objects for this
user, including collection links. If no path is given, returns a list of
all shared links for the current user, including collection links, up to
a maximum of 1000 links. If a non-empty path is given, returns a list of
all shared links that allow access to the given path. Collection links
are never returned in this case. Note that the url field in the response
is never the shortened URL.
:param Nullable path: See :meth:`sharing_get_shared_links` description.
:rtype: :class:`dropbox.sharing.GetSharedLinksResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.GetSharedLinksError`
"""
warnings.warn(
'get_shared_links is deprecated. Use list_shared_links.',
DeprecationWarning,
)
arg = sharing.GetSharedLinksArg(path)
r = self.request(
sharing.get_shared_links,
'sharing',
arg,
None,
)
return r
def sharing_list_file_members(self,
file,
actions=None,
include_inherited=True,
limit=100):
"""
Use to obtain the members who have been invited to a file, both
inherited and uninherited members.
:param str file: The file for which you want to see members.
:param Nullable actions: The actions for which to return permissions on
a member.
:param bool include_inherited: Whether to include members who only have
access from a parent shared folder.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ListFileMembersError`
"""
arg = sharing.ListFileMembersArg(file,
actions,
include_inherited,
limit)
r = self.request(
sharing.list_file_members,
'sharing',
arg,
None,
)
return r
def sharing_list_file_members_batch(self,
files,
limit=10):
"""
Get members of multiple files at once. The arguments to this route are
more limited, and the limit on query result size per file is more
strict. To customize the results more, use the individual file endpoint.
Inherited users and groups are not included in the result, and
permissions are not returned for this endpoint.
:param list files: Files for which to return members.
:param int limit: Number of members to return max per query. Defaults to
10 if no limit is specified.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.SharingUserError`
"""
arg = sharing.ListFileMembersBatchArg(files,
limit)
r = self.request(
sharing.list_file_members_batch,
'sharing',
arg,
None,
)
return r
def sharing_list_file_members_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`sharing_list_file_members`
or :meth:`sharing_list_file_members_batch`, use this to paginate through
all shared file members.
:param str cursor: The cursor returned by your last call to
:meth:`sharing_list_file_members`,
:meth:`sharing_list_file_members_continue`, or
:meth:`sharing_list_file_members_batch`.
:rtype: :class:`dropbox.sharing.SharedFileMembers`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ListFileMembersContinueError`
"""
arg = sharing.ListFileMembersContinueArg(cursor)
r = self.request(
sharing.list_file_members_continue,
'sharing',
arg,
None,
)
return r
def sharing_list_folder_members(self,
shared_folder_id,
actions=None,
limit=1000):
"""
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.SharedFolderAccessError`
"""
arg = sharing.ListFolderMembersArgs(shared_folder_id,
actions,
limit)
r = self.request(
sharing.list_folder_members,
'sharing',
arg,
None,
)
return r
def sharing_list_folder_members_continue(self,
cursor):
"""
Once a cursor has been retrieved from
:meth:`sharing_list_folder_members`, use this to paginate through all
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ListFolderMembersContinueError`
"""
arg = sharing.ListFolderMembersContinueArg(cursor)
r = self.request(
sharing.list_folder_members_continue,
'sharing',
arg,
None,
)
return r
def sharing_list_folders(self,
limit=1000,
actions=None):
"""
Return the list of all shared folders the current user has access to.
: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
the authenticated user can perform on the folder.
:rtype: :class:`dropbox.sharing.ListFoldersResult`
"""
arg = sharing.ListFoldersArgs(limit,
actions)
r = self.request(
sharing.list_folders,
'sharing',
arg,
None,
)
return r
def sharing_list_folders_continue(self,
cursor):
"""
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`.
:param str cursor: The cursor returned by the previous API call
specified in the endpoint description.
:rtype: :class:`dropbox.sharing.ListFoldersResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ListFoldersContinueError`
"""
arg = sharing.ListFoldersContinueArg(cursor)
r = self.request(
sharing.list_folders_continue,
'sharing',
arg,
None,
)
return r
def sharing_list_mountable_folders(self,
limit=1000,
actions=None):
"""
Return the list of all shared folders the current user can mount or
unmount.
: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
the authenticated user can perform on the folder.
:rtype: :class:`dropbox.sharing.ListFoldersResult`
"""
arg = sharing.ListFoldersArgs(limit,
actions)
r = self.request(
sharing.list_mountable_folders,
'sharing',
arg,
None,
)
return r
def sharing_list_mountable_folders_continue(self,
cursor):
"""
Once a cursor has been retrieved from
: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`.
:param str cursor: The cursor returned by the previous API call
specified in the endpoint description.
:rtype: :class:`dropbox.sharing.ListFoldersResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ListFoldersContinueError`
"""
arg = sharing.ListFoldersContinueArg(cursor)
r = self.request(
sharing.list_mountable_folders_continue,
'sharing',
arg,
None,
)
return r
def sharing_list_received_files(self,
limit=100,
actions=None):
"""
Returns a list of all files shared with current user. Does not include
files the user has received via shared folders, and does not include
unclaimed invitations.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.SharingUserError`
"""
arg = sharing.ListFilesArg(limit,
actions)
r = self.request(
sharing.list_received_files,
'sharing',
arg,
None,
)
return r
def sharing_list_received_files_continue(self,
cursor):
"""
Get more results with a cursor from :meth:`sharing_list_received_files`.
:param str cursor: Cursor in ``ListFilesResult.cursor``.
:rtype: :class:`dropbox.sharing.ListFilesResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ListFilesContinueError`
"""
arg = sharing.ListFilesContinueArg(cursor)
r = self.request(
sharing.list_received_files_continue,
'sharing',
arg,
None,
)
return r
def sharing_list_shared_links(self,
path=None,
cursor=None,
direct_only=None):
"""
List shared links of this user. If no path is given, returns a list of
all shared links for the current user. If a non-empty path is given,
returns a list of all shared links that allow access to the given path -
direct links to the given path and links to parent folders of the given
path. Links to parent folders can be suppressed by setting direct_only
to true.
:param Nullable path: See :meth:`sharing_list_shared_links` description.
:param Nullable cursor: The cursor returned by your last call to
:meth:`sharing_list_shared_links`.
:param Nullable direct_only: See :meth:`sharing_list_shared_links`
description.
:rtype: :class:`dropbox.sharing.ListSharedLinksResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ListSharedLinksError`
"""
arg = sharing.ListSharedLinksArg(path,
cursor,
direct_only)
r = self.request(
sharing.list_shared_links,
'sharing',
arg,
None,
)
return r
def sharing_modify_shared_link_settings(self,
url,
settings,
remove_expiration=False):
"""
Modify the shared link's settings. If the requested visibility conflict
with the shared links policy of the team or the shared folder (in case
the linked file is part of a shared folder) then the
``LinkPermissions.resolved_visibility`` of the returned
:class:`dropbox.sharing.SharedLinkMetadata` will reflect the actual
visibility of the shared link and the
``LinkPermissions.requested_visibility`` will reflect the requested
visibility.
:param str url: URL of the shared link to change its settings.
:param settings: Set of settings for the shared link.
:type settings: :class:`dropbox.sharing.SharedLinkSettings`
:param bool remove_expiration: If set to true, removes the expiration of
the shared link.
:rtype: :class:`dropbox.sharing.SharedLinkMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ModifySharedLinkSettingsError`
"""
arg = sharing.ModifySharedLinkSettingsArgs(url,
settings,
remove_expiration)
r = self.request(
sharing.modify_shared_link_settings,
'sharing',
arg,
None,
)
return r
def sharing_mount_folder(self,
shared_folder_id):
"""
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.
:param str shared_folder_id: The ID of the shared folder to mount.
:rtype: :class:`dropbox.sharing.SharedFolderMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.MountFolderError`
"""
arg = sharing.MountFolderArg(shared_folder_id)
r = self.request(
sharing.mount_folder,
'sharing',
arg,
None,
)
return r
def sharing_relinquish_file_membership(self,
file):
"""
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.
:param str file: The path or id for the file.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.RelinquishFileMembershipError`
"""
arg = sharing.RelinquishFileMembershipArg(file)
r = self.request(
sharing.relinquish_file_membership,
'sharing',
arg,
None,
)
return None
def sharing_relinquish_folder_membership(self,
shared_folder_id,
leave_a_copy=False):
"""
The current user relinquishes their membership in the designated shared
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.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.RelinquishFolderMembershipError`
"""
arg = sharing.RelinquishFolderMembershipArg(shared_folder_id,
leave_a_copy)
r = self.request(
sharing.relinquish_folder_membership,
'sharing',
arg,
None,
)
return r
def sharing_remove_file_member(self,
file,
member):
"""
Identical to remove_file_member_2 but with less information returned.
:param str file: File from which to remove members.
:param 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.
:type member: :class:`dropbox.sharing.MemberSelector`
:rtype: :class:`dropbox.sharing.FileMemberActionIndividualResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.RemoveFileMemberError`
"""
warnings.warn(
'remove_file_member is deprecated. Use remove_file_member_2.',
DeprecationWarning,
)
arg = sharing.RemoveFileMemberArg(file,
member)
r = self.request(
sharing.remove_file_member,
'sharing',
arg,
None,
)
return r
def sharing_remove_file_member_2(self,
file,
member):
"""
Removes a specified member from the file.
:param str file: File from which to remove members.
:param 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.
:type member: :class:`dropbox.sharing.MemberSelector`
:rtype: :class:`dropbox.sharing.FileMemberRemoveActionResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.RemoveFileMemberError`
"""
arg = sharing.RemoveFileMemberArg(file,
member)
r = self.request(
sharing.remove_file_member_2,
'sharing',
arg,
None,
)
return r
def sharing_remove_folder_member(self,
shared_folder_id,
member,
leave_a_copy):
"""
Allows an owner or editor (if the ACL update policy allows) of a shared
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.
:type member: :class:`dropbox.sharing.MemberSelector`
:param bool 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.
:rtype: :class:`dropbox.sharing.LaunchResultBase`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.RemoveFolderMemberError`
"""
arg = sharing.RemoveFolderMemberArg(shared_folder_id,
member,
leave_a_copy)
r = self.request(
sharing.remove_folder_member,
'sharing',
arg,
None,
)
return r
def sharing_revoke_shared_link(self,
url):
"""
Revoke a shared link. Note that even after revoking a shared link to a
file, the file may be accessible if there are shared links leading to
any of the file parent folders. To list all shared links that enable
access to a specific file, you can use the
:meth:`sharing_list_shared_links` with the file as the
``ListSharedLinksArg.path`` argument.
:param str url: URL of the shared link.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.RevokeSharedLinkError`
"""
arg = sharing.RevokeSharedLinkArg(url)
r = self.request(
sharing.revoke_shared_link,
'sharing',
arg,
None,
)
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,
force_async=False,
member_policy=None,
shared_link_policy=None,
viewer_info_policy=None,
access_inheritance=sharing.AccessInheritance.inherit,
actions=None,
link_settings=None):
"""
Share a folder with collaborators. Most sharing will be completed
synchronously. Large folders will be completed asynchronously. To make
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.
:param Nullable actions: A list of `FolderAction`s corresponding to
`FolderPermission`s that should appear in the response's
``SharedFolderMetadata.permissions`` field describing the actions
the authenticated user can perform on the folder.
:param Nullable link_settings: Settings on the link for this folder.
:rtype: :class:`dropbox.sharing.ShareFolderLaunch`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.ShareFolderError`
"""
arg = sharing.ShareFolderArg(path,
acl_update_policy,
force_async,
member_policy,
shared_link_policy,
viewer_info_policy,
access_inheritance,
actions,
link_settings)
r = self.request(
sharing.share_folder,
'sharing',
arg,
None,
)
return r
def sharing_transfer_folder(self,
shared_folder_id,
to_dropbox_id):
"""
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.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.TransferFolderError`
"""
arg = sharing.TransferFolderArg(shared_folder_id,
to_dropbox_id)
r = self.request(
sharing.transfer_folder,
'sharing',
arg,
None,
)
return None
def sharing_unmount_folder(self,
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`.
:param str shared_folder_id: The ID for the shared folder.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.UnmountFolderError`
"""
arg = sharing.UnmountFolderArg(shared_folder_id)
r = self.request(
sharing.unmount_folder,
'sharing',
arg,
None,
)
return None
def sharing_unshare_file(self,
file):
"""
Remove all members from this file. Does not remove inherited members.
:param str file: The file to unshare.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.UnshareFileError`
"""
arg = sharing.UnshareFileArg(file)
r = self.request(
sharing.unshare_file,
'sharing',
arg,
None,
)
return None
def sharing_unshare_folder(self,
shared_folder_id,
leave_a_copy=False):
"""
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.
:param str shared_folder_id: The ID for the shared folder.
:param bool 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.
:rtype: :class:`dropbox.sharing.LaunchEmptyResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.UnshareFolderError`
"""
arg = sharing.UnshareFolderArg(shared_folder_id,
leave_a_copy)
r = self.request(
sharing.unshare_folder,
'sharing',
arg,
None,
)
return r
def sharing_update_file_member(self,
file,
member,
access_level):
"""
Changes a member's access on a shared file.
:rtype: :class:`dropbox.sharing.MemberAccessLevelResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.FileMemberActionError`
"""
arg = sharing.UpdateFileMemberArgs(file,
member,
access_level)
r = self.request(
sharing.update_file_member,
'sharing',
arg,
None,
)
return r
def sharing_update_folder_member(self,
shared_folder_id,
member,
access_level):
"""
Allows an owner or editor of a shared folder to update another member's
permissions.
:param str shared_folder_id: The ID for the shared folder.
:param member: The member of the shared folder to update. Only the
``MemberSelector.dropbox_id`` may be set at this time.
:type member: :class:`dropbox.sharing.MemberSelector`
:param access_level: The new access level for ``member``.
``AccessLevel.owner`` is disallowed.
:type access_level: :class:`dropbox.sharing.AccessLevel`
:rtype: :class:`dropbox.sharing.MemberAccessLevelResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.UpdateFolderMemberError`
"""
arg = sharing.UpdateFolderMemberArg(shared_folder_id,
member,
access_level)
r = self.request(
sharing.update_folder_member,
'sharing',
arg,
None,
)
return r
def sharing_update_folder_policy(self,
shared_folder_id,
member_policy=None,
acl_update_policy=None,
viewer_info_policy=None,
shared_link_policy=None,
link_settings=None,
actions=None):
"""
Update the sharing policies for a shared folder. User must have
``AccessLevel.owner`` access to the shared folder to update its
policies.
:param str shared_folder_id: The ID for the shared folder.
:param Nullable member_policy: Who can be a member of this shared
folder. Only applicable if the current user is on a team.
:param Nullable acl_update_policy: Who can add and remove members of
this shared folder.
:param Nullable viewer_info_policy: Who can enable/disable viewer info
for this shared folder.
:param Nullable 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``.
:param Nullable link_settings: Settings on the link for this folder.
:param Nullable actions: A list of `FolderAction`s corresponding to
`FolderPermission`s that should appear in the response's
``SharedFolderMetadata.permissions`` field describing the actions
the authenticated user can perform on the folder.
:rtype: :class:`dropbox.sharing.SharedFolderMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.sharing.UpdateFolderPolicyError`
"""
arg = sharing.UpdateFolderPolicyArg(shared_folder_id,
member_policy,
acl_update_policy,
viewer_info_policy,
shared_link_policy,
link_settings,
actions)
r = self.request(
sharing.update_folder_policy,
'sharing',
arg,
None,
)
return r
# ------------------------------------------
# Routes in team namespace
# ------------------------------------------
# Routes in team_log namespace
# ------------------------------------------
# Routes in users namespace
def users_get_account(self,
account_id):
"""
Get information about a user's account.
:param str account_id: A user's account identifier.
:rtype: :class:`dropbox.users.BasicAccount`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.users.GetAccountError`
"""
arg = users.GetAccountArg(account_id)
r = self.request(
users.get_account,
'users',
arg,
None,
)
return r
def users_get_account_batch(self,
account_ids):
"""
Get information about multiple user accounts. At most 300 accounts may
be queried per request.
:param list account_ids: List of user account identifiers. Should not
contain any duplicate account IDs.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.users.GetAccountBatchError`
"""
arg = users.GetAccountBatchArg(account_ids)
r = self.request(
users.get_account_batch,
'users',
arg,
None,
)
return r
def users_get_current_account(self):
"""
Get information about the current user's account.
:rtype: :class:`dropbox.users.FullAccount`
"""
arg = None
r = self.request(
users.get_current_account,
'users',
arg,
None,
)
return r
def users_get_space_usage(self):
"""
Get the space usage information for the current user's account.
:rtype: :class:`dropbox.users.SpaceUsage`
"""
arg = None
r = self.request(
users.get_space_usage,
'users',
arg,
None,
)
return r
dropbox-sdk-python-9.4.0/dropbox/base_team.py 0000664 0000000 0000000 00000215770 13500550210 0021251 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# flake8: noqa
# pylint: skip-file
from abc import ABCMeta, abstractmethod
import warnings
from . import (
async_,
auth,
common,
contacts,
file_properties,
file_requests,
files,
paper,
seen_state,
sharing,
team,
team_common,
team_log,
team_policies,
users,
users_common,
)
class DropboxTeamBase(object):
__metaclass__ = ABCMeta
@abstractmethod
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
def team_devices_list_member_devices(self,
team_member_id,
include_web_sessions=True,
include_desktop_clients=True,
include_mobile_clients=True):
"""
List all device sessions of a team's member.
:param str team_member_id: The team's member id.
:param bool include_web_sessions: Whether to list web sessions of the
team's member.
:param bool include_desktop_clients: Whether to list linked desktop
devices of the team's member.
:param bool include_mobile_clients: Whether to list linked mobile
devices of the team's member.
:rtype: :class:`dropbox.team.ListMemberDevicesResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.ListMemberDevicesError`
"""
arg = team.ListMemberDevicesArg(team_member_id,
include_web_sessions,
include_desktop_clients,
include_mobile_clients)
r = self.request(
team.devices_list_member_devices,
'team',
arg,
None,
)
return r
def team_devices_list_members_devices(self,
cursor=None,
include_web_sessions=True,
include_desktop_clients=True,
include_mobile_clients=True):
"""
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
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.
:param bool include_web_sessions: Whether to list web sessions of the
team members.
:param bool include_desktop_clients: Whether to list desktop clients of
the team members.
:param bool include_mobile_clients: Whether to list mobile clients of
the team members.
:rtype: :class:`dropbox.team.ListMembersDevicesResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.ListMembersDevicesError`
"""
arg = team.ListMembersDevicesArg(cursor,
include_web_sessions,
include_desktop_clients,
include_mobile_clients)
r = self.request(
team.devices_list_members_devices,
'team',
arg,
None,
)
return r
def team_devices_list_team_devices(self,
cursor=None,
include_web_sessions=True,
include_desktop_clients=True,
include_mobile_clients=True):
"""
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
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.
:param bool include_web_sessions: Whether to list web sessions of the
team members.
:param bool include_desktop_clients: Whether to list desktop clients of
the team members.
:param bool include_mobile_clients: Whether to list mobile clients of
the team members.
:rtype: :class:`dropbox.team.ListTeamDevicesResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.ListTeamDevicesError`
"""
warnings.warn(
'devices/list_team_devices is deprecated. Use devices/list_members_devices.',
DeprecationWarning,
)
arg = team.ListTeamDevicesArg(cursor,
include_web_sessions,
include_desktop_clients,
include_mobile_clients)
r = self.request(
team.devices_list_team_devices,
'team',
arg,
None,
)
return r
def team_devices_revoke_device_session(self,
arg):
"""
Revoke a device session of a team's member.
:type arg: :class:`dropbox.team.RevokeDeviceSessionArg`
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.RevokeDeviceSessionError`
"""
r = self.request(
team.devices_revoke_device_session,
'team',
arg,
None,
)
return None
def team_devices_revoke_device_session_batch(self,
revoke_devices):
"""
Revoke a list of device sessions of team members.
:type revoke_devices: list
:rtype: :class:`dropbox.team.RevokeDeviceSessionBatchResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.RevokeDeviceSessionBatchError`
"""
arg = team.RevokeDeviceSessionBatchArg(revoke_devices)
r = self.request(
team.devices_revoke_device_session_batch,
'team',
arg,
None,
)
return r
def team_features_get_values(self,
features):
"""
Get the values for one or more featues. This route allows you to check
your account's capability for what feature you can access or what value
you have for certain features. Permission : Team information.
:param list features: A list of features in
:class:`dropbox.team.Feature`. If the list is empty, this route will
return :class:`dropbox.team.FeaturesGetValuesBatchError`.
:rtype: :class:`dropbox.team.FeaturesGetValuesBatchResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.FeaturesGetValuesBatchError`
"""
arg = team.FeaturesGetValuesBatchArg(features)
r = self.request(
team.features_get_values,
'team',
arg,
None,
)
return r
def team_get_info(self):
"""
Retrieves information about a team.
:rtype: :class:`dropbox.team.TeamGetInfoResult`
"""
arg = None
r = self.request(
team.get_info,
'team',
arg,
None,
)
return r
def team_groups_create(self,
group_name,
group_external_id=None,
group_management_type=None):
"""
Creates a new, empty group, with a requested name. Permission : Team
member management.
:param str group_name: Group name.
:param Nullable group_external_id: The creator of a team can associate
an arbitrary external ID to the group.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupCreateError`
"""
arg = team.GroupCreateArg(group_name,
group_external_id,
group_management_type)
r = self.request(
team.groups_create,
'team',
arg,
None,
)
return r
def team_groups_delete(self,
arg):
"""
Deletes a group. The group is deleted immediately. However the revoking
of group-owned resources may take additional time. Use the
:meth:`team_groups_job_status_get` to determine whether this process has
completed. Permission : Team member management.
:param arg: Argument for selecting a single group, either by group_id or
by external group ID.
:type arg: :class:`dropbox.team.GroupSelector`
:rtype: :class:`dropbox.team.LaunchEmptyResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupDeleteError`
"""
r = self.request(
team.groups_delete,
'team',
arg,
None,
)
return r
def team_groups_get_info(self,
arg):
"""
Retrieves information about one or more groups. Note that the optional
field ``GroupFullInfo.members`` is not returned for system-managed
groups. Permission : Team Information.
:param arg: Argument for selecting a list of groups, either by
group_ids, or external group IDs.
:type arg: :class:`dropbox.team.GroupsSelector`
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupsGetInfoError`
"""
r = self.request(
team.groups_get_info,
'team',
arg,
None,
)
return r
def team_groups_job_status_get(self,
async_job_id):
"""
Once an async_job_id is returned from :meth:`team_groups_delete`,
:meth:`team_groups_members_add` , or :meth:`team_groups_members_remove`
use this method to poll the status of granting/revoking group members'
access to group-owned resources. 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.GroupsPollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
team.groups_job_status_get,
'team',
arg,
None,
)
return r
def team_groups_list(self,
limit=1000):
"""
Lists groups on a team. Permission : Team Information.
:param int limit: Number of results to return per call.
:rtype: :class:`dropbox.team.GroupsListResult`
"""
arg = team.GroupsListArg(limit)
r = self.request(
team.groups_list,
'team',
arg,
None,
)
return r
def team_groups_list_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`team_groups_list`, use this
to paginate through all groups. Permission : Team Information.
:param str cursor: Indicates from what point to get the next set of
groups.
:rtype: :class:`dropbox.team.GroupsListResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupsListContinueError`
"""
arg = team.GroupsListContinueArg(cursor)
r = self.request(
team.groups_list_continue,
'team',
arg,
None,
)
return r
def team_groups_members_add(self,
group,
members,
return_members=True):
"""
Adds members to a group. The members are added immediately. However the
granting of group-owned resources may take additional time. Use the
:meth:`team_groups_job_status_get` to determine whether this process has
completed. Permission : Team member management.
:param group: Group to which users will be added.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupMembersAddError`
"""
arg = team.GroupMembersAddArg(group,
members,
return_members)
r = self.request(
team.groups_members_add,
'team',
arg,
None,
)
return r
def team_groups_members_list(self,
group,
limit=1000):
"""
Lists members of a group. Permission : Team Information.
:param group: The group whose members are to be listed.
:type group: :class:`dropbox.team.GroupSelector`
:param int limit: Number of results to return per call.
:rtype: :class:`dropbox.team.GroupsMembersListResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupSelectorError`
"""
arg = team.GroupsMembersListArg(group,
limit)
r = self.request(
team.groups_members_list,
'team',
arg,
None,
)
return r
def team_groups_members_list_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`team_groups_members_list`,
use this to paginate through all members of the group. Permission : Team
information.
:param str cursor: Indicates from what point to get the next set of
groups.
:rtype: :class:`dropbox.team.GroupsMembersListResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupsMembersListContinueError`
"""
arg = team.GroupsMembersListContinueArg(cursor)
r = self.request(
team.groups_members_list_continue,
'team',
arg,
None,
)
return r
def team_groups_members_remove(self,
group,
users,
return_members=True):
"""
Removes members from a group. The members are removed immediately.
However the revoking of group-owned resources may take additional time.
Use the :meth:`team_groups_job_status_get` to determine whether this
process has completed. This method permits removing the only owner of a
group, even in cases where this is not possible via the web client.
Permission : Team member management.
:param group: Group from which users will be removed.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupMembersRemoveError`
"""
arg = team.GroupMembersRemoveArg(group,
users,
return_members)
r = self.request(
team.groups_members_remove,
'team',
arg,
None,
)
return r
def team_groups_members_set_access_type(self,
group,
user,
access_type,
return_members=True):
"""
Sets a member's access type in a group. Permission : Team member
management.
:param access_type: New group access type the user will have.
:type access_type: :class:`dropbox.team.GroupAccessType`
:param bool 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.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupMemberSetAccessTypeError`
"""
arg = team.GroupMembersSetAccessTypeArg(group,
user,
access_type,
return_members)
r = self.request(
team.groups_members_set_access_type,
'team',
arg,
None,
)
return r
def team_groups_update(self,
group,
return_members=True,
new_group_name=None,
new_group_external_id=None,
new_group_management_type=None):
"""
Updates a group's name and/or external ID. Permission : Team member
management.
:param group: Specify a group.
:type group: :class:`dropbox.team.GroupSelector`
:param Nullable new_group_name: Optional argument. Set group name to
this if provided.
:param Nullable 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.
:param Nullable new_group_management_type: Set new group management
type, if provided.
:rtype: :class:`dropbox.team.GroupFullInfo`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.GroupUpdateError`
"""
arg = team.GroupUpdateArgs(group,
return_members,
new_group_name,
new_group_external_id,
new_group_management_type)
r = self.request(
team.groups_update,
'team',
arg,
None,
)
return r
def team_linked_apps_list_member_linked_apps(self,
team_member_id):
"""
List all linked applications of the team member. Note, this endpoint
does not list any team-linked applications.
:param str team_member_id: The team member id.
:rtype: :class:`dropbox.team.ListMemberAppsResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.ListMemberAppsError`
"""
arg = team.ListMemberAppsArg(team_member_id)
r = self.request(
team.linked_apps_list_member_linked_apps,
'team',
arg,
None,
)
return r
def team_linked_apps_list_members_linked_apps(self,
cursor=None):
"""
List all applications linked to the team members' accounts. Note, this
endpoint does not list any team-linked applications.
:param Nullable cursor: At the first call to the
:meth:`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 order to receive the next sub list of the team applications.
:rtype: :class:`dropbox.team.ListMembersAppsResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.ListMembersAppsError`
"""
arg = team.ListMembersAppsArg(cursor)
r = self.request(
team.linked_apps_list_members_linked_apps,
'team',
arg,
None,
)
return r
def team_linked_apps_list_team_linked_apps(self,
cursor=None):
"""
List all applications linked to the team members' accounts. Note, this
endpoint doesn't list any team-linked applications.
:param Nullable cursor: At the first call to the
:meth:`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 order to
receive the next sub list of the team applications.
:rtype: :class:`dropbox.team.ListTeamAppsResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.ListTeamAppsError`
"""
warnings.warn(
'linked_apps/list_team_linked_apps is deprecated. Use linked_apps/list_members_linked_apps.',
DeprecationWarning,
)
arg = team.ListTeamAppsArg(cursor)
r = self.request(
team.linked_apps_list_team_linked_apps,
'team',
arg,
None,
)
return r
def team_linked_apps_revoke_linked_app(self,
app_id,
team_member_id,
keep_app_folder=True):
"""
Revoke a linked application of the team member.
:param str app_id: The application's unique id.
:param str team_member_id: The unique id of the member owning the
device.
:param bool keep_app_folder: Whether to keep the application dedicated
folder (in case the application uses one).
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.RevokeLinkedAppError`
"""
arg = team.RevokeLinkedApiAppArg(app_id,
team_member_id,
keep_app_folder)
r = self.request(
team.linked_apps_revoke_linked_app,
'team',
arg,
None,
)
return None
def team_linked_apps_revoke_linked_app_batch(self,
revoke_linked_app):
"""
Revoke a list of linked applications of the team members.
:type revoke_linked_app: list
:rtype: :class:`dropbox.team.RevokeLinkedAppBatchResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.RevokeLinkedAppBatchError`
"""
arg = team.RevokeLinkedApiAppBatchArg(revoke_linked_app)
r = self.request(
team.linked_apps_revoke_linked_app_batch,
'team',
arg,
None,
)
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):
"""
Get users custom quota. Returns none as the custom quota if none was
set. A maximum of 1000 members can be specified in a single call.
:param list users: List of users.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.CustomQuotaError`
"""
arg = team.CustomQuotaUsersArg(users)
r = self.request(
team.member_space_limits_get_custom_quota,
'team',
arg,
None,
)
return r
def team_member_space_limits_remove_custom_quota(self,
users):
"""
Remove users custom quota. A maximum of 1000 members can be specified in
a single call.
:param list users: List of users.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.CustomQuotaError`
"""
arg = team.CustomQuotaUsersArg(users)
r = self.request(
team.member_space_limits_remove_custom_quota,
'team',
arg,
None,
)
return r
def team_member_space_limits_set_custom_quota(self,
users_and_quotas):
"""
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.SetCustomQuotaError`
"""
arg = team.SetCustomQuotaArg(users_and_quotas)
r = self.request(
team.member_space_limits_set_custom_quota,
'team',
arg,
None,
)
return r
def team_members_add(self,
new_members,
force_async=False):
"""
Adds members to a team. Permission : Team member management A maximum of
20 members can be specified in a single call. If no Dropbox account
exists with the email address specified, a new Dropbox account will be
created with the given email address, and that account will be invited
to the team. If a personal Dropbox account exists with the email address
specified in the call, this call will create a placeholder Dropbox
account for the user on the team and send an email inviting the user to
migrate their existing personal account onto the team. Team member
management apps are required to set an initial given_name and surname
for a user to use in the team invitation and for 'Perform as team
member' actions taken on the user before they become 'active'.
:param list new_members: Details of new members to be added to the team.
:param bool force_async: Whether to force the add to happen
asynchronously.
:rtype: :class:`dropbox.team.MembersAddLaunch`
"""
arg = team.MembersAddArg(new_members,
force_async)
r = self.request(
team.members_add,
'team',
arg,
None,
)
return r
def team_members_add_job_status_get(self,
async_job_id):
"""
Once an async_job_id is returned from :meth:`team_members_add` , 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.MembersAddJobStatus`
: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_add_job_status_get,
'team',
arg,
None,
)
return r
def team_members_get_info(self,
members):
"""
Returns information about multiple team members. Permission : Team
information This endpoint will return
``MembersGetInfoItem.id_not_found``, for IDs (or emails) that cannot be
matched to a valid team member.
:param list members: List of team members.
:rtype: list
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersGetInfoError`
"""
arg = team.MembersGetInfoArgs(members)
r = self.request(
team.members_get_info,
'team',
arg,
None,
)
return r
def team_members_list(self,
limit=1000,
include_removed=False):
"""
Lists members of a team. Permission : Team information.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersListError`
"""
arg = team.MembersListArg(limit,
include_removed)
r = self.request(
team.members_list,
'team',
arg,
None,
)
return r
def team_members_list_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`team_members_list`, use
this to paginate through all team members. Permission : Team
information.
:param str cursor: Indicates from what point to get the next set of
members.
:rtype: :class:`dropbox.team.MembersListResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersListContinueError`
"""
arg = team.MembersListContinueArg(cursor)
r = self.request(
team.members_list_continue,
'team',
arg,
None,
)
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):
"""
Recover a deleted member. Permission : Team member management Exactly
one of team_member_id, email, or external_id must be provided to
identify the user account.
:param user: Identity of user to recover.
:type user: :class:`dropbox.team.UserSelectorArg`
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersRecoverError`
"""
arg = team.MembersRecoverArg(user)
r = self.request(
team.members_recover,
'team',
arg,
None,
)
return None
def team_members_remove(self,
user,
wipe_data=True,
transfer_dest_id=None,
transfer_admin_id=None,
keep_account=False):
"""
Removes a member from a team. Permission : Team member management
Exactly one of team_member_id, email, or external_id must be provided to
identify the user account. Accounts can be recovered via
:meth:`team_members_recover` for a 7 day period or until the account has
been permanently deleted or transferred to another account (whichever
comes first). Calling :meth:`team_members_add` while a user is still
recoverable on your team will return with
``MemberAddResult.user_already_on_team``. Accounts can have their files
transferred via the admin console for a limited time, based on the
version history length associated with the team (120 days for most
teams). This endpoint may initiate an asynchronous job. To obtain the
final result of the job, the client should periodically poll
:meth:`team_members_remove_job_status_get`.
:param Nullable transfer_dest_id: If provided, files from the deleted
member account will be transferred to this user.
:param Nullable 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.
:param bool 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.
:rtype: :class:`dropbox.team.LaunchEmptyResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersRemoveError`
"""
arg = team.MembersRemoveArg(user,
wipe_data,
transfer_dest_id,
transfer_admin_id,
keep_account)
r = self.request(
team.members_remove,
'team',
arg,
None,
)
return r
def team_members_remove_job_status_get(self,
async_job_id):
"""
Once an async_job_id is returned from :meth:`team_members_remove` , 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_remove_job_status_get,
'team',
arg,
None,
)
return r
def team_members_send_welcome_email(self,
arg):
"""
Sends welcome email to pending team member. Permission : Team member
management Exactly one of team_member_id, email, or external_id must be
provided to identify the user account. No-op if team member is not
pending.
:param arg: Argument for selecting a single user, either by
team_member_id, external_id or email.
:type arg: :class:`dropbox.team.UserSelectorArg`
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersSendWelcomeError`
"""
r = self.request(
team.members_send_welcome_email,
'team',
arg,
None,
)
return None
def team_members_set_admin_permissions(self,
user,
new_role):
"""
Updates a team member's permissions. Permission : Team member
management.
:param user: Identity of user whose role will be set.
:type user: :class:`dropbox.team.UserSelectorArg`
:param new_role: The new role of the member.
:type new_role: :class:`dropbox.team.AdminTier`
:rtype: :class:`dropbox.team.MembersSetPermissionsResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersSetPermissionsError`
"""
arg = team.MembersSetPermissionsArg(user,
new_role)
r = self.request(
team.members_set_admin_permissions,
'team',
arg,
None,
)
return r
def team_members_set_profile(self,
user,
new_email=None,
new_external_id=None,
new_given_name=None,
new_surname=None,
new_persistent_id=None,
new_is_directory_restricted=None):
"""
Updates a team member's profile. Permission : Team member management.
:param user: Identity of user whose profile will be set.
:type user: :class:`dropbox.team.UserSelectorArg`
:param Nullable new_email: New email for member.
:param Nullable new_external_id: New external ID for member.
:param Nullable new_given_name: New given name for member.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersSetProfileError`
"""
arg = team.MembersSetProfileArg(user,
new_email,
new_external_id,
new_given_name,
new_surname,
new_persistent_id,
new_is_directory_restricted)
r = self.request(
team.members_set_profile,
'team',
arg,
None,
)
return r
def team_members_suspend(self,
user,
wipe_data=True):
"""
Suspend a member from a team. Permission : Team member management
Exactly one of team_member_id, email, or external_id must be provided to
identify the user account.
:param bool wipe_data: If provided, controls if the user's data will be
deleted on their linked devices.
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersSuspendError`
"""
arg = team.MembersDeactivateArg(user,
wipe_data)
r = self.request(
team.members_suspend,
'team',
arg,
None,
)
return None
def team_members_unsuspend(self,
user):
"""
Unsuspend a member from a team. Permission : Team member management
Exactly one of team_member_id, email, or external_id must be provided to
identify the user account.
:param user: Identity of user to unsuspend.
:type user: :class:`dropbox.team.UserSelectorArg`
:rtype: None
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.MembersUnsuspendError`
"""
arg = team.MembersUnsuspendArg(user)
r = self.request(
team.members_unsuspend,
'team',
arg,
None,
)
return None
def team_namespaces_list(self,
limit=1000):
"""
Returns a list of all team-accessible namespaces. This list includes
team folders, shared folders containing team members, team members' home
namespaces, and team members' app folders. Home namespaces and app
folders are always owned by this team or members of the team, but shared
folders may be owned by other users or other teams. Duplicates may occur
in the list.
: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(
team.namespaces_list,
'team',
arg,
None,
)
return r
def team_namespaces_list_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`team_namespaces_list`, use
this to paginate through all team-accessible namespaces. Duplicates may
occur in the list.
:param str cursor: Indicates from what point to get the next set of
team-accessible namespaces.
:rtype: :class:`dropbox.team.TeamNamespacesListResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.TeamNamespacesListContinueError`
"""
arg = team.TeamNamespacesListContinueArg(cursor)
r = self.request(
team.namespaces_list_continue,
'team',
arg,
None,
)
return r
def team_properties_template_add(self,
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,
)
arg = file_properties.AddTemplateArg(name,
description,
fields)
r = self.request(
team.properties_template_add,
'team',
arg,
None,
)
return r
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.TemplateError`
"""
warnings.warn(
'properties/template/get is deprecated.',
DeprecationWarning,
)
arg = file_properties.GetTemplateArg(template_id)
r = self.request(
team.properties_template_get,
'team',
arg,
None,
)
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,
)
arg = None
r = self.request(
team.properties_template_list,
'team',
arg,
None,
)
return r
def team_properties_template_update(self,
template_id,
name=None,
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`.
: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.team.UpdateTemplateResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.ModifyTemplateError`
"""
warnings.warn(
'properties/template/update is deprecated.',
DeprecationWarning,
)
arg = file_properties.UpdateTemplateArg(template_id,
name,
description,
add_fields)
r = self.request(
team.properties_template_update,
'team',
arg,
None,
)
return r
def team_reports_get_activity(self,
start_date=None,
end_date=None):
"""
Retrieves reporting data about a team's user activity.
:param Nullable start_date: Optional starting date (inclusive).
:param Nullable end_date: Optional ending date (exclusive).
:rtype: :class:`dropbox.team.GetActivityReport`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.DateRangeError`
"""
arg = team.DateRange(start_date,
end_date)
r = self.request(
team.reports_get_activity,
'team',
arg,
None,
)
return r
def team_reports_get_devices(self,
start_date=None,
end_date=None):
"""
Retrieves reporting data about a team's linked devices.
:param Nullable start_date: Optional starting date (inclusive).
:param Nullable end_date: Optional ending date (exclusive).
:rtype: :class:`dropbox.team.GetDevicesReport`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.DateRangeError`
"""
arg = team.DateRange(start_date,
end_date)
r = self.request(
team.reports_get_devices,
'team',
arg,
None,
)
return r
def team_reports_get_membership(self,
start_date=None,
end_date=None):
"""
Retrieves reporting data about a team's membership.
:param Nullable start_date: Optional starting date (inclusive).
:param Nullable end_date: Optional ending date (exclusive).
:rtype: :class:`dropbox.team.GetMembershipReport`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.DateRangeError`
"""
arg = team.DateRange(start_date,
end_date)
r = self.request(
team.reports_get_membership,
'team',
arg,
None,
)
return r
def team_reports_get_storage(self,
start_date=None,
end_date=None):
"""
Retrieves reporting data about a team's storage usage.
:param Nullable start_date: Optional starting date (inclusive).
:param Nullable end_date: Optional ending date (exclusive).
:rtype: :class:`dropbox.team.GetStorageReport`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.DateRangeError`
"""
arg = team.DateRange(start_date,
end_date)
r = self.request(
team.reports_get_storage,
'team',
arg,
None,
)
return r
def team_team_folder_activate(self,
team_folder_id):
"""
Sets an archived team folder's status to active. Permission : Team
member file access.
:param str team_folder_id: The ID of the team folder.
:rtype: :class:`dropbox.team.TeamFolderMetadata`
"""
arg = team.TeamFolderIdArg(team_folder_id)
r = self.request(
team.team_folder_activate,
'team',
arg,
None,
)
return r
def team_team_folder_archive(self,
team_folder_id,
force_async_off=False):
"""
Sets an active team folder's status to archived and removes all folder
and file members. Permission : Team member file access.
:param bool force_async_off: Whether to force the archive to happen
synchronously.
:rtype: :class:`dropbox.team.TeamFolderArchiveLaunch`
"""
arg = team.TeamFolderArchiveArg(team_folder_id,
force_async_off)
r = self.request(
team.team_folder_archive,
'team',
arg,
None,
)
return r
def team_team_folder_archive_check(self,
async_job_id):
"""
Returns the status of an asynchronous job for archiving a team folder.
Permission : Team member file access.
: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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.PollError`
"""
arg = async_.PollArg(async_job_id)
r = self.request(
team.team_folder_archive_check,
'team',
arg,
None,
)
return r
def team_team_folder_create(self,
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.TeamFolderCreateError`
"""
arg = team.TeamFolderCreateArg(name,
sync_setting)
r = self.request(
team.team_folder_create,
'team',
arg,
None,
)
return r
def team_team_folder_get_info(self,
team_folder_ids):
"""
Retrieves metadata for team folders. Permission : Team member file
access.
:param list team_folder_ids: The list of team folder IDs.
:rtype: list
"""
arg = team.TeamFolderIdListArg(team_folder_ids)
r = self.request(
team.team_folder_get_info,
'team',
arg,
None,
)
return r
def team_team_folder_list(self,
limit=1000):
"""
Lists all team folders. Permission : Team member file access.
:param int limit: The maximum number of results to return per request.
:rtype: :class:`dropbox.team.TeamFolderListResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.TeamFolderListError`
"""
arg = team.TeamFolderListArg(limit)
r = self.request(
team.team_folder_list,
'team',
arg,
None,
)
return r
def team_team_folder_list_continue(self,
cursor):
"""
Once a cursor has been retrieved from :meth:`team_team_folder_list`, use
this to paginate through all team folders. Permission : Team member file
access.
:param str cursor: Indicates from what point to get the next set of team
folders.
:rtype: :class:`dropbox.team.TeamFolderListResult`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.TeamFolderListContinueError`
"""
arg = team.TeamFolderListContinueArg(cursor)
r = self.request(
team.team_folder_list_continue,
'team',
arg,
None,
)
return r
def team_team_folder_permanently_delete(self,
team_folder_id):
"""
Permanently deletes an archived team folder. Permission : Team member
file access.
:param str team_folder_id: The ID of the team folder.
:rtype: None
"""
arg = team.TeamFolderIdArg(team_folder_id)
r = self.request(
team.team_folder_permanently_delete,
'team',
arg,
None,
)
return None
def team_team_folder_rename(self,
team_folder_id,
name):
"""
Changes an active team folder's name. Permission : Team member file
access.
:param str name: New team folder name.
:rtype: :class:`dropbox.team.TeamFolderMetadata`
:raises: :class:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.TeamFolderRenameError`
"""
arg = team.TeamFolderRenameArg(team_folder_id,
name)
r = self.request(
team.team_folder_rename,
'team',
arg,
None,
)
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:`.exceptions.ApiError`
If this raises, ApiError will contain:
:class:`dropbox.team.TokenGetAuthenticatedAdminError`
"""
arg = None
r = self.request(
team.token_get_authenticated_admin,
'team',
arg,
None,
)
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
dropbox-sdk-python-9.4.0/dropbox/common.py 0000664 0000000 0000000 00000035167 13500550210 0020621 0 ustar 00root root 0000000 0000000 # -*- 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 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 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
other = None
@classmethod
def root(cls, val):
"""
Create an instance of this class set to the ``root`` tag with value
``val``.
:param str val:
:rtype: PathRoot
"""
return cls('root', val)
@classmethod
def namespace_id(cls, val):
"""
Create an instance of this class set to the ``namespace_id`` tag with
value ``val``.
:param str val:
:rtype: PathRoot
"""
return cls('namespace_id', val)
def is_home(self):
"""
Check if the union tag is ``home``.
:rtype: bool
"""
return self._tag == 'home'
def is_root(self):
"""
Check if the union tag is ``root``.
:rtype: bool
"""
return self._tag == 'root'
def is_namespace_id(self):
"""
Check if the union tag is ``namespace_id``.
:rtype: bool
"""
return self._tag == 'namespace_id'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_root(self):
"""
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_root` is true.
:rtype: str
"""
if not self.is_root():
raise AttributeError("tag 'root' not set")
return self._value
def get_namespace_id(self):
"""
Paths are relative to given namespace id (This results in
``PathRootError.no_permission`` if you don't have access to this
namespace.).
Only call this if :meth:`is_namespace_id` is true.
:rtype: str
"""
if not self.is_namespace_id():
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)
PathRoot_validator = bv.Union(PathRoot)
class PathRootError(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 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'
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def invalid_root(cls, val):
"""
Create an instance of this class set to the ``invalid_root`` tag with
value ``val``.
:param RootInfo val:
:rtype: PathRootError
"""
return cls('invalid_root', val)
def is_invalid_root(self):
"""
Check if the union tag is ``invalid_root``.
:rtype: bool
"""
return self._tag == 'invalid_root'
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_invalid_root(self):
"""
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_root` is true.
:rtype: RootInfo
"""
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()
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}$")
# 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'[^/:?*<>"|]*')
SessionId_validator = bv.String()
SharedFolderId_validator = NamespaceId_validator
PathRoot._home_validator = bv.Void()
PathRoot._root_validator = NamespaceId_validator
PathRoot._namespace_id_validator = NamespaceId_validator
PathRoot._other_validator = bv.Void()
PathRoot._tagmap = {
'home': PathRoot._home_validator,
'root': PathRoot._root_validator,
'namespace_id': PathRoot._namespace_id_validator,
'other': PathRoot._other_validator,
}
PathRoot.home = PathRoot('home')
PathRoot.other = PathRoot('other')
PathRootError._invalid_root_validator = RootInfo_validator
PathRootError._no_permission_validator = bv.Void()
PathRootError._other_validator = bv.Void()
PathRootError._tagmap = {
'invalid_root': PathRootError._invalid_root_validator,
'no_permission': PathRootError._no_permission_validator,
'other': PathRootError._other_validator,
}
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 = {
}
dropbox-sdk-python-9.4.0/dropbox/contacts.py 0000664 0000000 0000000 00000012564 13500550210 0021143 0 ustar 00root root 0000000 0000000 # -*- 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,
}
dropbox-sdk-python-9.4.0/dropbox/dropbox.py 0000664 0000000 0000000 00000061155 13500550210 0021002 0 ustar 00root root 0000000 0000000 __all__ = [
'Dropbox',
'DropboxTeam',
'create_session',
]
# This should always be 0.0.0 in master. Only update this after tagging
# before release.
__version__ = '9.4.0'
import contextlib
import json
import logging
import random
import time
import requests
import six
from . import files, stone_serializers
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 (
ApiError,
AuthError,
BadInputError,
HttpError,
PathRootError,
InternalServerError,
RateLimitError,
)
from .session import (
API_HOST,
API_CONTENT_HOST,
API_NOTIFICATION_HOST,
HOST_API,
HOST_CONTENT,
HOST_NOTIFY,
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."""
def __init__(self, obj_result, http_resp=None):
"""
:param str obj_result: The result of a route not including the binary
payload portion, if one exists. Must be serialized JSON.
:param requests.models.Response http_resp: A raw HTTP response. It will
be used to stream the binary-body payload of the response.
"""
assert isinstance(obj_result, six.string_types), \
'obj_result: expected string, got %r' % type(obj_result)
if http_resp is not None:
assert isinstance(http_resp, requests.models.Response), \
'http_resp: expected requests.models.Response, got %r' % \
type(http_resp)
self.obj_result = obj_result
self.http_resp = http_resp
class RouteErrorResult(object):
"""The error result of a call to a route."""
def __init__(self, request_id, obj_result):
"""
:param str request_id: A request_id can be shared with Dropbox Support
to pinpoint the exact request that returns an error.
:param str obj_result: The result of a route not including the binary
payload portion, if one exists.
"""
self.request_id = request_id
self.obj_result = obj_result
def create_session(max_connections=8, proxies=None):
"""
Creates a session object that can be used by multiple :class:`Dropbox` and
:class:`DropboxTeam` instances. This lets you share a connection pool
amongst them, as well as proxy parameters.
:param int max_connections: Maximum connection pool size.
:param dict proxies: See the `requests module
`_
for more details.
:rtype: :class:`requests.sessions.Session`. `See the requests module
`_
for more details.
"""
# We only need as many pool_connections as we have unique hostnames.
session = pinned_session(pool_maxsize=max_connections)
if proxies:
session.proxies = proxies
return session
class _DropboxTransport(object):
"""
Responsible for implementing the wire protocol for making requests to the
Dropbox API.
"""
_API_VERSION = '2'
# Download style means that the route argument goes in a Dropbox-API-Arg
# header, and the result comes back in a Dropbox-API-Result header. The
# HTTP response body contains a binary payload.
_ROUTE_STYLE_DOWNLOAD = 'download'
# Upload style means that the route argument goes in a Dropbox-API-Arg
# header. The HTTP request body contains a binary payload. The result
# comes back in a Dropbox-API-Result header.
_ROUTE_STYLE_UPLOAD = 'upload'
# RPC style means that the argument and result of a route are contained in
# the HTTP body.
_ROUTE_STYLE_RPC = 'rpc'
# This is the default longest time we'll block on receiving data from the server
_DEFAULT_TIMEOUT = 30
def __init__(self,
oauth2_access_token,
max_retries_on_error=4,
max_retries_on_rate_limit=None,
user_agent=None,
session=None,
headers=None,
timeout=_DEFAULT_TIMEOUT):
"""
:param str oauth2_access_token: OAuth2 access token for making client
requests.
:param int max_retries_on_error: On 5xx errors, the number of times to
retry.
:param Optional[int] max_retries_on_rate_limit: On 429 errors, the
number of times to retry. If `None`, always retries.
:param str user_agent: The user agent to use when making requests. This
helps us identify requests coming from your application. We
recommend you use the format "AppName/Version". If set, we append
"/OfficialDropboxPythonSDKv2/__version__" to the user_agent,
:param session: If not provided, a new session (connection pool) is
created. To share a session across multiple clients, use
:func:`create_session`.
:type session: :class:`requests.sessions.Session`
:param dict headers: Additional headers to add to requests.
:param Optional[float] timeout: Maximum duration in seconds that
client will wait for any single packet from the
server. After the timeout the client will give up on
connection. If `None`, client will wait forever. Defaults
to 30 seconds.
"""
assert len(oauth2_access_token) > 0, \
'OAuth2 access token cannot be empty.'
assert headers is None or isinstance(headers, dict), \
'Expected dict, got %r' % headers
self._oauth2_access_token = oauth2_access_token
self._max_retries_on_error = max_retries_on_error
self._max_retries_on_rate_limit = max_retries_on_rate_limit
if session:
assert isinstance(session, requests.sessions.Session), \
'Expected requests.sessions.Session, got %r' % session
self._session = session
else:
self._session = create_session()
self._headers = headers
base_user_agent = 'OfficialDropboxPythonSDKv2/' + __version__
if user_agent:
self._raw_user_agent = user_agent
self._user_agent = '{}/{}'.format(user_agent, base_user_agent)
else:
self._raw_user_agent = None
self._user_agent = base_user_agent
self._logger = logging.getLogger('dropbox')
self._host_map = {HOST_API: API_HOST,
HOST_CONTENT: API_CONTENT_HOST,
HOST_NOTIFY: API_NOTIFICATION_HOST}
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,
request_arg,
request_binary,
timeout=None):
"""
Makes a request to the Dropbox API and in the process validates that
the route argument and result are the expected data types. The
request_arg is converted to JSON based on the arg_data_type. Likewise,
the response is deserialized from JSON and converted to an object based
on the {result,error}_data_type.
:param host: The Dropbox API host to connect to.
:param route: The route to make the request to.
:type route: :class:`.datatypes.stone_base.Route`
:param request_arg: Argument for the route that conforms to the
validator specified by route.arg_type.
:param request_binary: String or file pointer representing the binary
payload. Use None if there is no binary payload.
:param Optional[float] timeout: Maximum duration in seconds
that client will wait for any single packet from the
server. After the timeout the client will give up on
connection. If `None`, will use default timeout set on
Dropbox object. Defaults to `None`.
:return: The route's result.
"""
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)
if (timeout is None and
route == files.list_folder_longpoll):
# The client normally sends a timeout value to the
# longpoll route. The server will respond after
# + random(0, 90) seconds. We increase the
# socket timeout to the longpoll timeout value plus 90
# seconds so that we don't cut the server response short
# due to a shorter socket timeout.
# NB: This is done here because base.py is auto-generated
timeout = request_arg.timeout + 90
res = self.request_json_string_with_retry(host,
route_name,
route_style,
serialized_arg,
request_binary,
timeout=timeout)
decoded_obj_result = json.loads(res.obj_result)
if isinstance(res, RouteResult):
returned_data_type = route.result_type
obj = decoded_obj_result
elif isinstance(res, RouteErrorResult):
returned_data_type = route.error_type
obj = decoded_obj_result['error']
user_message = decoded_obj_result.get('user_message')
user_message_text = user_message and user_message.get('text')
user_message_locale = user_message and user_message.get('locale')
else:
raise AssertionError('Expected RouteResult or RouteErrorResult, '
'but res is %s' % type(res))
deserialized_result = stone_serializers.json_compat_obj_decode(
returned_data_type, obj, strict=False)
if isinstance(res, RouteErrorResult):
raise ApiError(res.request_id,
deserialized_result,
user_message_text,
user_message_locale)
elif route_style == self._ROUTE_STYLE_DOWNLOAD:
return (deserialized_result, res.http_resp)
else:
return deserialized_result
def request_json_object(self,
host,
route_name,
route_style,
request_arg,
request_binary,
timeout=None):
"""
Makes a request to the Dropbox API, taking a JSON-serializable Python
object as an argument, and returning one as a response.
:param host: The Dropbox API host to connect to.
:param route_name: The name of the route to invoke.
:param route_style: The style of the route.
:param str request_arg: A JSON-serializable Python object representing
the argument for the route.
:param Optional[bytes] request_binary: Bytes representing the binary
payload. Use None if there is no binary payload.
:param Optional[float] timeout: Maximum duration in seconds
that client will wait for any single packet from the
server. After the timeout the client will give up on
connection. If `None`, will use default timeout set on
Dropbox object. Defaults to `None`.
:return: The route's result as a JSON-serializable Python object.
"""
serialized_arg = json.dumps(request_arg)
res = self.request_json_string_with_retry(host,
route_name,
route_style,
serialized_arg,
request_binary,
timeout=timeout)
# This can throw a ValueError if the result is not deserializable,
# but that would be completely unexpected.
deserialized_result = json.loads(res.obj_result)
if isinstance(res, RouteResult) and res.http_resp is not None:
return (deserialized_result, res.http_resp)
else:
return deserialized_result
def request_json_string_with_retry(self,
host,
route_name,
route_style,
request_json_arg,
request_binary,
timeout=None):
"""
See :meth:`request_json_object` for description of parameters.
:param request_json_arg: A string representing the serialized JSON
argument to the route.
"""
attempt = 0
rate_limit_errors = 0
while True:
self._logger.info('Request to %s', route_name)
try:
return self.request_json_string(host,
route_name,
route_style,
request_json_arg,
request_binary,
timeout=timeout)
except InternalServerError as e:
attempt += 1
if attempt <= self._max_retries_on_error:
# Use exponential backoff
backoff = 2**attempt * random.random()
self._logger.info(
'HttpError status_code=%s: Retrying in %.1f seconds',
e.status_code, backoff)
time.sleep(backoff)
else:
raise
except RateLimitError as e:
rate_limit_errors += 1
if (self._max_retries_on_rate_limit is None or
self._max_retries_on_rate_limit >= rate_limit_errors):
# Set default backoff to 5 seconds.
backoff = e.backoff if e.backoff is not None else 5.0
self._logger.info(
'Ratelimit: Retrying in %.1f seconds.', backoff)
time.sleep(backoff)
else:
raise
def request_json_string(self,
host,
func_name,
route_style,
request_json_arg,
request_binary,
timeout=None):
"""
See :meth:`request_json_string_with_retry` for description of
parameters.
"""
if host not in self._host_map:
raise ValueError('Unknown value for host: %r' % host)
if not isinstance(request_binary, (six.binary_type, type(None))):
# Disallow streams and file-like objects even though the underlying
# requests library supports them. This is to prevent incorrect
# behavior when a non-rewindable stream is read from, but the
# request fails and needs to be re-tried at a later time.
raise TypeError('expected request_binary as binary type, got %s' %
type(request_binary))
# Fully qualified hostname
fq_hostname = self._host_map[host]
url = self._get_route_url(fq_hostname, func_name)
headers = {'User-Agent': self._user_agent}
if host != HOST_NOTIFY:
headers['Authorization'] = 'Bearer %s' % self._oauth2_access_token
if self._headers:
headers.update(self._headers)
# The contents of the body of the HTTP request
body = None
# Whether the response should be streamed incrementally, or buffered
# entirely. If stream is True, the caller is responsible for closing
# the HTTP response.
stream = False
if route_style == self._ROUTE_STYLE_RPC:
headers['Content-Type'] = 'application/json'
body = request_json_arg
elif route_style == self._ROUTE_STYLE_DOWNLOAD:
headers['Dropbox-API-Arg'] = request_json_arg
stream = True
elif route_style == self._ROUTE_STYLE_UPLOAD:
headers['Content-Type'] = 'application/octet-stream'
headers['Dropbox-API-Arg'] = request_json_arg
body = request_binary
else:
raise ValueError('Unknown operation style: %r' % route_style)
if timeout is None:
timeout = self._timeout
r = self._session.post(url,
headers=headers,
data=body,
stream=stream,
verify=True,
timeout=timeout,
)
request_id = r.headers.get('x-dropbox-request-id')
if r.status_code >= 500:
raise InternalServerError(request_id, r.status_code, r.text)
elif r.status_code == 400:
raise BadInputError(request_id, r.text)
elif r.status_code == 401:
assert r.headers.get('content-type') == 'application/json', (
'Expected content-type to be application/json, got %r' %
r.headers.get('content-type'))
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':
err = stone_serializers.json_compat_obj_decode(
RateLimitError_validator, r.json()['error'])
retry_after = err.retry_after
else:
retry_after_str = r.headers.get('retry-after')
if retry_after_str is not None:
retry_after = int(retry_after_str)
else:
retry_after = None
raise RateLimitError(request_id, err, retry_after)
elif 200 <= r.status_code <= 299:
if route_style == self._ROUTE_STYLE_DOWNLOAD:
raw_resp = r.headers['dropbox-api-result']
else:
assert r.headers.get('content-type') == 'application/json', (
'Expected content-type to be application/json, got %r' %
r.headers.get('content-type'))
raw_resp = r.content.decode('utf-8')
if route_style == self._ROUTE_STYLE_DOWNLOAD:
return RouteResult(raw_resp, r)
else:
return RouteResult(raw_resp)
elif r.status_code in (403, 404, 409):
raw_resp = r.content.decode('utf-8')
return RouteErrorResult(request_id, raw_resp)
else:
raise HttpError(request_id, r.status_code, r.text)
def _get_route_url(self, hostname, route_name):
"""Returns the URL of the route.
:param str hostname: Hostname to make the request to.
:param str route_name: Name of the route.
:rtype: str
"""
return 'https://{hostname}/{version}/{route_name}'.format(
hostname=hostname,
version=Dropbox._API_VERSION,
route_name=route_name,
)
def _save_body_to_file(self, download_path, http_resp, chunksize=2**16):
"""
Saves the body of an HTTP response to a file.
:param str download_path: Local path to save data to.
:param http_resp: The HTTP response whose body will be saved.
:type http_resp: :class:`requests.models.Response`
:rtype: None
"""
with open(download_path, 'wb') as f:
with contextlib.closing(http_resp):
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
token. Methods of this class are meant to act on the corresponding user's
Dropbox.
"""
pass
class DropboxTeam(_DropboxTransport, DropboxTeamBase):
"""
Use this class to make requests to the Dropbox API using a team's access
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[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,
)
dropbox-sdk-python-9.4.0/dropbox/exceptions.py 0000664 0000000 0000000 00000006541 13500550210 0021504 0 ustar 00root root 0000000 0000000 class DropboxException(Exception):
"""All errors related to making an API request extend this."""
def __init__(self, request_id, *args, **kwargs):
# A request_id can be shared with Dropbox Support to pinpoint the exact
# request that returns an error.
super(DropboxException, self).__init__(request_id, *args, **kwargs)
self.request_id = request_id
def __str__(self):
return repr(self)
class ApiError(DropboxException):
"""Errors produced by the Dropbox API."""
def __init__(self, request_id, error, user_message_text, user_message_locale):
"""
:param (str) request_id: A request_id can be shared with Dropbox
Support to pinpoint the exact request that returns an error.
:param error: An instance of the error data type for the route.
:param (str) user_message_text: A human-readable message that can be
displayed to the end user. Is None, if unavailable.
:param (str) user_message_locale: The locale of ``user_message_text``,
if present.
"""
super(ApiError, self).__init__(request_id, error)
self.error = error
self.user_message_text = user_message_text
self.user_message_locale = user_message_locale
def __repr__(self):
return 'ApiError({!r}, {})'.format(self.request_id, self.error)
class HttpError(DropboxException):
"""Errors produced at the HTTP layer."""
def __init__(self, request_id, status_code, body):
super(HttpError, self).__init__(request_id, status_code, body)
self.status_code = status_code
self.body = body
def __repr__(self):
return 'HttpError({!r}, {}, {!r})'.format(self.request_id,
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."""
def __init__(self, request_id, message):
super(BadInputError, self).__init__(request_id, 400, message)
self.message = message
def __repr__(self):
return 'BadInputError({!r}, {!r})'.format(self.request_id, self.message)
class AuthError(HttpError):
"""Errors due to invalid authentication credentials."""
def __init__(self, request_id, error):
super(AuthError, self).__init__(request_id, 401, None)
self.error = error
def __repr__(self):
return 'AuthError({!r}, {!r})'.format(self.request_id, self.error)
class RateLimitError(HttpError):
"""Error caused by rate limiting."""
def __init__(self, request_id, error=None, backoff=None):
super(RateLimitError, self).__init__(request_id, 429, None)
self.error = error
self.backoff = backoff
def __repr__(self):
return 'RateLimitError({!r}, {!r}, {!r})'.format(
self.request_id, self.error, self.backoff)
class InternalServerError(HttpError):
"""Errors due to a problem on Dropbox."""
def __repr__(self):
return 'InternalServerError({!r}, {}, {!r})'.format(
self.request_id, self.status_code, self.body)
dropbox-sdk-python-9.4.0/dropbox/file_properties.py 0000664 0000000 0000000 00000327412 13500550210 0022521 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
"""
This namespace contains helpers for property and template metadata endpoints.
These endpoints enable you to tag arbitrary key/value data to Dropbox files.
The most basic unit in this namespace is the :type:`PropertyField`. These fields encapsulate the actual key/value data.
Fields are added to a Dropbox file using a :type:`PropertyGroup`. Property groups contain a reference to a Dropbox file and a :type:`PropertyGroupTemplate`. Property groups are uniquely identified by the combination of their associated Dropbox file and template.
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 (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(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_property_groups_value',
'_property_groups_present',
]
_has_required_fields = True
def __init__(self,
path=None,
property_groups=None):
self._path_value = None
self._path_present = False
self._property_groups_value = None
self._property_groups_present = False
if path is not None:
self.path = path
if property_groups is not None:
self.property_groups = property_groups
@property
def path(self):
"""
A unique identifier for the file or folder.
: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
@property
def property_groups(self):
"""
The property groups which are to be added to a Dropbox file.
:rtype: list of [PropertyGroup]
"""
if self._property_groups_present:
return self._property_groups_value
else:
raise AttributeError("missing required field 'property_groups'")
@property_groups.setter
def property_groups(self, val):
val = self._property_groups_validator.validate(val)
self._property_groups_value = val
self._property_groups_present = True
@property_groups.deleter
def property_groups(self):
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,
self._property_groups_value,
)
AddPropertiesArg_validator = bv.Struct(AddPropertiesArg)
class TemplateError(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 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'
# Attribute is overwritten below the class definition
restricted_content = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def template_not_found(cls, val):
"""
Create an instance of this class set to the ``template_not_found`` tag
with value ``val``.
:param str val:
:rtype: TemplateError
"""
return cls('template_not_found', val)
def is_template_not_found(self):
"""
Check if the union tag is ``template_not_found``.
:rtype: bool
"""
return self._tag == 'template_not_found'
def is_restricted_content(self):
"""
Check if the union tag is ``restricted_content``.
:rtype: bool
"""
return self._tag == 'restricted_content'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_template_not_found(self):
"""
Template does not exist for the given identifier.
Only call this if :meth:`is_template_not_found` is true.
:rtype: str
"""
if not self.is_template_not_found():
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)
TemplateError_validator = bv.Union(TemplateError)
class PropertiesError(TemplateError):
"""
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.PropertiesError.unsupported_folder: This folder cannot
be tagged. Tagging folders is not supported for team-owned templates.
"""
# Attribute is overwritten below the class definition
unsupported_folder = None
@classmethod
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param LookupError val:
:rtype: PropertiesError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
def is_unsupported_folder(self):
"""
Check if the union tag is ``unsupported_folder``.
:rtype: bool
"""
return self._tag == 'unsupported_folder'
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(PropertiesError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PropertiesError(%r, %r)' % (self._tag, self._value)
PropertiesError_validator = bv.Union(PropertiesError)
class InvalidPropertyGroupError(PropertiesError):
"""
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.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
property_field_too_large = None
# Attribute is overwritten below the class definition
does_not_fit_template = None
def is_property_field_too_large(self):
"""
Check if the union tag is ``property_field_too_large``.
:rtype: bool
"""
return self._tag == 'property_field_too_large'
def is_does_not_fit_template(self):
"""
Check if the union tag is ``does_not_fit_template``.
:rtype: bool
"""
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)
InvalidPropertyGroupError_validator = bv.Union(InvalidPropertyGroupError)
class AddPropertiesError(InvalidPropertyGroupError):
"""
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.AddPropertiesError.property_group_already_exists: A
property group associated with this template and file already exists.
"""
# Attribute is overwritten below the class definition
property_group_already_exists = None
def is_property_group_already_exists(self):
"""
Check if the union tag is ``property_group_already_exists``.
:rtype: bool
"""
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(bb.Struct):
"""
Defines how a property group may be structured.
: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__ = [
'_name_value',
'_name_present',
'_description_value',
'_description_present',
'_fields_value',
'_fields_present',
]
_has_required_fields = True
def __init__(self,
name=None,
description=None,
fields=None):
self._name_value = None
self._name_present = False
self._description_value = None
self._description_present = False
self._fields_value = None
self._fields_present = False
if name is not None:
self.name = name
if description is not None:
self.description = description
if fields is not None:
self.fields = fields
@property
def name(self):
"""
Display name for the template. Template names can be up to 256 bytes.
: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 description(self):
"""
Description for the template. Template descriptions can be up to 1024
bytes.
:rtype: str
"""
if self._description_present:
return self._description_value
else:
raise AttributeError("missing required field 'description'")
@description.setter
def description(self, val):
val = self._description_validator.validate(val)
self._description_value = val
self._description_present = True
@description.deleter
def description(self):
self._description_value = None
self._description_present = False
@property
def fields(self):
"""
Definitions of the property fields associated with this template. There
can be up to 32 properties in a single template.
:rtype: list of [PropertyFieldTemplate]
"""
if self._fields_present:
return self._fields_value
else:
raise AttributeError("missing required field 'fields'")
@fields.setter
def fields(self, val):
val = self._fields_validator.validate(val)
self._fields_value = val
self._fields_present = True
@fields.deleter
def fields(self):
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,
self._description_value,
self._fields_value,
)
PropertyGroupTemplate_validator = bv.Struct(PropertyGroupTemplate)
class AddTemplateArg(PropertyGroupTemplate):
__slots__ = [
]
_has_required_fields = True
def __init__(self,
name=None,
description=None,
fields=None):
super(AddTemplateArg, self).__init__(name,
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,
self._description_value,
self._fields_value,
)
AddTemplateArg_validator = bv.Struct(AddTemplateArg)
class AddTemplateResult(bb.Struct):
"""
: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`.
"""
__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 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`.
: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(AddTemplateResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'AddTemplateResult(template_id={!r})'.format(
self._template_id_value,
)
AddTemplateResult_validator = bv.Struct(AddTemplateResult)
class GetTemplateArg(bb.Struct):
"""
: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`.
"""
__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 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`.
: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(GetTemplateArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetTemplateArg(template_id={!r})'.format(
self._template_id_value,
)
GetTemplateArg_validator = bv.Struct(GetTemplateArg)
class GetTemplateResult(PropertyGroupTemplate):
__slots__ = [
]
_has_required_fields = True
def __init__(self,
name=None,
description=None,
fields=None):
super(GetTemplateResult, self).__init__(name,
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,
self._description_value,
self._fields_value,
)
GetTemplateResult_validator = bv.Struct(GetTemplateResult)
class ListTemplateResult(bb.Struct):
"""
: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`.
"""
__slots__ = [
'_template_ids_value',
'_template_ids_present',
]
_has_required_fields = True
def __init__(self,
template_ids=None):
self._template_ids_value = None
self._template_ids_present = False
if template_ids is not None:
self.template_ids = template_ids
@property
def template_ids(self):
"""
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`.
:rtype: list of [str]
"""
if self._template_ids_present:
return self._template_ids_value
else:
raise AttributeError("missing required field 'template_ids'")
@template_ids.setter
def template_ids(self, val):
val = self._template_ids_validator.validate(val)
self._template_ids_value = val
self._template_ids_present = True
@template_ids.deleter
def template_ids(self):
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,
)
ListTemplateResult_validator = bv.Struct(ListTemplateResult)
class LogicalOperator(bb.Union):
"""
Logical operator to join search queries together.
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.LogicalOperator.or_operator: Append a query with an
"or" operator.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
or_operator = None
# Attribute is overwritten below the class definition
other = None
def is_or_operator(self):
"""
Check if the union tag is ``or_operator``.
:rtype: bool
"""
return self._tag == 'or_operator'
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(LogicalOperator, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'LogicalOperator(%r, %r)' % (self._tag, self._value)
LogicalOperator_validator = bv.Union(LogicalOperator)
class LookUpPropertiesError(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.LookUpPropertiesError.property_group_not_found: No
property group was found.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
property_group_not_found = None
# Attribute is overwritten below the class definition
other = None
def is_property_group_not_found(self):
"""
Check if the union tag is ``property_group_not_found``.
:rtype: bool
"""
return self._tag == 'property_group_not_found'
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(LookUpPropertiesError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'LookUpPropertiesError(%r, %r)' % (self._tag, self._value)
LookUpPropertiesError_validator = bv.Union(LookUpPropertiesError)
class LookupError(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.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'
# Attribute is overwritten below the class definition
not_found = None
# Attribute is overwritten below the class definition
not_file = None
# Attribute is overwritten below the class definition
not_folder = None
# Attribute is overwritten below the class definition
restricted_content = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def malformed_path(cls, val):
"""
Create an instance of this class set to the ``malformed_path`` tag with
value ``val``.
:param str val:
:rtype: LookupError
"""
return cls('malformed_path', val)
def is_malformed_path(self):
"""
Check if the union tag is ``malformed_path``.
:rtype: bool
"""
return self._tag == 'malformed_path'
def is_not_found(self):
"""
Check if the union tag is ``not_found``.
:rtype: bool
"""
return self._tag == 'not_found'
def is_not_file(self):
"""
Check if the union tag is ``not_file``.
:rtype: bool
"""
return self._tag == 'not_file'
def is_not_folder(self):
"""
Check if the union tag is ``not_folder``.
:rtype: bool
"""
return self._tag == 'not_folder'
def is_restricted_content(self):
"""
Check if the union tag is ``restricted_content``.
:rtype: bool
"""
return self._tag == 'restricted_content'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_malformed_path(self):
"""
Only call this if :meth:`is_malformed_path` is true.
:rtype: str
"""
if not self.is_malformed_path():
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)
LookupError_validator = bv.Union(LookupError)
class ModifyTemplateError(TemplateError):
"""
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.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
conflicting_property_names = None
# Attribute is overwritten below the class definition
too_many_properties = None
# Attribute is overwritten below the class definition
too_many_templates = None
# Attribute is overwritten below the class definition
template_attribute_too_large = None
def is_conflicting_property_names(self):
"""
Check if the union tag is ``conflicting_property_names``.
:rtype: bool
"""
return self._tag == 'conflicting_property_names'
def is_too_many_properties(self):
"""
Check if the union tag is ``too_many_properties``.
:rtype: bool
"""
return self._tag == 'too_many_properties'
def is_too_many_templates(self):
"""
Check if the union tag is ``too_many_templates``.
:rtype: bool
"""
return self._tag == 'too_many_templates'
def is_template_attribute_too_large(self):
"""
Check if the union tag is ``template_attribute_too_large``.
:rtype: bool
"""
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(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_property_groups_value',
'_property_groups_present',
]
_has_required_fields = True
def __init__(self,
path=None,
property_groups=None):
self._path_value = None
self._path_present = False
self._property_groups_value = None
self._property_groups_present = False
if path is not None:
self.path = path
if property_groups is not None:
self.property_groups = property_groups
@property
def path(self):
"""
A unique identifier for the file or folder.
: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
@property
def property_groups(self):
"""
The property groups "snapshot" updates to force apply.
:rtype: list of [PropertyGroup]
"""
if self._property_groups_present:
return self._property_groups_value
else:
raise AttributeError("missing required field 'property_groups'")
@property_groups.setter
def property_groups(self, val):
val = self._property_groups_validator.validate(val)
self._property_groups_value = val
self._property_groups_present = True
@property_groups.deleter
def property_groups(self):
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,
self._property_groups_value,
)
OverwritePropertyGroupArg_validator = bv.Struct(OverwritePropertyGroupArg)
class PropertiesSearchArg(bb.Struct):
"""
: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__ = [
'_queries_value',
'_queries_present',
'_template_filter_value',
'_template_filter_present',
]
_has_required_fields = True
def __init__(self,
queries=None,
template_filter=None):
self._queries_value = None
self._queries_present = False
self._template_filter_value = None
self._template_filter_present = False
if queries is not None:
self.queries = queries
if template_filter is not None:
self.template_filter = template_filter
@property
def queries(self):
"""
Queries to search.
:rtype: list of [PropertiesSearchQuery]
"""
if self._queries_present:
return self._queries_value
else:
raise AttributeError("missing required field 'queries'")
@queries.setter
def queries(self, val):
val = self._queries_validator.validate(val)
self._queries_value = val
self._queries_present = True
@queries.deleter
def queries(self):
self._queries_value = None
self._queries_present = False
@property
def template_filter(self):
"""
Filter results to contain only properties associated with these template
IDs.
:rtype: TemplateFilter
"""
if self._template_filter_present:
return self._template_filter_value
else:
return TemplateFilter.filter_none
@template_filter.setter
def template_filter(self, val):
self._template_filter_validator.validate_type_only(val)
self._template_filter_value = val
self._template_filter_present = True
@template_filter.deleter
def template_filter(self):
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,
self._template_filter_value,
)
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
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 property_group_lookup(cls, val):
"""
Create an instance of this class set to the ``property_group_lookup``
tag with value ``val``.
:param LookUpPropertiesError val:
:rtype: PropertiesSearchError
"""
return cls('property_group_lookup', val)
def is_property_group_lookup(self):
"""
Check if the union tag is ``property_group_lookup``.
:rtype: bool
"""
return self._tag == 'property_group_lookup'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_property_group_lookup(self):
"""
Only call this if :meth:`is_property_group_lookup` is true.
:rtype: LookUpPropertiesError
"""
if not self.is_property_group_lookup():
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(bb.Struct):
"""
: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__ = [
'_id_value',
'_id_present',
'_path_value',
'_path_present',
'_is_deleted_value',
'_is_deleted_present',
'_property_groups_value',
'_property_groups_present',
]
_has_required_fields = True
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
@property
def id(self):
"""
The ID for the matched file or folder.
: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 path(self):
"""
The path for the matched file or folder.
: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
@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):
"""
List of custom property groups associated with the file.
:rtype: list of [PropertyGroup]
"""
if self._property_groups_present:
return self._property_groups_value
else:
raise AttributeError("missing required field 'property_groups'")
@property_groups.setter
def property_groups(self, val):
val = self._property_groups_validator.validate(val)
self._property_groups_value = val
self._property_groups_present = True
@property_groups.deleter
def property_groups(self):
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}, is_deleted={!r}, property_groups={!r})'.format(
self._id_value,
self._path_value,
self._is_deleted_value,
self._property_groups_value,
)
PropertiesSearchMatch_validator = bv.Struct(PropertiesSearchMatch)
class PropertiesSearchMode(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 str file_properties.PropertiesSearchMode.field_name: Search for a
value associated with this field name.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def field_name(cls, val):
"""
Create an instance of this class set to the ``field_name`` tag with
value ``val``.
:param str val:
:rtype: PropertiesSearchMode
"""
return cls('field_name', val)
def is_field_name(self):
"""
Check if the union tag is ``field_name``.
:rtype: bool
"""
return self._tag == 'field_name'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_field_name(self):
"""
Search for a value associated with this field name.
Only call this if :meth:`is_field_name` is true.
:rtype: str
"""
if not self.is_field_name():
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(bb.Struct):
"""
: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__ = [
'_query_value',
'_query_present',
'_mode_value',
'_mode_present',
'_logical_operator_value',
'_logical_operator_present',
]
_has_required_fields = True
def __init__(self,
query=None,
mode=None,
logical_operator=None):
self._query_value = None
self._query_present = False
self._mode_value = None
self._mode_present = False
self._logical_operator_value = None
self._logical_operator_present = False
if query is not None:
self.query = query
if mode is not None:
self.mode = mode
if logical_operator is not None:
self.logical_operator = logical_operator
@property
def query(self):
"""
The property field value for which to search across templates.
:rtype: str
"""
if self._query_present:
return self._query_value
else:
raise AttributeError("missing required field 'query'")
@query.setter
def query(self, val):
val = self._query_validator.validate(val)
self._query_value = val
self._query_present = True
@query.deleter
def query(self):
self._query_value = None
self._query_present = False
@property
def mode(self):
"""
The mode with which to perform the search.
:rtype: PropertiesSearchMode
"""
if self._mode_present:
return self._mode_value
else:
raise AttributeError("missing required field 'mode'")
@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
@property
def logical_operator(self):
"""
The logical operator with which to append the query.
:rtype: LogicalOperator
"""
if self._logical_operator_present:
return self._logical_operator_value
else:
return LogicalOperator.or_operator
@logical_operator.setter
def logical_operator(self, val):
self._logical_operator_validator.validate_type_only(val)
self._logical_operator_value = val
self._logical_operator_present = True
@logical_operator.deleter
def logical_operator(self):
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,
self._mode_value,
self._logical_operator_value,
)
PropertiesSearchQuery_validator = bv.Struct(PropertiesSearchQuery)
class PropertiesSearchResult(bb.Struct):
"""
: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,
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):
"""
A list (possibly empty) of matches for the query.
:rtype: list of [PropertiesSearchMatch]
"""
if self._matches_present:
return self._matches_value
else:
raise AttributeError("missing required field 'matches'")
@matches.setter
def matches(self, val):
val = self._matches_validator.validate(val)
self._matches_value = val
self._matches_present = True
@matches.deleter
def matches(self):
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}, cursor={!r})'.format(
self._matches_value,
self._cursor_value,
)
PropertiesSearchResult_validator = bv.Struct(PropertiesSearchResult)
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 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__ = [
'_name_value',
'_name_present',
'_value_value',
'_value_present',
]
_has_required_fields = True
def __init__(self,
name=None,
value=None):
self._name_value = None
self._name_present = False
self._value_value = None
self._value_present = False
if name is not None:
self.name = name
if value is not None:
self.value = value
@property
def name(self):
"""
Key of the property field associated with a file and template. Keys can
be up to 256 bytes.
: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 value(self):
"""
Value of the property field associated with a file and template. Values
can be up to 1024 bytes.
:rtype: str
"""
if self._value_present:
return self._value_value
else:
raise AttributeError("missing required field 'value'")
@value.setter
def value(self, val):
val = self._value_validator.validate(val)
self._value_value = val
self._value_present = True
@value.deleter
def value(self):
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,
self._value_value,
)
PropertyField_validator = bv.Struct(PropertyField)
class PropertyFieldTemplate(bb.Struct):
"""
Defines how a single property field may be structured. Used exclusively by
:class:`PropertyGroupTemplate`.
: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__ = [
'_name_value',
'_name_present',
'_description_value',
'_description_present',
'_type_value',
'_type_present',
]
_has_required_fields = True
def __init__(self,
name=None,
description=None,
type=None):
self._name_value = None
self._name_present = False
self._description_value = None
self._description_present = False
self._type_value = None
self._type_present = False
if name is not None:
self.name = name
if description is not None:
self.description = description
if type is not None:
self.type = type
@property
def name(self):
"""
Key of the property field being described. Property field keys can be up
to 256 bytes.
: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 description(self):
"""
Description of the property field. Property field descriptions can be up
to 1024 bytes.
:rtype: str
"""
if self._description_present:
return self._description_value
else:
raise AttributeError("missing required field 'description'")
@description.setter
def description(self, val):
val = self._description_validator.validate(val)
self._description_value = val
self._description_present = True
@description.deleter
def description(self):
self._description_value = None
self._description_present = False
@property
def type(self):
"""
Data type of the value of this property field. This type will be
enforced upon property creation and modifications.
:rtype: PropertyType
"""
if self._type_present:
return self._type_value
else:
raise AttributeError("missing required field 'type'")
@type.setter
def type(self, val):
self._type_validator.validate_type_only(val)
self._type_value = val
self._type_present = True
@type.deleter
def type(self):
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,
self._description_value,
self._type_value,
)
PropertyFieldTemplate_validator = bv.Struct(PropertyFieldTemplate)
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 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__ = [
'_template_id_value',
'_template_id_present',
'_fields_value',
'_fields_present',
]
_has_required_fields = True
def __init__(self,
template_id=None,
fields=None):
self._template_id_value = None
self._template_id_present = False
self._fields_value = None
self._fields_present = False
if template_id is not None:
self.template_id = template_id
if fields is not None:
self.fields = fields
@property
def template_id(self):
"""
A unique identifier for the associated template.
: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
@property
def fields(self):
"""
The actual properties associated with the template. There can be up to
32 property types per template.
:rtype: list of [PropertyField]
"""
if self._fields_present:
return self._fields_value
else:
raise AttributeError("missing required field 'fields'")
@fields.setter
def fields(self, val):
val = self._fields_validator.validate(val)
self._fields_value = val
self._fields_present = True
@fields.deleter
def fields(self):
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,
self._fields_value,
)
PropertyGroup_validator = bv.Struct(PropertyGroup)
class PropertyGroupUpdate(bb.Struct):
"""
: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__ = [
'_template_id_value',
'_template_id_present',
'_add_or_update_fields_value',
'_add_or_update_fields_present',
'_remove_fields_value',
'_remove_fields_present',
]
_has_required_fields = True
def __init__(self,
template_id=None,
add_or_update_fields=None,
remove_fields=None):
self._template_id_value = None
self._template_id_present = False
self._add_or_update_fields_value = None
self._add_or_update_fields_present = False
self._remove_fields_value = None
self._remove_fields_present = False
if template_id is not None:
self.template_id = template_id
if add_or_update_fields is not None:
self.add_or_update_fields = add_or_update_fields
if remove_fields is not None:
self.remove_fields = remove_fields
@property
def template_id(self):
"""
A unique identifier for a property template.
: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
@property
def add_or_update_fields(self):
"""
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.
:rtype: list of [PropertyField]
"""
if self._add_or_update_fields_present:
return self._add_or_update_fields_value
else:
return None
@add_or_update_fields.setter
def add_or_update_fields(self, val):
if val is None:
del self.add_or_update_fields
return
val = self._add_or_update_fields_validator.validate(val)
self._add_or_update_fields_value = val
self._add_or_update_fields_present = True
@add_or_update_fields.deleter
def add_or_update_fields(self):
self._add_or_update_fields_value = None
self._add_or_update_fields_present = False
@property
def remove_fields(self):
"""
Property fields to remove (by name), provided they exist.
:rtype: list of [str]
"""
if self._remove_fields_present:
return self._remove_fields_value
else:
return None
@remove_fields.setter
def remove_fields(self, val):
if val is None:
del self.remove_fields
return
val = self._remove_fields_validator.validate(val)
self._remove_fields_value = val
self._remove_fields_present = True
@remove_fields.deleter
def remove_fields(self):
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,
self._add_or_update_fields_value,
self._remove_fields_value,
)
PropertyGroupUpdate_validator = bv.Struct(PropertyGroupUpdate)
class PropertyType(bb.Union):
"""
Data type of the given property field added.
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.PropertyType.string: The associated property field
will be of type string. Unicode is supported.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
string = None
# Attribute is overwritten below the class definition
other = None
def is_string(self):
"""
Check if the union tag is ``string``.
:rtype: bool
"""
return self._tag == 'string'
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(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(bb.Struct):
"""
: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`.
"""
__slots__ = [
'_path_value',
'_path_present',
'_property_template_ids_value',
'_property_template_ids_present',
]
_has_required_fields = True
def __init__(self,
path=None,
property_template_ids=None):
self._path_value = None
self._path_present = False
self._property_template_ids_value = None
self._property_template_ids_present = False
if path is not None:
self.path = path
if property_template_ids is not None:
self.property_template_ids = property_template_ids
@property
def path(self):
"""
A unique identifier for the file or folder.
: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
@property
def property_template_ids(self):
"""
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`.
:rtype: list of [str]
"""
if self._property_template_ids_present:
return self._property_template_ids_value
else:
raise AttributeError("missing required field 'property_template_ids'")
@property_template_ids.setter
def property_template_ids(self, val):
val = self._property_template_ids_validator.validate(val)
self._property_template_ids_value = val
self._property_template_ids_present = True
@property_template_ids.deleter
def property_template_ids(self):
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,
self._property_template_ids_value,
)
RemovePropertiesArg_validator = bv.Struct(RemovePropertiesArg)
class RemovePropertiesError(PropertiesError):
"""
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 property_group_lookup(cls, val):
"""
Create an instance of this class set to the ``property_group_lookup``
tag with value ``val``.
:param LookUpPropertiesError val:
:rtype: RemovePropertiesError
"""
return cls('property_group_lookup', val)
def is_property_group_lookup(self):
"""
Check if the union tag is ``property_group_lookup``.
:rtype: bool
"""
return self._tag == 'property_group_lookup'
def get_property_group_lookup(self):
"""
Only call this if :meth:`is_property_group_lookup` is true.
:rtype: LookUpPropertiesError
"""
if not self.is_property_group_lookup():
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 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 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).
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def filter_some(cls, val):
"""
Create an instance of this class set to the ``filter_some`` tag with
value ``val``.
:param list of [str] val:
:rtype: TemplateFilterBase
"""
return cls('filter_some', val)
def is_filter_some(self):
"""
Check if the union tag is ``filter_some``.
:rtype: bool
"""
return self._tag == 'filter_some'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_filter_some(self):
"""
Only templates with an ID in the supplied list will be returned (a
subset of templates will be returned).
Only call this if :meth:`is_filter_some` is true.
:rtype: list of [str]
"""
if not self.is_filter_some():
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)
TemplateFilter_validator = bv.Union(TemplateFilter)
class TemplateOwnerType(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.TemplateOwnerType.user: Template will be associated
with a user.
:ivar file_properties.TemplateOwnerType.team: Template will be associated
with a team.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
user = None
# Attribute is overwritten below the class definition
team = 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_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == 'team'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_update_property_groups_value',
'_update_property_groups_present',
]
_has_required_fields = True
def __init__(self,
path=None,
update_property_groups=None):
self._path_value = None
self._path_present = False
self._update_property_groups_value = None
self._update_property_groups_present = False
if path is not None:
self.path = path
if update_property_groups is not None:
self.update_property_groups = update_property_groups
@property
def path(self):
"""
A unique identifier for the file or folder.
: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
@property
def update_property_groups(self):
"""
The property groups "delta" updates to apply.
:rtype: list of [PropertyGroupUpdate]
"""
if self._update_property_groups_present:
return self._update_property_groups_value
else:
raise AttributeError("missing required field 'update_property_groups'")
@update_property_groups.setter
def update_property_groups(self, val):
val = self._update_property_groups_validator.validate(val)
self._update_property_groups_value = val
self._update_property_groups_present = True
@update_property_groups.deleter
def update_property_groups(self):
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,
self._update_property_groups_value,
)
UpdatePropertiesArg_validator = bv.Struct(UpdatePropertiesArg)
class UpdatePropertiesError(InvalidPropertyGroupError):
"""
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 property_group_lookup(cls, val):
"""
Create an instance of this class set to the ``property_group_lookup``
tag with value ``val``.
:param LookUpPropertiesError val:
:rtype: UpdatePropertiesError
"""
return cls('property_group_lookup', val)
def is_property_group_lookup(self):
"""
Check if the union tag is ``property_group_lookup``.
:rtype: bool
"""
return self._tag == 'property_group_lookup'
def get_property_group_lookup(self):
"""
Only call this if :meth:`is_property_group_lookup` is true.
:rtype: LookUpPropertiesError
"""
if not self.is_property_group_lookup():
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(bb.Struct):
"""
: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 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__ = [
'_template_id_value',
'_template_id_present',
'_name_value',
'_name_present',
'_description_value',
'_description_present',
'_add_fields_value',
'_add_fields_present',
]
_has_required_fields = True
def __init__(self,
template_id=None,
name=None,
description=None,
add_fields=None):
self._template_id_value = None
self._template_id_present = False
self._name_value = None
self._name_present = False
self._description_value = None
self._description_present = False
self._add_fields_value = None
self._add_fields_present = False
if template_id is not None:
self.template_id = template_id
if name is not None:
self.name = name
if description is not None:
self.description = description
if add_fields is not None:
self.add_fields = add_fields
@property
def template_id(self):
"""
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`.
: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
@property
def name(self):
"""
A display name for the template. template names can be up to 256 bytes.
:rtype: str
"""
if self._name_present:
return self._name_value
else:
return None
@name.setter
def name(self, val):
if val is None:
del self.name
return
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 description(self):
"""
Description for the new template. Template descriptions can be up to
1024 bytes.
:rtype: str
"""
if self._description_present:
return self._description_value
else:
return None
@description.setter
def description(self, val):
if val is None:
del self.description
return
val = self._description_validator.validate(val)
self._description_value = val
self._description_present = True
@description.deleter
def description(self):
self._description_value = None
self._description_present = False
@property
def add_fields(self):
"""
Property field templates to be added to the group template. There can be
up to 32 properties in a single template.
:rtype: list of [PropertyFieldTemplate]
"""
if self._add_fields_present:
return self._add_fields_value
else:
return None
@add_fields.setter
def add_fields(self, val):
if val is None:
del self.add_fields
return
val = self._add_fields_validator.validate(val)
self._add_fields_value = val
self._add_fields_present = True
@add_fields.deleter
def add_fields(self):
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,
self._name_value,
self._description_value,
self._add_fields_value,
)
UpdateTemplateArg_validator = bv.Struct(UpdateTemplateArg)
class UpdateTemplateResult(bb.Struct):
"""
: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`.
"""
__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 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`.
: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(UpdateTemplateResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UpdateTemplateResult(template_id={!r})'.format(
self._template_id_value,
)
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)
AddPropertiesArg._all_field_names_ = set([
'path',
'property_groups',
])
AddPropertiesArg._all_fields_ = [
('path', AddPropertiesArg._path_validator),
('property_groups', AddPropertiesArg._property_groups_validator),
]
TemplateError._template_not_found_validator = TemplateId_validator
TemplateError._restricted_content_validator = bv.Void()
TemplateError._other_validator = bv.Void()
TemplateError._tagmap = {
'template_not_found': TemplateError._template_not_found_validator,
'restricted_content': TemplateError._restricted_content_validator,
'other': TemplateError._other_validator,
}
TemplateError.restricted_content = TemplateError('restricted_content')
TemplateError.other = TemplateError('other')
PropertiesError._path_validator = LookupError_validator
PropertiesError._unsupported_folder_validator = bv.Void()
PropertiesError._tagmap = {
'path': PropertiesError._path_validator,
'unsupported_folder': PropertiesError._unsupported_folder_validator,
}
PropertiesError._tagmap.update(TemplateError._tagmap)
PropertiesError.unsupported_folder = PropertiesError('unsupported_folder')
InvalidPropertyGroupError._property_field_too_large_validator = bv.Void()
InvalidPropertyGroupError._does_not_fit_template_validator = bv.Void()
InvalidPropertyGroupError._tagmap = {
'property_field_too_large': InvalidPropertyGroupError._property_field_too_large_validator,
'does_not_fit_template': InvalidPropertyGroupError._does_not_fit_template_validator,
}
InvalidPropertyGroupError._tagmap.update(PropertiesError._tagmap)
InvalidPropertyGroupError.property_field_too_large = InvalidPropertyGroupError('property_field_too_large')
InvalidPropertyGroupError.does_not_fit_template = InvalidPropertyGroupError('does_not_fit_template')
AddPropertiesError._property_group_already_exists_validator = bv.Void()
AddPropertiesError._tagmap = {
'property_group_already_exists': AddPropertiesError._property_group_already_exists_validator,
}
AddPropertiesError._tagmap.update(InvalidPropertyGroupError._tagmap)
AddPropertiesError.property_group_already_exists = AddPropertiesError('property_group_already_exists')
PropertyGroupTemplate._name_validator = bv.String()
PropertyGroupTemplate._description_validator = bv.String()
PropertyGroupTemplate._fields_validator = bv.List(PropertyFieldTemplate_validator)
PropertyGroupTemplate._all_field_names_ = set([
'name',
'description',
'fields',
])
PropertyGroupTemplate._all_fields_ = [
('name', PropertyGroupTemplate._name_validator),
('description', PropertyGroupTemplate._description_validator),
('fields', PropertyGroupTemplate._fields_validator),
]
AddTemplateArg._all_field_names_ = PropertyGroupTemplate._all_field_names_.union(set([]))
AddTemplateArg._all_fields_ = PropertyGroupTemplate._all_fields_ + []
AddTemplateResult._template_id_validator = TemplateId_validator
AddTemplateResult._all_field_names_ = set(['template_id'])
AddTemplateResult._all_fields_ = [('template_id', AddTemplateResult._template_id_validator)]
GetTemplateArg._template_id_validator = TemplateId_validator
GetTemplateArg._all_field_names_ = set(['template_id'])
GetTemplateArg._all_fields_ = [('template_id', GetTemplateArg._template_id_validator)]
GetTemplateResult._all_field_names_ = PropertyGroupTemplate._all_field_names_.union(set([]))
GetTemplateResult._all_fields_ = PropertyGroupTemplate._all_fields_ + []
ListTemplateResult._template_ids_validator = bv.List(TemplateId_validator)
ListTemplateResult._all_field_names_ = set(['template_ids'])
ListTemplateResult._all_fields_ = [('template_ids', ListTemplateResult._template_ids_validator)]
LogicalOperator._or_operator_validator = bv.Void()
LogicalOperator._other_validator = bv.Void()
LogicalOperator._tagmap = {
'or_operator': LogicalOperator._or_operator_validator,
'other': LogicalOperator._other_validator,
}
LogicalOperator.or_operator = LogicalOperator('or_operator')
LogicalOperator.other = LogicalOperator('other')
LookUpPropertiesError._property_group_not_found_validator = bv.Void()
LookUpPropertiesError._other_validator = bv.Void()
LookUpPropertiesError._tagmap = {
'property_group_not_found': LookUpPropertiesError._property_group_not_found_validator,
'other': LookUpPropertiesError._other_validator,
}
LookUpPropertiesError.property_group_not_found = LookUpPropertiesError('property_group_not_found')
LookUpPropertiesError.other = LookUpPropertiesError('other')
LookupError._malformed_path_validator = bv.String()
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._other_validator = bv.Void()
LookupError._tagmap = {
'malformed_path': LookupError._malformed_path_validator,
'not_found': LookupError._not_found_validator,
'not_file': LookupError._not_file_validator,
'not_folder': LookupError._not_folder_validator,
'restricted_content': LookupError._restricted_content_validator,
'other': LookupError._other_validator,
}
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.other = LookupError('other')
ModifyTemplateError._conflicting_property_names_validator = bv.Void()
ModifyTemplateError._too_many_properties_validator = bv.Void()
ModifyTemplateError._too_many_templates_validator = bv.Void()
ModifyTemplateError._template_attribute_too_large_validator = bv.Void()
ModifyTemplateError._tagmap = {
'conflicting_property_names': ModifyTemplateError._conflicting_property_names_validator,
'too_many_properties': ModifyTemplateError._too_many_properties_validator,
'too_many_templates': ModifyTemplateError._too_many_templates_validator,
'template_attribute_too_large': ModifyTemplateError._template_attribute_too_large_validator,
}
ModifyTemplateError._tagmap.update(TemplateError._tagmap)
ModifyTemplateError.conflicting_property_names = ModifyTemplateError('conflicting_property_names')
ModifyTemplateError.too_many_properties = ModifyTemplateError('too_many_properties')
ModifyTemplateError.too_many_templates = ModifyTemplateError('too_many_templates')
ModifyTemplateError.template_attribute_too_large = ModifyTemplateError('template_attribute_too_large')
OverwritePropertyGroupArg._path_validator = PathOrId_validator
OverwritePropertyGroupArg._property_groups_validator = bv.List(PropertyGroup_validator, min_items=1)
OverwritePropertyGroupArg._all_field_names_ = set([
'path',
'property_groups',
])
OverwritePropertyGroupArg._all_fields_ = [
('path', OverwritePropertyGroupArg._path_validator),
('property_groups', OverwritePropertyGroupArg._property_groups_validator),
]
PropertiesSearchArg._queries_validator = bv.List(PropertiesSearchQuery_validator, min_items=1)
PropertiesSearchArg._template_filter_validator = TemplateFilter_validator
PropertiesSearchArg._all_field_names_ = set([
'queries',
'template_filter',
])
PropertiesSearchArg._all_fields_ = [
('queries', PropertiesSearchArg._queries_validator),
('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 = {
'property_group_lookup': PropertiesSearchError._property_group_lookup_validator,
'other': PropertiesSearchError._other_validator,
}
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),
]
PropertiesSearchMode._field_name_validator = bv.String()
PropertiesSearchMode._other_validator = bv.Void()
PropertiesSearchMode._tagmap = {
'field_name': PropertiesSearchMode._field_name_validator,
'other': PropertiesSearchMode._other_validator,
}
PropertiesSearchMode.other = PropertiesSearchMode('other')
PropertiesSearchQuery._query_validator = bv.String()
PropertiesSearchQuery._mode_validator = PropertiesSearchMode_validator
PropertiesSearchQuery._logical_operator_validator = LogicalOperator_validator
PropertiesSearchQuery._all_field_names_ = set([
'query',
'mode',
'logical_operator',
])
PropertiesSearchQuery._all_fields_ = [
('query', PropertiesSearchQuery._query_validator),
('mode', PropertiesSearchQuery._mode_validator),
('logical_operator', PropertiesSearchQuery._logical_operator_validator),
]
PropertiesSearchResult._matches_validator = bv.List(PropertiesSearchMatch_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()
PropertyField._all_field_names_ = set([
'name',
'value',
])
PropertyField._all_fields_ = [
('name', PropertyField._name_validator),
('value', PropertyField._value_validator),
]
PropertyFieldTemplate._name_validator = bv.String()
PropertyFieldTemplate._description_validator = bv.String()
PropertyFieldTemplate._type_validator = PropertyType_validator
PropertyFieldTemplate._all_field_names_ = set([
'name',
'description',
'type',
])
PropertyFieldTemplate._all_fields_ = [
('name', PropertyFieldTemplate._name_validator),
('description', PropertyFieldTemplate._description_validator),
('type', PropertyFieldTemplate._type_validator),
]
PropertyGroup._template_id_validator = TemplateId_validator
PropertyGroup._fields_validator = bv.List(PropertyField_validator)
PropertyGroup._all_field_names_ = set([
'template_id',
'fields',
])
PropertyGroup._all_fields_ = [
('template_id', PropertyGroup._template_id_validator),
('fields', PropertyGroup._fields_validator),
]
PropertyGroupUpdate._template_id_validator = TemplateId_validator
PropertyGroupUpdate._add_or_update_fields_validator = bv.Nullable(bv.List(PropertyField_validator))
PropertyGroupUpdate._remove_fields_validator = bv.Nullable(bv.List(bv.String()))
PropertyGroupUpdate._all_field_names_ = set([
'template_id',
'add_or_update_fields',
'remove_fields',
])
PropertyGroupUpdate._all_fields_ = [
('template_id', PropertyGroupUpdate._template_id_validator),
('add_or_update_fields', PropertyGroupUpdate._add_or_update_fields_validator),
('remove_fields', PropertyGroupUpdate._remove_fields_validator),
]
PropertyType._string_validator = bv.Void()
PropertyType._other_validator = bv.Void()
PropertyType._tagmap = {
'string': PropertyType._string_validator,
'other': PropertyType._other_validator,
}
PropertyType.string = PropertyType('string')
PropertyType.other = PropertyType('other')
RemovePropertiesArg._path_validator = PathOrId_validator
RemovePropertiesArg._property_template_ids_validator = bv.List(TemplateId_validator)
RemovePropertiesArg._all_field_names_ = set([
'path',
'property_template_ids',
])
RemovePropertiesArg._all_fields_ = [
('path', RemovePropertiesArg._path_validator),
('property_template_ids', RemovePropertiesArg._property_template_ids_validator),
]
RemovePropertiesError._property_group_lookup_validator = LookUpPropertiesError_validator
RemovePropertiesError._tagmap = {
'property_group_lookup': RemovePropertiesError._property_group_lookup_validator,
}
RemovePropertiesError._tagmap.update(PropertiesError._tagmap)
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')
TemplateOwnerType._user_validator = bv.Void()
TemplateOwnerType._team_validator = bv.Void()
TemplateOwnerType._other_validator = bv.Void()
TemplateOwnerType._tagmap = {
'user': TemplateOwnerType._user_validator,
'team': TemplateOwnerType._team_validator,
'other': TemplateOwnerType._other_validator,
}
TemplateOwnerType.user = TemplateOwnerType('user')
TemplateOwnerType.team = TemplateOwnerType('team')
TemplateOwnerType.other = TemplateOwnerType('other')
UpdatePropertiesArg._path_validator = PathOrId_validator
UpdatePropertiesArg._update_property_groups_validator = bv.List(PropertyGroupUpdate_validator)
UpdatePropertiesArg._all_field_names_ = set([
'path',
'update_property_groups',
])
UpdatePropertiesArg._all_fields_ = [
('path', UpdatePropertiesArg._path_validator),
('update_property_groups', UpdatePropertiesArg._update_property_groups_validator),
]
UpdatePropertiesError._property_group_lookup_validator = LookUpPropertiesError_validator
UpdatePropertiesError._tagmap = {
'property_group_lookup': UpdatePropertiesError._property_group_lookup_validator,
}
UpdatePropertiesError._tagmap.update(InvalidPropertyGroupError._tagmap)
UpdateTemplateArg._template_id_validator = TemplateId_validator
UpdateTemplateArg._name_validator = bv.Nullable(bv.String())
UpdateTemplateArg._description_validator = bv.Nullable(bv.String())
UpdateTemplateArg._add_fields_validator = bv.Nullable(bv.List(PropertyFieldTemplate_validator))
UpdateTemplateArg._all_field_names_ = set([
'template_id',
'name',
'description',
'add_fields',
])
UpdateTemplateArg._all_fields_ = [
('template_id', UpdateTemplateArg._template_id_validator),
('name', UpdateTemplateArg._name_validator),
('description', UpdateTemplateArg._description_validator),
('add_fields', UpdateTemplateArg._add_fields_validator),
]
UpdateTemplateResult._template_id_validator = TemplateId_validator
UpdateTemplateResult._all_field_names_ = set(['template_id'])
UpdateTemplateResult._all_fields_ = [('template_id', UpdateTemplateResult._template_id_validator)]
properties_add = bb.Route(
'properties/add',
1,
False,
AddPropertiesArg_validator,
bv.Void(),
AddPropertiesError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_overwrite = bb.Route(
'properties/overwrite',
1,
False,
OverwritePropertyGroupArg_validator,
bv.Void(),
InvalidPropertyGroupError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_remove = bb.Route(
'properties/remove',
1,
False,
RemovePropertiesArg_validator,
bv.Void(),
RemovePropertiesError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_search = bb.Route(
'properties/search',
1,
False,
PropertiesSearchArg_validator,
PropertiesSearchResult_validator,
PropertiesSearchError_validator,
{'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(),
UpdatePropertiesError_validator,
{'host': u'api',
'style': u'rpc'},
)
templates_add_for_team = bb.Route(
'templates/add_for_team',
1,
False,
AddTemplateArg_validator,
AddTemplateResult_validator,
ModifyTemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
templates_add_for_user = bb.Route(
'templates/add_for_user',
1,
False,
AddTemplateArg_validator,
AddTemplateResult_validator,
ModifyTemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
templates_get_for_team = bb.Route(
'templates/get_for_team',
1,
False,
GetTemplateArg_validator,
GetTemplateResult_validator,
TemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
templates_get_for_user = bb.Route(
'templates/get_for_user',
1,
False,
GetTemplateArg_validator,
GetTemplateResult_validator,
TemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
templates_list_for_team = bb.Route(
'templates/list_for_team',
1,
False,
bv.Void(),
ListTemplateResult_validator,
TemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
templates_list_for_user = bb.Route(
'templates/list_for_user',
1,
False,
bv.Void(),
ListTemplateResult_validator,
TemplateError_validator,
{'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,
ModifyTemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
templates_update_for_user = bb.Route(
'templates/update_for_user',
1,
False,
UpdateTemplateArg_validator,
UpdateTemplateResult_validator,
ModifyTemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
ROUTES = {
'properties/add': properties_add,
'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,
'templates/get_for_team': templates_get_for_team,
'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,
}
dropbox-sdk-python-9.4.0/dropbox/file_requests.py 0000664 0000000 0000000 00000205564 13500550210 0022203 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
"""
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 (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,
files,
)
except (ImportError, SystemError, ValueError):
import common
import files
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 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__ = [
'_title_value',
'_title_present',
'_destination_value',
'_destination_present',
'_deadline_value',
'_deadline_present',
'_open_value',
'_open_present',
]
_has_required_fields = True
def __init__(self,
title=None,
destination=None,
deadline=None,
open=None):
self._title_value = None
self._title_present = False
self._destination_value = None
self._destination_present = False
self._deadline_value = None
self._deadline_present = False
self._open_value = None
self._open_present = False
if title is not None:
self.title = title
if destination is not None:
self.destination = destination
if deadline is not None:
self.deadline = deadline
if open is not None:
self.open = open
@property
def title(self):
"""
The title of the file request. Must not be empty.
:rtype: str
"""
if self._title_present:
return self._title_value
else:
raise AttributeError("missing required field 'title'")
@title.setter
def title(self, val):
val = self._title_validator.validate(val)
self._title_value = val
self._title_present = True
@title.deleter
def title(self):
self._title_value = None
self._title_present = False
@property
def destination(self):
"""
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.
:rtype: str
"""
if self._destination_present:
return self._destination_value
else:
raise AttributeError("missing required field 'destination'")
@destination.setter
def destination(self, val):
val = self._destination_validator.validate(val)
self._destination_value = val
self._destination_present = True
@destination.deleter
def destination(self):
self._destination_value = None
self._destination_present = False
@property
def deadline(self):
"""
The deadline for the file request. Deadlines can only be set by
Professional and Business accounts.
: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
@property
def open(self):
"""
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: bool
"""
if self._open_present:
return self._open_value
else:
return True
@open.setter
def open(self, val):
val = self._open_validator.validate(val)
self._open_value = val
self._open_present = True
@open.deleter
def open(self):
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,
self._destination_value,
self._deadline_value,
self._open_value,
)
CreateFileRequestArgs_validator = bv.Struct(CreateFileRequestArgs)
class FileRequestError(GeneralFileRequestsError):
"""
There is an error with the file request.
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.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
not_found = None
# Attribute is overwritten below the class definition
not_a_folder = None
# Attribute is overwritten below the class definition
app_lacks_access = None
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
email_unverified = None
# Attribute is overwritten below the class definition
validation_error = None
def is_not_found(self):
"""
Check if the union tag is ``not_found``.
:rtype: bool
"""
return self._tag == 'not_found'
def is_not_a_folder(self):
"""
Check if the union tag is ``not_a_folder``.
:rtype: bool
"""
return self._tag == 'not_a_folder'
def is_app_lacks_access(self):
"""
Check if the union tag is ``app_lacks_access``.
:rtype: bool
"""
return self._tag == 'app_lacks_access'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
return self._tag == 'no_permission'
def is_email_unverified(self):
"""
Check if the union tag is ``email_unverified``.
:rtype: bool
"""
return self._tag == 'email_unverified'
def is_validation_error(self):
"""
Check if the union tag is ``validation_error``.
:rtype: bool
"""
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)
FileRequestError_validator = bv.Union(FileRequestError)
class CreateFileRequestError(FileRequestError):
"""
There was an error creating the file request.
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.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
invalid_location = None
# Attribute is overwritten below the class definition
rate_limit = None
def is_invalid_location(self):
"""
Check if the union tag is ``invalid_location``.
:rtype: bool
"""
return self._tag == 'invalid_location'
def is_rate_limit(self):
"""
Check if the union tag is ``rate_limit``.
:rtype: bool
"""
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 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 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__ = [
'_id_value',
'_id_present',
'_url_value',
'_url_present',
'_title_value',
'_title_present',
'_destination_value',
'_destination_present',
'_created_value',
'_created_present',
'_deadline_value',
'_deadline_present',
'_is_open_value',
'_is_open_present',
'_file_count_value',
'_file_count_present',
]
_has_required_fields = True
def __init__(self,
id=None,
url=None,
title=None,
created=None,
is_open=None,
file_count=None,
destination=None,
deadline=None):
self._id_value = None
self._id_present = False
self._url_value = None
self._url_present = False
self._title_value = None
self._title_present = False
self._destination_value = None
self._destination_present = False
self._created_value = None
self._created_present = False
self._deadline_value = None
self._deadline_present = False
self._is_open_value = None
self._is_open_present = False
self._file_count_value = None
self._file_count_present = False
if id is not None:
self.id = id
if url is not None:
self.url = url
if title is not None:
self.title = title
if destination is not None:
self.destination = destination
if created is not None:
self.created = created
if deadline is not None:
self.deadline = deadline
if is_open is not None:
self.is_open = is_open
if file_count is not None:
self.file_count = file_count
@property
def id(self):
"""
The ID of the file request.
: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 url(self):
"""
The URL of the file request.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
@property
def title(self):
"""
The title of the file request.
:rtype: str
"""
if self._title_present:
return self._title_value
else:
raise AttributeError("missing required field 'title'")
@title.setter
def title(self, val):
val = self._title_validator.validate(val)
self._title_value = val
self._title_present = True
@title.deleter
def title(self):
self._title_value = None
self._title_present = False
@property
def destination(self):
"""
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.
:rtype: str
"""
if self._destination_present:
return self._destination_value
else:
return None
@destination.setter
def destination(self, val):
if val is None:
del self.destination
return
val = self._destination_validator.validate(val)
self._destination_value = val
self._destination_present = True
@destination.deleter
def destination(self):
self._destination_value = None
self._destination_present = False
@property
def created(self):
"""
When this file request was created.
:rtype: datetime.datetime
"""
if self._created_present:
return self._created_value
else:
raise AttributeError("missing required field 'created'")
@created.setter
def created(self, val):
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 deadline(self):
"""
The deadline for this file request. Only set if the request has a
deadline.
: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
@property
def is_open(self):
"""
Whether or not the file request is open. If the file request is closed,
it will not accept any more file submissions.
:rtype: bool
"""
if self._is_open_present:
return self._is_open_value
else:
raise AttributeError("missing required field 'is_open'")
@is_open.setter
def is_open(self, val):
val = self._is_open_validator.validate(val)
self._is_open_value = val
self._is_open_present = True
@is_open.deleter
def is_open(self):
self._is_open_value = None
self._is_open_present = False
@property
def file_count(self):
"""
The number of files this file request has received.
:rtype: int
"""
if self._file_count_present:
return self._file_count_value
else:
raise AttributeError("missing required field 'file_count'")
@file_count.setter
def file_count(self, val):
val = self._file_count_validator.validate(val)
self._file_count_value = val
self._file_count_present = True
@file_count.deleter
def file_count(self):
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,
self._url_value,
self._title_value,
self._created_value,
self._is_open_value,
self._file_count_value,
self._destination_value,
self._deadline_value,
)
FileRequest_validator = bv.Struct(FileRequest)
class FileRequestDeadline(bb.Struct):
"""
: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__ = [
'_deadline_value',
'_deadline_present',
'_allow_late_uploads_value',
'_allow_late_uploads_present',
]
_has_required_fields = True
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.
:rtype: datetime.datetime
"""
if self._deadline_present:
return self._deadline_value
else:
raise AttributeError("missing required field 'deadline'")
@deadline.setter
def deadline(self, val):
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. These uploads
will be marked overdue.
:rtype: GracePeriod
"""
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
self._allow_late_uploads_validator.validate_type_only(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 GetFileRequestArgs(bb.Struct):
"""
Arguments for :meth:`dropbox.dropbox.Dropbox.file_requests_get`.
:ivar file_requests.GetFileRequestArgs.id: The ID of the file request to
retrieve.
"""
__slots__ = [
'_id_value',
'_id_present',
]
_has_required_fields = True
def __init__(self,
id=None):
self._id_value = None
self._id_present = False
if id is not None:
self.id = id
@property
def id(self):
"""
The ID of the file request to retrieve.
: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
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,
)
GetFileRequestArgs_validator = bv.Struct(GetFileRequestArgs)
class GetFileRequestError(FileRequestError):
"""
There was an error retrieving the specified file request.
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(GetFileRequestError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetFileRequestError(%r, %r)' % (self._tag, self._value)
GetFileRequestError_validator = bv.Union(GetFileRequestError)
class GracePeriod(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
one_day = None
# Attribute is overwritten below the class definition
two_days = None
# Attribute is overwritten below the class definition
seven_days = None
# Attribute is overwritten below the class definition
thirty_days = None
# Attribute is overwritten below the class definition
always = None
# Attribute is overwritten below the class definition
other = None
def is_one_day(self):
"""
Check if the union tag is ``one_day``.
:rtype: bool
"""
return self._tag == 'one_day'
def is_two_days(self):
"""
Check if the union tag is ``two_days``.
:rtype: bool
"""
return self._tag == 'two_days'
def is_seven_days(self):
"""
Check if the union tag is ``seven_days``.
:rtype: bool
"""
return self._tag == 'seven_days'
def is_thirty_days(self):
"""
Check if the union tag is ``thirty_days``.
:rtype: bool
"""
return self._tag == 'thirty_days'
def is_always(self):
"""
Check if the union tag is ``always``.
:rtype: bool
"""
return self._tag == 'always'
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(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.
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(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(bb.Struct):
"""
Result for :meth:`dropbox.dropbox.Dropbox.file_requests_list`.
: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__ = [
'_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 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
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,
)
ListFileRequestsResult_validator = bv.Struct(ListFileRequestsResult)
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 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__ = [
'_id_value',
'_id_present',
'_title_value',
'_title_present',
'_destination_value',
'_destination_present',
'_deadline_value',
'_deadline_present',
'_open_value',
'_open_present',
]
_has_required_fields = True
def __init__(self,
id=None,
title=None,
destination=None,
deadline=None,
open=None):
self._id_value = None
self._id_present = False
self._title_value = None
self._title_present = False
self._destination_value = None
self._destination_present = False
self._deadline_value = None
self._deadline_present = False
self._open_value = None
self._open_present = False
if id is not None:
self.id = id
if title is not None:
self.title = title
if destination is not None:
self.destination = destination
if deadline is not None:
self.deadline = deadline
if open is not None:
self.open = open
@property
def id(self):
"""
The ID of the file request to update.
: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 title(self):
"""
The new title of the file request. Must not be empty.
:rtype: str
"""
if self._title_present:
return self._title_value
else:
return None
@title.setter
def title(self, val):
if val is None:
del self.title
return
val = self._title_validator.validate(val)
self._title_value = val
self._title_present = True
@title.deleter
def title(self):
self._title_value = None
self._title_present = False
@property
def destination(self):
"""
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.
:rtype: str
"""
if self._destination_present:
return self._destination_value
else:
return None
@destination.setter
def destination(self, val):
if val is None:
del self.destination
return
val = self._destination_validator.validate(val)
self._destination_value = val
self._destination_present = True
@destination.deleter
def destination(self):
self._destination_value = None
self._destination_present = False
@property
def deadline(self):
"""
The new deadline for the file request. Deadlines can only be set by
Professional and Business accounts.
:rtype: UpdateFileRequestDeadline
"""
if self._deadline_present:
return self._deadline_value
else:
return UpdateFileRequestDeadline.no_update
@deadline.setter
def deadline(self, val):
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
@property
def open(self):
"""
Whether to set this file request as open or closed.
:rtype: bool
"""
if self._open_present:
return self._open_value
else:
return None
@open.setter
def open(self, val):
if val is None:
del self.open
return
val = self._open_validator.validate(val)
self._open_value = val
self._open_present = True
@open.deleter
def open(self):
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,
self._title_value,
self._destination_value,
self._deadline_value,
self._open_value,
)
UpdateFileRequestArgs_validator = bv.Struct(UpdateFileRequestArgs)
class UpdateFileRequestDeadline(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_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.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
no_update = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def update(cls, val):
"""
Create an instance of this class set to the ``update`` tag with value
``val``.
:param FileRequestDeadline val:
:rtype: UpdateFileRequestDeadline
"""
return cls('update', val)
def is_no_update(self):
"""
Check if the union tag is ``no_update``.
:rtype: bool
"""
return self._tag == 'no_update'
def is_update(self):
"""
Check if the union tag is ``update``.
:rtype: bool
"""
return self._tag == 'update'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_update(self):
"""
If None, the file request's deadline is cleared.
Only call this if :meth:`is_update` is true.
:rtype: FileRequestDeadline
"""
if not self.is_update():
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)
UpdateFileRequestDeadline_validator = bv.Union(UpdateFileRequestDeadline)
class UpdateFileRequestError(FileRequestError):
"""
There is an error updating the file request.
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(UpdateFileRequestError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UpdateFileRequestError(%r, %r)' % (self._tag, self._value)
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)
CreateFileRequestArgs._open_validator = bv.Boolean()
CreateFileRequestArgs._all_field_names_ = set([
'title',
'destination',
'deadline',
'open',
])
CreateFileRequestArgs._all_fields_ = [
('title', CreateFileRequestArgs._title_validator),
('destination', CreateFileRequestArgs._destination_validator),
('deadline', CreateFileRequestArgs._deadline_validator),
('open', CreateFileRequestArgs._open_validator),
]
FileRequestError._not_found_validator = bv.Void()
FileRequestError._not_a_folder_validator = bv.Void()
FileRequestError._app_lacks_access_validator = bv.Void()
FileRequestError._no_permission_validator = bv.Void()
FileRequestError._email_unverified_validator = bv.Void()
FileRequestError._validation_error_validator = bv.Void()
FileRequestError._tagmap = {
'not_found': FileRequestError._not_found_validator,
'not_a_folder': FileRequestError._not_a_folder_validator,
'app_lacks_access': FileRequestError._app_lacks_access_validator,
'no_permission': FileRequestError._no_permission_validator,
'email_unverified': FileRequestError._email_unverified_validator,
'validation_error': FileRequestError._validation_error_validator,
}
FileRequestError._tagmap.update(GeneralFileRequestsError._tagmap)
FileRequestError.not_found = FileRequestError('not_found')
FileRequestError.not_a_folder = FileRequestError('not_a_folder')
FileRequestError.app_lacks_access = FileRequestError('app_lacks_access')
FileRequestError.no_permission = FileRequestError('no_permission')
FileRequestError.email_unverified = FileRequestError('email_unverified')
FileRequestError.validation_error = FileRequestError('validation_error')
CreateFileRequestError._invalid_location_validator = bv.Void()
CreateFileRequestError._rate_limit_validator = bv.Void()
CreateFileRequestError._tagmap = {
'invalid_location': CreateFileRequestError._invalid_location_validator,
'rate_limit': CreateFileRequestError._rate_limit_validator,
}
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)
FileRequest._destination_validator = bv.Nullable(files.Path_validator)
FileRequest._created_validator = common.DropboxTimestamp_validator
FileRequest._deadline_validator = bv.Nullable(FileRequestDeadline_validator)
FileRequest._is_open_validator = bv.Boolean()
FileRequest._file_count_validator = bv.Int64()
FileRequest._all_field_names_ = set([
'id',
'url',
'title',
'destination',
'created',
'deadline',
'is_open',
'file_count',
])
FileRequest._all_fields_ = [
('id', FileRequest._id_validator),
('url', FileRequest._url_validator),
('title', FileRequest._title_validator),
('destination', FileRequest._destination_validator),
('created', FileRequest._created_validator),
('deadline', FileRequest._deadline_validator),
('is_open', FileRequest._is_open_validator),
('file_count', FileRequest._file_count_validator),
]
FileRequestDeadline._deadline_validator = common.DropboxTimestamp_validator
FileRequestDeadline._allow_late_uploads_validator = bv.Nullable(GracePeriod_validator)
FileRequestDeadline._all_field_names_ = set([
'deadline',
'allow_late_uploads',
])
FileRequestDeadline._all_fields_ = [
('deadline', FileRequestDeadline._deadline_validator),
('allow_late_uploads', FileRequestDeadline._allow_late_uploads_validator),
]
GetFileRequestArgs._id_validator = FileRequestId_validator
GetFileRequestArgs._all_field_names_ = set(['id'])
GetFileRequestArgs._all_fields_ = [('id', GetFileRequestArgs._id_validator)]
GetFileRequestError._tagmap = {
}
GetFileRequestError._tagmap.update(FileRequestError._tagmap)
GracePeriod._one_day_validator = bv.Void()
GracePeriod._two_days_validator = bv.Void()
GracePeriod._seven_days_validator = bv.Void()
GracePeriod._thirty_days_validator = bv.Void()
GracePeriod._always_validator = bv.Void()
GracePeriod._other_validator = bv.Void()
GracePeriod._tagmap = {
'one_day': GracePeriod._one_day_validator,
'two_days': GracePeriod._two_days_validator,
'seven_days': GracePeriod._seven_days_validator,
'thirty_days': GracePeriod._thirty_days_validator,
'always': GracePeriod._always_validator,
'other': GracePeriod._other_validator,
}
GracePeriod.one_day = GracePeriod('one_day')
GracePeriod.two_days = GracePeriod('two_days')
GracePeriod.seven_days = GracePeriod('seven_days')
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)
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)
UpdateFileRequestArgs._deadline_validator = UpdateFileRequestDeadline_validator
UpdateFileRequestArgs._open_validator = bv.Nullable(bv.Boolean())
UpdateFileRequestArgs._all_field_names_ = set([
'id',
'title',
'destination',
'deadline',
'open',
])
UpdateFileRequestArgs._all_fields_ = [
('id', UpdateFileRequestArgs._id_validator),
('title', UpdateFileRequestArgs._title_validator),
('destination', UpdateFileRequestArgs._destination_validator),
('deadline', UpdateFileRequestArgs._deadline_validator),
('open', UpdateFileRequestArgs._open_validator),
]
UpdateFileRequestDeadline._no_update_validator = bv.Void()
UpdateFileRequestDeadline._update_validator = bv.Nullable(FileRequestDeadline_validator)
UpdateFileRequestDeadline._other_validator = bv.Void()
UpdateFileRequestDeadline._tagmap = {
'no_update': UpdateFileRequestDeadline._no_update_validator,
'update': UpdateFileRequestDeadline._update_validator,
'other': UpdateFileRequestDeadline._other_validator,
}
UpdateFileRequestDeadline.no_update = UpdateFileRequestDeadline('no_update')
UpdateFileRequestDeadline.other = UpdateFileRequestDeadline('other')
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,
CreateFileRequestError_validator,
{'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,
GetFileRequestError_validator,
{'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,
ListFileRequestsError_validator,
{'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,
UpdateFileRequestError_validator,
{'host': u'api',
'style': u'rpc'},
)
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,
}
dropbox-sdk-python-9.4.0/dropbox/files.py 0000664 0000000 0000000 00001564233 13500550210 0020435 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
"""
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 (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 (
async_,
common,
file_properties,
users_common,
)
except (ImportError, SystemError, ValueError):
import async_
import common
import file_properties
import users_common
class GetMetadataArg(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_include_media_info_value',
'_include_media_info_present',
'_include_deleted_value',
'_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
def __init__(self,
path=None,
include_media_info=None,
include_deleted=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
self._include_media_info_present = False
self._include_deleted_value = None
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:
self.include_media_info = include_media_info
if include_deleted is not None:
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):
"""
The path of a file or folder on Dropbox.
: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
@property
def include_media_info(self):
"""
If true, ``FileMetadata.media_info`` is set for photo and video.
:rtype: bool
"""
if self._include_media_info_present:
return self._include_media_info_value
else:
return False
@include_media_info.setter
def include_media_info(self, val):
val = self._include_media_info_validator.validate(val)
self._include_media_info_value = val
self._include_media_info_present = True
@include_media_info.deleter
def include_media_info(self):
self._include_media_info_value = None
self._include_media_info_present = False
@property
def include_deleted(self):
"""
If true, :class:`DeletedMetadata` will be returned for deleted file or
folder, otherwise ``LookupError.not_found`` will be returned.
:rtype: bool
"""
if self._include_deleted_present:
return self._include_deleted_value
else:
return False
@include_deleted.setter
def include_deleted(self, val):
val = self._include_deleted_validator.validate(val)
self._include_deleted_value = val
self._include_deleted_present = True
@include_deleted.deleter
def include_deleted(self):
self._include_deleted_value = None
self._include_deleted_present = False
@property
def include_has_explicit_shared_members(self):
"""
If true, the results will include a flag for each file indicating
whether or not that file has any explicit members.
:rtype: bool
"""
if self._include_has_explicit_shared_members_present:
return self._include_has_explicit_shared_members_value
else:
return False
@include_has_explicit_shared_members.setter
def include_has_explicit_shared_members(self, val):
val = self._include_has_explicit_shared_members_validator.validate(val)
self._include_has_explicit_shared_members_value = val
self._include_has_explicit_shared_members_present = True
@include_has_explicit_shared_members.deleter
def include_has_explicit_shared_members(self):
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}, 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 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__ = [
'_include_property_templates_value',
'_include_property_templates_present',
]
_has_required_fields = True
def __init__(self,
path=None,
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_property_groups)
self._include_property_templates_value = None
self._include_property_templates_present = False
if include_property_templates is not None:
self.include_property_templates = include_property_templates
@property
def include_property_templates(self):
"""
If set to a valid list of template IDs, ``FileMetadata.property_groups``
is set for files with custom properties.
:rtype: list of [str]
"""
if self._include_property_templates_present:
return self._include_property_templates_value
else:
return None
@include_property_templates.setter
def include_property_templates(self, val):
if val is None:
del self.include_property_templates
return
val = self._include_property_templates_validator.validate(val)
self._include_property_templates_value = val
self._include_property_templates_present = True
@include_property_templates.deleter
def include_property_templates(self):
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_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,
)
AlphaGetMetadataArg_validator = bv.Struct(AlphaGetMetadataArg)
class GetMetadataError(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 path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param LookupError val:
:rtype: GetMetadataError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
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(GetMetadataError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetMetadataError(%r, %r)' % (self._tag, self._value)
GetMetadataError_validator = bv.Union(GetMetadataError)
class AlphaGetMetadataError(GetMetadataError):
"""
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 properties_error(cls, val):
"""
Create an instance of this class set to the ``properties_error`` tag
with value ``val``.
:param file_properties.LookUpPropertiesError val:
:rtype: AlphaGetMetadataError
"""
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.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(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_mode_value',
'_mode_present',
'_autorename_value',
'_autorename_present',
'_client_modified_value',
'_client_modified_present',
'_mute_value',
'_mute_present',
'_property_groups_value',
'_property_groups_present',
'_strict_conflict_value',
'_strict_conflict_present',
]
_has_required_fields = True
def __init__(self,
path=None,
mode=None,
autorename=None,
client_modified=None,
mute=None,
property_groups=None,
strict_conflict=None):
self._path_value = None
self._path_present = False
self._mode_value = None
self._mode_present = False
self._autorename_value = None
self._autorename_present = False
self._client_modified_value = None
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:
self.mode = mode
if autorename is not None:
self.autorename = autorename
if client_modified is not None:
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):
"""
Path in the user's Dropbox to save the file.
: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
@property
def mode(self):
"""
Selects what to do if the file already exists.
:rtype: WriteMode
"""
if self._mode_present:
return self._mode_value
else:
return WriteMode.add
@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
@property
def autorename(self):
"""
If there's a conflict, as determined by ``mode``, have the Dropbox
server try to autorename the file to avoid 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 client_modified(self):
"""
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.
:rtype: datetime.datetime
"""
if self._client_modified_present:
return self._client_modified_value
else:
return None
@client_modified.setter
def client_modified(self, val):
if val is None:
del self.client_modified
return
val = self._client_modified_validator.validate(val)
self._client_modified_value = val
self._client_modified_present = True
@client_modified.deleter
def client_modified(self):
self._client_modified_value = None
self._client_modified_present = False
@property
def mute(self):
"""
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.
:rtype: bool
"""
if self._mute_present:
return self._mute_value
else:
return False
@mute.setter
def mute(self, val):
val = self._mute_validator.validate(val)
self._mute_value = val
self._mute_present = True
@mute.deleter
def mute(self):
self._mute_value = None
self._mute_present = False
@property
def property_groups(self):
"""
List of custom properties to add to file.
:rtype: list of [file_properties.PropertyGroup]
"""
if self._property_groups_present:
return self._property_groups_value
else:
return None
@property_groups.setter
def property_groups(self, val):
if val is None:
del self.property_groups
return
val = self._property_groups_validator.validate(val)
self._property_groups_value = val
self._property_groups_present = True
@property_groups.deleter
def property_groups(self):
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 '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 ContentSyncSetting(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_autorename_value',
'_autorename_present',
]
_has_required_fields = True
def __init__(self,
path=None,
autorename=None):
self._path_value = None
self._path_present = False
self._autorename_value = None
self._autorename_present = False
if path is not None:
self.path = path
if autorename is not None:
self.autorename = autorename
@property
def path(self):
"""
Path in the user's Dropbox to create.
: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
@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
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,
self._autorename_value,
)
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
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = None
@classmethod
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param WriteError val:
:rtype: CreateFolderError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
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(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 CreateFolderResult(FileOpsResult):
"""
:ivar files.CreateFolderResult.metadata: Metadata of the created folder.
"""
__slots__ = [
'_metadata_value',
'_metadata_present',
]
_has_required_fields = True
def __init__(self,
metadata=None):
super(CreateFolderResult, self).__init__()
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(CreateFolderResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'CreateFolderResult(metadata={!r})'.format(
self._metadata_value,
)
CreateFolderResult_validator = bv.Struct(CreateFolderResult)
class DeleteArg(bb.Struct):
"""
: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,
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):
"""
Path in the user's Dropbox to delete.
: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
@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}, parent_rev={!r})'.format(
self._path_value,
self._parent_rev_value,
)
DeleteArg_validator = bv.Struct(DeleteArg)
class DeleteBatchArg(bb.Struct):
__slots__ = [
'_entries_value',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
entries=None):
self._entries_value = None
self._entries_present = False
if entries is not None:
self.entries = entries
@property
def entries(self):
"""
:rtype: list of [DeleteArg]
"""
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(DeleteBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DeleteBatchArg(entries={!r})'.format(
self._entries_value,
)
DeleteBatchArg_validator = bv.Struct(DeleteBatchArg)
class DeleteBatchError(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.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.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
too_many_write_operations = None
# Attribute is overwritten below the class definition
other = None
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 _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):
"""
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 DeleteBatchJobStatus.complete: The batch delete has
finished.
:ivar DeleteBatchError DeleteBatchJobStatus.failed: The batch delete 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 DeleteBatchResult val:
:rtype: DeleteBatchJobStatus
"""
return cls('complete', val)
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param DeleteBatchError val:
:rtype: DeleteBatchJobStatus
"""
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 delete has finished.
Only call this if :meth:`is_complete` is true.
:rtype: DeleteBatchResult
"""
if not self.is_complete():
raise AttributeError("tag 'complete' not set")
return self._value
def get_failed(self):
"""
The batch delete has failed.
Only call this if :meth:`is_failed` is true.
:rtype: DeleteBatchError
"""
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(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):
"""
Result returned by :meth:`dropbox.dropbox.Dropbox.files_delete_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 DeleteBatchResult val:
:rtype: DeleteBatchLaunch
"""
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: DeleteBatchResult
"""
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(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',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
entries=None):
super(DeleteBatchResult, 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 ``DeleteBatchArg.entries`` will appear at the same
position inside ``DeleteBatchResult.entries``.
:rtype: list of [DeleteBatchResultEntry]
"""
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(DeleteBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DeleteBatchResult(entries={!r})'.format(
self._entries_value,
)
DeleteBatchResult_validator = bv.Struct(DeleteBatchResult)
class DeleteBatchResultData(bb.Struct):
"""
:ivar files.DeleteBatchResultData.metadata: Metadata of the deleted object.
"""
__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 deleted object.
:rtype: Metadata
"""
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(DeleteBatchResultData, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DeleteBatchResultData(metadata={!r})'.format(
self._metadata_value,
)
DeleteBatchResultData_validator = bv.Struct(DeleteBatchResultData)
class DeleteBatchResultEntry(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 DeleteBatchResultData val:
:rtype: DeleteBatchResultEntry
"""
return cls('success', val)
@classmethod
def failure(cls, val):
"""
Create an instance of this class set to the ``failure`` tag with value
``val``.
:param DeleteError val:
:rtype: DeleteBatchResultEntry
"""
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: DeleteBatchResultData
"""
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: DeleteError
"""
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(DeleteBatchResultEntry, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DeleteBatchResultEntry(%r, %r)' % (self._tag, self._value)
DeleteBatchResultEntry_validator = bv.Union(DeleteBatchResultEntry)
class DeleteError(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.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'
# Attribute is overwritten below the class definition
too_many_write_operations = None
# Attribute is overwritten below the class definition
too_many_files = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def path_lookup(cls, val):
"""
Create an instance of this class set to the ``path_lookup`` tag with
value ``val``.
:param LookupError val:
:rtype: DeleteError
"""
return cls('path_lookup', val)
@classmethod
def path_write(cls, val):
"""
Create an instance of this class set to the ``path_write`` tag with
value ``val``.
:param WriteError val:
:rtype: DeleteError
"""
return cls('path_write', val)
def is_path_lookup(self):
"""
Check if the union tag is ``path_lookup``.
:rtype: bool
"""
return self._tag == 'path_lookup'
def is_path_write(self):
"""
Check if the union tag is ``path_write``.
:rtype: bool
"""
return self._tag == 'path_write'
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_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_lookup(self):
"""
Only call this if :meth:`is_path_lookup` is true.
:rtype: LookupError
"""
if not self.is_path_lookup():
raise AttributeError("tag 'path_lookup' not set")
return self._value
def get_path_write(self):
"""
Only call this if :meth:`is_path_write` is true.
:rtype: WriteError
"""
if not self.is_path_write():
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)
DeleteError_validator = bv.Union(DeleteError)
class DeleteResult(FileOpsResult):
"""
:ivar files.DeleteResult.metadata: Metadata of the deleted object.
"""
__slots__ = [
'_metadata_value',
'_metadata_present',
]
_has_required_fields = True
def __init__(self,
metadata=None):
super(DeleteResult, self).__init__()
self._metadata_value = None
self._metadata_present = False
if metadata is not None:
self.metadata = metadata
@property
def metadata(self):
"""
Metadata of the deleted object.
:rtype: Metadata
"""
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(DeleteResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DeleteResult(metadata={!r})'.format(
self._metadata_value,
)
DeleteResult_validator = bv.Struct(DeleteResult)
class Metadata(bb.Struct):
"""
Metadata for a file or folder.
: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 files.Metadata.parent_shared_folder_id: Please use
``FileSharingInfo.parent_shared_folder_id`` or
``FolderSharingInfo.parent_shared_folder_id`` instead.
"""
__slots__ = [
'_name_value',
'_name_present',
'_path_lower_value',
'_path_lower_present',
'_path_display_value',
'_path_display_present',
'_parent_shared_folder_id_value',
'_parent_shared_folder_id_present',
]
_has_required_fields = True
def __init__(self,
name=None,
path_lower=None,
path_display=None,
parent_shared_folder_id=None):
self._name_value = None
self._name_present = False
self._path_lower_value = None
self._path_lower_present = False
self._path_display_value = None
self._path_display_present = False
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
if name is not None:
self.name = name
if path_lower is not None:
self.path_lower = path_lower
if path_display is not None:
self.path_display = path_display
if parent_shared_folder_id is not None:
self.parent_shared_folder_id = parent_shared_folder_id
@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 path_lower(self):
"""
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.
:rtype: str
"""
if self._path_lower_present:
return self._path_lower_value
else:
return None
@path_lower.setter
def path_lower(self, val):
if val is None:
del self.path_lower
return
val = self._path_lower_validator.validate(val)
self._path_lower_value = val
self._path_lower_present = True
@path_lower.deleter
def path_lower(self):
self._path_lower_value = None
self._path_lower_present = False
@property
def path_display(self):
"""
The cased path to be used for display purposes only. In rare instances
the casing will not correctly match the user's filesystem, but this
behavior will match the path provided in the Core API v1, 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.
:rtype: str
"""
if self._path_display_present:
return self._path_display_value
else:
return None
@path_display.setter
def path_display(self, val):
if val is None:
del self.path_display
return
val = self._path_display_validator.validate(val)
self._path_display_value = val
self._path_display_present = True
@path_display.deleter
def path_display(self):
self._path_display_value = None
self._path_display_present = False
@property
def parent_shared_folder_id(self):
"""
Please use ``FileSharingInfo.parent_shared_folder_id`` or
``FolderSharingInfo.parent_shared_folder_id`` instead.
:rtype: str
"""
if self._parent_shared_folder_id_present:
return self._parent_shared_folder_id_value
else:
return None
@parent_shared_folder_id.setter
def parent_shared_folder_id(self, val):
if val is None:
del self.parent_shared_folder_id
return
val = self._parent_shared_folder_id_validator.validate(val)
self._parent_shared_folder_id_value = val
self._parent_shared_folder_id_present = True
@parent_shared_folder_id.deleter
def parent_shared_folder_id(self):
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,
self._path_lower_value,
self._path_display_value,
self._parent_shared_folder_id_value,
)
Metadata_validator = bv.StructTree(Metadata)
class DeletedMetadata(Metadata):
"""
Indicates that there used to be a file or folder at this path, but it no
longer exists.
"""
__slots__ = [
]
_has_required_fields = True
def __init__(self,
name=None,
path_lower=None,
path_display=None,
parent_shared_folder_id=None):
super(DeletedMetadata, self).__init__(name,
path_lower,
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,
self._path_lower_value,
self._path_display_value,
self._parent_shared_folder_id_value,
)
DeletedMetadata_validator = bv.Struct(DeletedMetadata)
class Dimensions(bb.Struct):
"""
Dimensions for a photo or video.
:ivar files.Dimensions.height: Height of the photo/video.
:ivar files.Dimensions.width: Width of the photo/video.
"""
__slots__ = [
'_height_value',
'_height_present',
'_width_value',
'_width_present',
]
_has_required_fields = True
def __init__(self,
height=None,
width=None):
self._height_value = None
self._height_present = False
self._width_value = None
self._width_present = False
if height is not None:
self.height = height
if width is not None:
self.width = width
@property
def height(self):
"""
Height of the photo/video.
:rtype: int
"""
if self._height_present:
return self._height_value
else:
raise AttributeError("missing required field 'height'")
@height.setter
def height(self, val):
val = self._height_validator.validate(val)
self._height_value = val
self._height_present = True
@height.deleter
def height(self):
self._height_value = None
self._height_present = False
@property
def width(self):
"""
Width of the photo/video.
:rtype: int
"""
if self._width_present:
return self._width_value
else:
raise AttributeError("missing required field 'width'")
@width.setter
def width(self, val):
val = self._width_validator.validate(val)
self._width_value = val
self._width_present = True
@width.deleter
def width(self):
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,
self._width_value,
)
Dimensions_validator = bv.Struct(Dimensions)
class DownloadArg(bb.Struct):
"""
:ivar files.DownloadArg.path: The path of the file to download.
:ivar files.DownloadArg.rev: Please specify revision in ``path`` instead.
"""
__slots__ = [
'_path_value',
'_path_present',
'_rev_value',
'_rev_present',
]
_has_required_fields = True
def __init__(self,
path=None,
rev=None):
self._path_value = None
self._path_present = False
self._rev_value = None
self._rev_present = False
if path is not None:
self.path = path
if rev is not None:
self.rev = rev
@property
def path(self):
"""
The path of the file 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
@property
def rev(self):
"""
Please specify revision in ``path`` instead.
:rtype: str
"""
if self._rev_present:
return self._rev_value
else:
return None
@rev.setter
def rev(self, val):
if val is None:
del self.rev
return
val = self._rev_validator.validate(val)
self._rev_value = val
self._rev_present = True
@rev.deleter
def rev(self):
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,
self._rev_value,
)
DownloadArg_validator = bv.Struct(DownloadArg)
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
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param LookupError val:
:rtype: DownloadError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
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``.
: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(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 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 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__ = [
'_id_value',
'_id_present',
'_client_modified_value',
'_client_modified_present',
'_server_modified_value',
'_server_modified_present',
'_rev_value',
'_rev_present',
'_size_value',
'_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',
'_has_explicit_shared_members_present',
'_content_hash_value',
'_content_hash_present',
]
_has_required_fields = True
def __init__(self,
name=None,
id=None,
client_modified=None,
server_modified=None,
rev=None,
size=None,
path_lower=None,
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):
super(FileMetadata, self).__init__(name,
path_lower,
path_display,
parent_shared_folder_id)
self._id_value = None
self._id_present = False
self._client_modified_value = None
self._client_modified_present = False
self._server_modified_value = None
self._server_modified_present = False
self._rev_value = None
self._rev_present = False
self._size_value = None
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
self._has_explicit_shared_members_present = False
self._content_hash_value = None
self._content_hash_present = False
if id is not None:
self.id = id
if client_modified is not None:
self.client_modified = client_modified
if server_modified is not None:
self.server_modified = server_modified
if rev is not None:
self.rev = rev
if size is not None:
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:
self.has_explicit_shared_members = has_explicit_shared_members
if content_hash is not None:
self.content_hash = content_hash
@property
def id(self):
"""
A unique identifier for the file.
:rtype: str
"""
if self._id_present:
return self._id_value
else:
raise AttributeError("missing required field 'id'")
@id.setter
def id(self, val):
val = self._id_validator.validate(val)
self._id_value = val
self._id_present = True
@id.deleter
def id(self):
self._id_value = None
self._id_present = False
@property
def client_modified(self):
"""
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.
:rtype: datetime.datetime
"""
if self._client_modified_present:
return self._client_modified_value
else:
raise AttributeError("missing required field 'client_modified'")
@client_modified.setter
def client_modified(self, val):
val = self._client_modified_validator.validate(val)
self._client_modified_value = val
self._client_modified_present = True
@client_modified.deleter
def client_modified(self):
self._client_modified_value = None
self._client_modified_present = False
@property
def server_modified(self):
"""
The last time the file was modified on Dropbox.
:rtype: datetime.datetime
"""
if self._server_modified_present:
return self._server_modified_value
else:
raise AttributeError("missing required field 'server_modified'")
@server_modified.setter
def server_modified(self, val):
val = self._server_modified_validator.validate(val)
self._server_modified_value = val
self._server_modified_present = True
@server_modified.deleter
def server_modified(self):
self._server_modified_value = None
self._server_modified_present = False
@property
def rev(self):
"""
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.
:rtype: str
"""
if self._rev_present:
return self._rev_value
else:
raise AttributeError("missing required field 'rev'")
@rev.setter
def rev(self, val):
val = self._rev_validator.validate(val)
self._rev_value = val
self._rev_present = True
@rev.deleter
def rev(self):
self._rev_value = None
self._rev_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 media_info(self):
"""
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
"""
if self._media_info_present:
return self._media_info_value
else:
return None
@media_info.setter
def media_info(self, val):
if val is None:
del self.media_info
return
self._media_info_validator.validate_type_only(val)
self._media_info_value = val
self._media_info_present = True
@media_info.deleter
def media_info(self):
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):
"""
Set if this file is contained in a shared folder.
:rtype: FileSharingInfo
"""
if self._sharing_info_present:
return self._sharing_info_value
else:
return None
@sharing_info.setter
def sharing_info(self, val):
if val is None:
del self.sharing_info
return
self._sharing_info_validator.validate_type_only(val)
self._sharing_info_value = val
self._sharing_info_present = True
@sharing_info.deleter
def sharing_info(self):
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]
"""
if self._property_groups_present:
return self._property_groups_value
else:
return None
@property_groups.setter
def property_groups(self, val):
if val is None:
del self.property_groups
return
val = self._property_groups_validator.validate(val)
self._property_groups_value = val
self._property_groups_present = True
@property_groups.deleter
def property_groups(self):
self._property_groups_value = None
self._property_groups_present = False
@property
def has_explicit_shared_members(self):
"""
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.
:rtype: bool
"""
if self._has_explicit_shared_members_present:
return self._has_explicit_shared_members_value
else:
return None
@has_explicit_shared_members.setter
def has_explicit_shared_members(self, val):
if val is None:
del self.has_explicit_shared_members
return
val = self._has_explicit_shared_members_validator.validate(val)
self._has_explicit_shared_members_value = val
self._has_explicit_shared_members_present = True
@has_explicit_shared_members.deleter
def has_explicit_shared_members(self):
self._has_explicit_shared_members_value = None
self._has_explicit_shared_members_present = False
@property
def content_hash(self):
"""
A hash of the file content. This field can be used to verify data
integrity. For more information see our `Content hash
`_ page.
:rtype: str
"""
if self._content_hash_present:
return self._content_hash_value
else:
return None
@content_hash.setter
def content_hash(self, val):
if val is None:
del self.content_hash
return
val = self._content_hash_validator.validate(val)
self._content_hash_value = val
self._content_hash_present = True
@content_hash.deleter
def content_hash(self):
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}, 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,
self._server_modified_value,
self._rev_value,
self._size_value,
self._path_lower_value,
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,
)
FileMetadata_validator = bv.Struct(FileMetadata)
class SharingInfo(bb.Struct):
"""
Sharing info for a file or folder.
:ivar files.SharingInfo.read_only: True if the file or folder is inside a
read-only shared folder.
"""
__slots__ = [
'_read_only_value',
'_read_only_present',
]
_has_required_fields = True
def __init__(self,
read_only=None):
self._read_only_value = None
self._read_only_present = False
if read_only is not None:
self.read_only = read_only
@property
def read_only(self):
"""
True if the file or folder is inside a read-only shared folder.
:rtype: bool
"""
if self._read_only_present:
return self._read_only_value
else:
raise AttributeError("missing required field 'read_only'")
@read_only.setter
def read_only(self, val):
val = self._read_only_validator.validate(val)
self._read_only_value = val
self._read_only_present = True
@read_only.deleter
def read_only(self):
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,
)
SharingInfo_validator = bv.Struct(SharingInfo)
class FileSharingInfo(SharingInfo):
"""
Sharing info for a file which is contained by a shared folder.
: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__ = [
'_parent_shared_folder_id_value',
'_parent_shared_folder_id_present',
'_modified_by_value',
'_modified_by_present',
]
_has_required_fields = True
def __init__(self,
read_only=None,
parent_shared_folder_id=None,
modified_by=None):
super(FileSharingInfo, self).__init__(read_only)
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
self._modified_by_value = None
self._modified_by_present = False
if parent_shared_folder_id is not None:
self.parent_shared_folder_id = parent_shared_folder_id
if modified_by is not None:
self.modified_by = modified_by
@property
def parent_shared_folder_id(self):
"""
ID of shared folder that holds this file.
:rtype: str
"""
if self._parent_shared_folder_id_present:
return self._parent_shared_folder_id_value
else:
raise AttributeError("missing required field 'parent_shared_folder_id'")
@parent_shared_folder_id.setter
def parent_shared_folder_id(self, val):
val = self._parent_shared_folder_id_validator.validate(val)
self._parent_shared_folder_id_value = val
self._parent_shared_folder_id_present = True
@parent_shared_folder_id.deleter
def parent_shared_folder_id(self):
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
@property
def modified_by(self):
"""
The last user who modified the file. This field will be null if the
user's account has been deleted.
:rtype: str
"""
if self._modified_by_present:
return self._modified_by_value
else:
return None
@modified_by.setter
def modified_by(self, val):
if val is None:
del self.modified_by
return
val = self._modified_by_validator.validate(val)
self._modified_by_value = val
self._modified_by_present = True
@modified_by.deleter
def modified_by(self):
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,
self._parent_shared_folder_id_value,
self._modified_by_value,
)
FileSharingInfo_validator = bv.Struct(FileSharingInfo)
class FolderMetadata(Metadata):
"""
: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__ = [
'_id_value',
'_id_present',
'_shared_folder_id_value',
'_shared_folder_id_present',
'_sharing_info_value',
'_sharing_info_present',
'_property_groups_value',
'_property_groups_present',
]
_has_required_fields = True
def __init__(self,
name=None,
id=None,
path_lower=None,
path_display=None,
parent_shared_folder_id=None,
shared_folder_id=None,
sharing_info=None,
property_groups=None):
super(FolderMetadata, self).__init__(name,
path_lower,
path_display,
parent_shared_folder_id)
self._id_value = None
self._id_present = False
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._sharing_info_value = None
self._sharing_info_present = False
self._property_groups_value = None
self._property_groups_present = False
if id is not None:
self.id = id
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if sharing_info is not None:
self.sharing_info = sharing_info
if property_groups is not None:
self.property_groups = property_groups
@property
def id(self):
"""
A unique identifier for the folder.
: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 shared_folder_id(self):
"""
Please use ``sharing_info`` instead.
:rtype: str
"""
if self._shared_folder_id_present:
return self._shared_folder_id_value
else:
return None
@shared_folder_id.setter
def shared_folder_id(self, val):
if val is None:
del self.shared_folder_id
return
val = self._shared_folder_id_validator.validate(val)
self._shared_folder_id_value = val
self._shared_folder_id_present = True
@shared_folder_id.deleter
def shared_folder_id(self):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
@property
def sharing_info(self):
"""
Set if the folder is contained in a shared folder or is a shared folder
mount point.
:rtype: FolderSharingInfo
"""
if self._sharing_info_present:
return self._sharing_info_value
else:
return None
@sharing_info.setter
def sharing_info(self, val):
if val is None:
del self.sharing_info
return
self._sharing_info_validator.validate_type_only(val)
self._sharing_info_value = val
self._sharing_info_present = True
@sharing_info.deleter
def sharing_info(self):
self._sharing_info_value = None
self._sharing_info_present = False
@property
def property_groups(self):
"""
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.
:rtype: list of [file_properties.PropertyGroup]
"""
if self._property_groups_present:
return self._property_groups_value
else:
return None
@property_groups.setter
def property_groups(self, val):
if val is None:
del self.property_groups
return
val = self._property_groups_validator.validate(val)
self._property_groups_value = val
self._property_groups_present = True
@property_groups.deleter
def property_groups(self):
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,
self._id_value,
self._path_lower_value,
self._path_display_value,
self._parent_shared_folder_id_value,
self._shared_folder_id_value,
self._sharing_info_value,
self._property_groups_value,
)
FolderMetadata_validator = bv.Struct(FolderMetadata)
class FolderSharingInfo(SharingInfo):
"""
Sharing info for a folder which is contained in a shared folder or is a
shared folder mount point.
: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__ = [
'_parent_shared_folder_id_value',
'_parent_shared_folder_id_present',
'_shared_folder_id_value',
'_shared_folder_id_present',
'_traverse_only_value',
'_traverse_only_present',
'_no_access_value',
'_no_access_present',
]
_has_required_fields = True
def __init__(self,
read_only=None,
parent_shared_folder_id=None,
shared_folder_id=None,
traverse_only=None,
no_access=None):
super(FolderSharingInfo, self).__init__(read_only)
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._traverse_only_value = None
self._traverse_only_present = False
self._no_access_value = None
self._no_access_present = False
if parent_shared_folder_id is not None:
self.parent_shared_folder_id = parent_shared_folder_id
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if traverse_only is not None:
self.traverse_only = traverse_only
if no_access is not None:
self.no_access = no_access
@property
def parent_shared_folder_id(self):
"""
Set if the folder is contained by a shared folder.
:rtype: str
"""
if self._parent_shared_folder_id_present:
return self._parent_shared_folder_id_value
else:
return None
@parent_shared_folder_id.setter
def parent_shared_folder_id(self, val):
if val is None:
del self.parent_shared_folder_id
return
val = self._parent_shared_folder_id_validator.validate(val)
self._parent_shared_folder_id_value = val
self._parent_shared_folder_id_present = True
@parent_shared_folder_id.deleter
def parent_shared_folder_id(self):
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
@property
def shared_folder_id(self):
"""
If this folder is a shared folder mount point, the ID of the shared
folder mounted at this location.
:rtype: str
"""
if self._shared_folder_id_present:
return self._shared_folder_id_value
else:
return None
@shared_folder_id.setter
def shared_folder_id(self, val):
if val is None:
del self.shared_folder_id
return
val = self._shared_folder_id_validator.validate(val)
self._shared_folder_id_value = val
self._shared_folder_id_present = True
@shared_folder_id.deleter
def shared_folder_id(self):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
@property
def traverse_only(self):
"""
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.
:rtype: bool
"""
if self._traverse_only_present:
return self._traverse_only_value
else:
return False
@traverse_only.setter
def traverse_only(self, val):
val = self._traverse_only_validator.validate(val)
self._traverse_only_value = val
self._traverse_only_present = True
@traverse_only.deleter
def traverse_only(self):
self._traverse_only_value = None
self._traverse_only_present = False
@property
def no_access(self):
"""
Specifies that the folder cannot be accessed by the user.
:rtype: bool
"""
if self._no_access_present:
return self._no_access_value
else:
return False
@no_access.setter
def no_access(self, val):
val = self._no_access_validator.validate(val)
self._no_access_value = val
self._no_access_present = True
@no_access.deleter
def no_access(self):
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,
self._parent_shared_folder_id_value,
self._shared_folder_id_value,
self._traverse_only_value,
self._no_access_value,
)
FolderSharingInfo_validator = bv.Struct(FolderSharingInfo)
class GetCopyReferenceArg(bb.Struct):
"""
:ivar files.GetCopyReferenceArg.path: The path to the file or folder you
want to get a copy reference to.
"""
__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 to the file or folder you want to get a copy reference to.
: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(GetCopyReferenceArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetCopyReferenceArg(path={!r})'.format(
self._path_value,
)
GetCopyReferenceArg_validator = bv.Struct(GetCopyReferenceArg)
class GetCopyReferenceError(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 LookupError val:
:rtype: GetCopyReferenceError
"""
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: 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(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(bb.Struct):
"""
: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__ = [
'_metadata_value',
'_metadata_present',
'_copy_reference_value',
'_copy_reference_present',
'_expires_value',
'_expires_present',
]
_has_required_fields = True
def __init__(self,
metadata=None,
copy_reference=None,
expires=None):
self._metadata_value = None
self._metadata_present = False
self._copy_reference_value = None
self._copy_reference_present = False
self._expires_value = None
self._expires_present = False
if metadata is not None:
self.metadata = metadata
if copy_reference is not None:
self.copy_reference = copy_reference
if expires is not None:
self.expires = expires
@property
def metadata(self):
"""
Metadata of the file or folder.
:rtype: Metadata
"""
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
@property
def copy_reference(self):
"""
A copy reference to the file or folder.
:rtype: str
"""
if self._copy_reference_present:
return self._copy_reference_value
else:
raise AttributeError("missing required field 'copy_reference'")
@copy_reference.setter
def copy_reference(self, val):
val = self._copy_reference_validator.validate(val)
self._copy_reference_value = val
self._copy_reference_present = True
@copy_reference.deleter
def copy_reference(self):
self._copy_reference_value = None
self._copy_reference_present = False
@property
def expires(self):
"""
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.
:rtype: datetime.datetime
"""
if self._expires_present:
return self._expires_value
else:
raise AttributeError("missing required field 'expires'")
@expires.setter
def expires(self, val):
val = self._expires_validator.validate(val)
self._expires_value = val
self._expires_present = True
@expires.deleter
def expires(self):
self._expires_value = None
self._expires_present = False
def _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,
self._copy_reference_value,
self._expires_value,
)
GetCopyReferenceResult_validator = bv.Struct(GetCopyReferenceResult)
class GetTemporaryLinkArg(bb.Struct):
"""
:ivar files.GetTemporaryLinkArg.path: The path to the file you want a
temporary link to.
"""
__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 to the file you want a temporary link to.
: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(GetTemporaryLinkArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetTemporaryLinkArg(path={!r})'.format(
self._path_value,
)
GetTemporaryLinkArg_validator = bv.Struct(GetTemporaryLinkArg)
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
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param LookupError val:
:rtype: GetTemporaryLinkError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
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``.
: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(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(bb.Struct):
"""
: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__ = [
'_metadata_value',
'_metadata_present',
'_link_value',
'_link_present',
]
_has_required_fields = True
def __init__(self,
metadata=None,
link=None):
self._metadata_value = None
self._metadata_present = False
self._link_value = None
self._link_present = False
if metadata is not None:
self.metadata = metadata
if link is not None:
self.link = link
@property
def metadata(self):
"""
Metadata of the file.
:rtype: FileMetadata
"""
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
@property
def link(self):
"""
The temporary link which can be used to stream content the file.
: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(GetTemporaryLinkResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetTemporaryLinkResult(metadata={!r}, link={!r})'.format(
self._metadata_value,
self._link_value,
)
GetTemporaryLinkResult_validator = bv.Struct(GetTemporaryLinkResult)
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 files.GetThumbnailBatchArg.entries: List of files to get thumbnails.
"""
__slots__ = [
'_entries_value',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
entries=None):
self._entries_value = None
self._entries_present = False
if entries is not None:
self.entries = entries
@property
def entries(self):
"""
List of files to get thumbnails.
:rtype: list of [ThumbnailArg]
"""
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(GetThumbnailBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetThumbnailBatchArg(entries={!r})'.format(
self._entries_value,
)
GetThumbnailBatchArg_validator = bv.Struct(GetThumbnailBatchArg)
class GetThumbnailBatchError(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.GetThumbnailBatchError.too_many_files: The operation involves
more than 25 files.
"""
_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(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(bb.Struct):
"""
:ivar files.GetThumbnailBatchResult.entries: List of files and their
thumbnails.
"""
__slots__ = [
'_entries_value',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
entries=None):
self._entries_value = None
self._entries_present = False
if entries is not None:
self.entries = entries
@property
def entries(self):
"""
List of files and their thumbnails.
:rtype: list of [GetThumbnailBatchResultEntry]
"""
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(GetThumbnailBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetThumbnailBatchResult(entries={!r})'.format(
self._entries_value,
)
GetThumbnailBatchResult_validator = bv.Struct(GetThumbnailBatchResult)
class GetThumbnailBatchResultData(bb.Struct):
"""
:ivar files.GetThumbnailBatchResultData.thumbnail: A string containing the
base64-encoded thumbnail data for this file.
"""
__slots__ = [
'_metadata_value',
'_metadata_present',
'_thumbnail_value',
'_thumbnail_present',
]
_has_required_fields = True
def __init__(self,
metadata=None,
thumbnail=None):
self._metadata_value = None
self._metadata_present = False
self._thumbnail_value = None
self._thumbnail_present = False
if metadata is not None:
self.metadata = metadata
if thumbnail is not None:
self.thumbnail = thumbnail
@property
def metadata(self):
"""
:rtype: FileMetadata
"""
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
@property
def thumbnail(self):
"""
A string containing the base64-encoded thumbnail data for this file.
:rtype: str
"""
if self._thumbnail_present:
return self._thumbnail_value
else:
raise AttributeError("missing required field 'thumbnail'")
@thumbnail.setter
def thumbnail(self, val):
val = self._thumbnail_validator.validate(val)
self._thumbnail_value = val
self._thumbnail_present = True
@thumbnail.deleter
def thumbnail(self):
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,
self._thumbnail_value,
)
GetThumbnailBatchResultData_validator = bv.Struct(GetThumbnailBatchResultData)
class GetThumbnailBatchResultEntry(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 ThumbnailError GetThumbnailBatchResultEntry.failure: The result for
this file if it was an error.
"""
_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 GetThumbnailBatchResultData val:
:rtype: GetThumbnailBatchResultEntry
"""
return cls('success', val)
@classmethod
def failure(cls, val):
"""
Create an instance of this class set to the ``failure`` tag with value
``val``.
:param ThumbnailError val:
:rtype: GetThumbnailBatchResultEntry
"""
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: GetThumbnailBatchResultData
"""
if not self.is_success():
raise AttributeError("tag 'success' not set")
return self._value
def get_failure(self):
"""
The result for this file if it was an error.
Only call this if :meth:`is_failure` is true.
:rtype: ThumbnailError
"""
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(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(bb.Struct):
"""
GPS coordinates for a photo or video.
:ivar files.GpsCoordinates.latitude: Latitude of the GPS coordinates.
:ivar files.GpsCoordinates.longitude: Longitude of the GPS coordinates.
"""
__slots__ = [
'_latitude_value',
'_latitude_present',
'_longitude_value',
'_longitude_present',
]
_has_required_fields = True
def __init__(self,
latitude=None,
longitude=None):
self._latitude_value = None
self._latitude_present = False
self._longitude_value = None
self._longitude_present = False
if latitude is not None:
self.latitude = latitude
if longitude is not None:
self.longitude = longitude
@property
def latitude(self):
"""
Latitude of the GPS coordinates.
:rtype: float
"""
if self._latitude_present:
return self._latitude_value
else:
raise AttributeError("missing required field 'latitude'")
@latitude.setter
def latitude(self, val):
val = self._latitude_validator.validate(val)
self._latitude_value = val
self._latitude_present = True
@latitude.deleter
def latitude(self):
self._latitude_value = None
self._latitude_present = False
@property
def longitude(self):
"""
Longitude of the GPS coordinates.
:rtype: float
"""
if self._longitude_present:
return self._longitude_value
else:
raise AttributeError("missing required field 'longitude'")
@longitude.setter
def longitude(self, val):
val = self._longitude_validator.validate(val)
self._longitude_value = val
self._longitude_present = True
@longitude.deleter
def longitude(self):
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,
self._longitude_value,
)
GpsCoordinates_validator = bv.Struct(GpsCoordinates)
class ListFolderArg(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_recursive_value',
'_recursive_present',
'_include_media_info_value',
'_include_media_info_present',
'_include_deleted_value',
'_include_deleted_present',
'_include_has_explicit_shared_members_value',
'_include_has_explicit_shared_members_present',
'_include_mounted_folders_value',
'_include_mounted_folders_present',
'_limit_value',
'_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
def __init__(self,
path=None,
recursive=None,
include_media_info=None,
include_deleted=None,
include_has_explicit_shared_members=None,
include_mounted_folders=None,
limit=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
self._recursive_present = False
self._include_media_info_value = None
self._include_media_info_present = False
self._include_deleted_value = None
self._include_deleted_present = False
self._include_has_explicit_shared_members_value = None
self._include_has_explicit_shared_members_present = False
self._include_mounted_folders_value = None
self._include_mounted_folders_present = False
self._limit_value = None
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:
self.recursive = recursive
if include_media_info is not None:
self.include_media_info = include_media_info
if include_deleted is not None:
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_mounted_folders is not None:
self.include_mounted_folders = include_mounted_folders
if limit is not None:
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):
"""
A unique identifier for the file.
: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
@property
def recursive(self):
"""
If true, the list folder operation will be applied recursively to all
subfolders and the response will contain contents of all subfolders.
:rtype: bool
"""
if self._recursive_present:
return self._recursive_value
else:
return False
@recursive.setter
def recursive(self, val):
val = self._recursive_validator.validate(val)
self._recursive_value = val
self._recursive_present = True
@recursive.deleter
def recursive(self):
self._recursive_value = None
self._recursive_present = False
@property
def include_media_info(self):
"""
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
"""
if self._include_media_info_present:
return self._include_media_info_value
else:
return False
@include_media_info.setter
def include_media_info(self, val):
val = self._include_media_info_validator.validate(val)
self._include_media_info_value = val
self._include_media_info_present = True
@include_media_info.deleter
def include_media_info(self):
self._include_media_info_value = None
self._include_media_info_present = False
@property
def include_deleted(self):
"""
If true, the results will include entries for files and folders that
used to exist but were deleted.
:rtype: bool
"""
if self._include_deleted_present:
return self._include_deleted_value
else:
return False
@include_deleted.setter
def include_deleted(self, val):
val = self._include_deleted_validator.validate(val)
self._include_deleted_value = val
self._include_deleted_present = True
@include_deleted.deleter
def include_deleted(self):
self._include_deleted_value = None
self._include_deleted_present = False
@property
def include_has_explicit_shared_members(self):
"""
If true, the results will include a flag for each file indicating
whether or not that file has any explicit members.
:rtype: bool
"""
if self._include_has_explicit_shared_members_present:
return self._include_has_explicit_shared_members_value
else:
return False
@include_has_explicit_shared_members.setter
def include_has_explicit_shared_members(self, val):
val = self._include_has_explicit_shared_members_validator.validate(val)
self._include_has_explicit_shared_members_value = val
self._include_has_explicit_shared_members_present = True
@include_has_explicit_shared_members.deleter
def include_has_explicit_shared_members(self):
self._include_has_explicit_shared_members_value = None
self._include_has_explicit_shared_members_present = False
@property
def include_mounted_folders(self):
"""
If true, the results will include entries under mounted folders which
includes app folder, shared folder and team folder.
:rtype: bool
"""
if self._include_mounted_folders_present:
return self._include_mounted_folders_value
else:
return True
@include_mounted_folders.setter
def include_mounted_folders(self, val):
val = self._include_mounted_folders_validator.validate(val)
self._include_mounted_folders_value = val
self._include_mounted_folders_present = True
@include_mounted_folders.deleter
def include_mounted_folders(self):
self._include_mounted_folders_value = None
self._include_mounted_folders_present = False
@property
def limit(self):
"""
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.
:rtype: int
"""
if self._limit_present:
return self._limit_value
else:
return None
@limit.setter
def limit(self, val):
if val is None:
del self.limit
return
val = self._limit_validator.validate(val)
self._limit_value = val
self._limit_present = True
@limit.deleter
def limit(self):
self._limit_value = None
self._limit_present = False
@property
def shared_link(self):
"""
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.
:rtype: SharedLink
"""
if self._shared_link_present:
return self._shared_link_value
else:
return None
@shared_link.setter
def shared_link(self, val):
if val is None:
del self.shared_link
return
self._shared_link_validator.validate_type_only(val)
self._shared_link_value = val
self._shared_link_present = True
@shared_link.deleter
def shared_link(self):
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}, include_property_groups={!r}, include_non_downloadable_files={!r})'.format(
self._path_value,
self._recursive_value,
self._include_media_info_value,
self._include_deleted_value,
self._include_has_explicit_shared_members_value,
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(bb.Struct):
"""
: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`.
"""
__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.files_list_folder` or
:meth:`dropbox.dropbox.Dropbox.files_list_folder_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(ListFolderContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFolderContinueArg(cursor={!r})'.format(
self._cursor_value,
)
ListFolderContinueArg_validator = bv.Struct(ListFolderContinueArg)
class ListFolderContinueError(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.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'
# Attribute is overwritten below the class definition
reset = 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: ListFolderContinueError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
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 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(ListFolderContinueError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFolderContinueError(%r, %r)' % (self._tag, self._value)
ListFolderContinueError_validator = bv.Union(ListFolderContinueError)
class ListFolderError(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 LookupError val:
:rtype: ListFolderError
"""
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: 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(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(bb.Struct):
"""
: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.
"""
__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):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to see what's
changed in the folder since your previous query.
: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(ListFolderGetLatestCursorResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFolderGetLatestCursorResult(cursor={!r})'.format(
self._cursor_value,
)
ListFolderGetLatestCursorResult_validator = bv.Struct(ListFolderGetLatestCursorResult)
class ListFolderLongpollArg(bb.Struct):
"""
: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 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__ = [
'_cursor_value',
'_cursor_present',
'_timeout_value',
'_timeout_present',
]
_has_required_fields = True
def __init__(self,
cursor=None,
timeout=None):
self._cursor_value = None
self._cursor_present = False
self._timeout_value = None
self._timeout_present = False
if cursor is not None:
self.cursor = cursor
if timeout is not None:
self.timeout = timeout
@property
def cursor(self):
"""
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.
: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 timeout(self):
"""
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: int
"""
if self._timeout_present:
return self._timeout_value
else:
return 30
@timeout.setter
def timeout(self, val):
val = self._timeout_validator.validate(val)
self._timeout_value = val
self._timeout_present = True
@timeout.deleter
def timeout(self):
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,
self._timeout_value,
)
ListFolderLongpollArg_validator = bv.Struct(ListFolderLongpollArg)
class ListFolderLongpollError(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.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'
# 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(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(bb.Struct):
"""
: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 files.ListFolderLongpollResult.backoff: If present, backoff for at
least this many seconds before calling
:meth:`dropbox.dropbox.Dropbox.files_list_folder_longpoll` again.
"""
__slots__ = [
'_changes_value',
'_changes_present',
'_backoff_value',
'_backoff_present',
]
_has_required_fields = True
def __init__(self,
changes=None,
backoff=None):
self._changes_value = None
self._changes_present = False
self._backoff_value = None
self._backoff_present = False
if changes is not None:
self.changes = changes
if backoff is not None:
self.backoff = backoff
@property
def changes(self):
"""
Indicates whether new changes are available. If true, call
:meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to retrieve
the changes.
:rtype: bool
"""
if self._changes_present:
return self._changes_value
else:
raise AttributeError("missing required field 'changes'")
@changes.setter
def changes(self, val):
val = self._changes_validator.validate(val)
self._changes_value = val
self._changes_present = True
@changes.deleter
def changes(self):
self._changes_value = None
self._changes_present = False
@property
def backoff(self):
"""
If present, backoff for at least this many seconds before calling
:meth:`dropbox.dropbox.Dropbox.files_list_folder_longpoll` again.
:rtype: int
"""
if self._backoff_present:
return self._backoff_value
else:
return None
@backoff.setter
def backoff(self, val):
if val is None:
del self.backoff
return
val = self._backoff_validator.validate(val)
self._backoff_value = val
self._backoff_present = True
@backoff.deleter
def backoff(self):
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,
self._backoff_value,
)
ListFolderLongpollResult_validator = bv.Struct(ListFolderLongpollResult)
class ListFolderResult(bb.Struct):
"""
: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 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__ = [
'_entries_value',
'_entries_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
entries=None,
cursor=None,
has_more=None):
self._entries_value = None
self._entries_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if entries is not None:
self.entries = entries
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def entries(self):
"""
The files and (direct) subfolders in the folder.
:rtype: list of [Metadata]
"""
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 cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to see what's
changed in the folder since your previous query.
: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):
"""
If true, then there are more entries available. Pass the cursor to
:meth:`dropbox.dropbox.Dropbox.files_list_folder_continue` to retrieve
the rest.
: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(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,
self._cursor_value,
self._has_more_value,
)
ListFolderResult_validator = bv.Struct(ListFolderResult)
class ListRevisionsArg(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_mode_value',
'_mode_present',
'_limit_value',
'_limit_present',
]
_has_required_fields = True
def __init__(self,
path=None,
mode=None,
limit=None):
self._path_value = None
self._path_present = False
self._mode_value = None
self._mode_present = False
self._limit_value = None
self._limit_present = False
if path is not None:
self.path = path
if mode is not None:
self.mode = mode
if limit is not None:
self.limit = limit
@property
def path(self):
"""
The path to the file you want to see the revisions of.
: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
@property
def mode(self):
"""
Determines the behavior of the API in listing the revisions for a given
file path or id.
:rtype: ListRevisionsMode
"""
if self._mode_present:
return self._mode_value
else:
return ListRevisionsMode.path
@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
@property
def limit(self):
"""
The maximum number of revision entries returned.
:rtype: int
"""
if self._limit_present:
return self._limit_value
else:
return 10
@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(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,
self._mode_value,
self._limit_value,
)
ListRevisionsArg_validator = bv.Struct(ListRevisionsArg)
class ListRevisionsError(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 LookupError val:
:rtype: ListRevisionsError
"""
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: 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(ListRevisionsError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListRevisionsError(%r, %r)' % (self._tag, self._value)
ListRevisionsError_validator = bv.Union(ListRevisionsError)
class ListRevisionsMode(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.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'
# Attribute is overwritten below the class definition
path = None
# Attribute is overwritten below the class definition
id = None
# Attribute is overwritten below the class definition
other = None
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
def is_id(self):
"""
Check if the union tag is ``id``.
:rtype: bool
"""
return self._tag == 'id'
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(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(bb.Struct):
"""
: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__ = [
'_is_deleted_value',
'_is_deleted_present',
'_server_deleted_value',
'_server_deleted_present',
'_entries_value',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
is_deleted=None,
entries=None,
server_deleted=None):
self._is_deleted_value = None
self._is_deleted_present = False
self._server_deleted_value = None
self._server_deleted_present = False
self._entries_value = None
self._entries_present = False
if is_deleted is not None:
self.is_deleted = is_deleted
if server_deleted is not None:
self.server_deleted = server_deleted
if entries is not None:
self.entries = entries
@property
def is_deleted(self):
"""
If the file identified by the latest revision in the response is either
deleted or moved.
: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 server_deleted(self):
"""
The time of deletion if the file was deleted.
:rtype: datetime.datetime
"""
if self._server_deleted_present:
return self._server_deleted_value
else:
return None
@server_deleted.setter
def server_deleted(self, val):
if val is None:
del self.server_deleted
return
val = self._server_deleted_validator.validate(val)
self._server_deleted_value = val
self._server_deleted_present = True
@server_deleted.deleter
def server_deleted(self):
self._server_deleted_value = None
self._server_deleted_present = False
@property
def entries(self):
"""
The revisions for the file. Only revisions that are not deleted will
show up here.
:rtype: list of [FileMetadata]
"""
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(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,
self._entries_value,
self._server_deleted_value,
)
ListRevisionsResult_validator = bv.Struct(ListRevisionsResult)
class LookupError(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 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'
# Attribute is overwritten below the class definition
not_found = None
# Attribute is overwritten below the class definition
not_file = None
# Attribute is overwritten below the class definition
not_folder = None
# 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
def malformed_path(cls, val):
"""
Create an instance of this class set to the ``malformed_path`` tag with
value ``val``.
:param Optional[str] val:
:rtype: LookupError
"""
return cls('malformed_path', val)
def is_malformed_path(self):
"""
Check if the union tag is ``malformed_path``.
:rtype: bool
"""
return self._tag == 'malformed_path'
def is_not_found(self):
"""
Check if the union tag is ``not_found``.
:rtype: bool
"""
return self._tag == 'not_found'
def is_not_file(self):
"""
Check if the union tag is ``not_file``.
:rtype: bool
"""
return self._tag == 'not_file'
def is_not_folder(self):
"""
Check if the union tag is ``not_folder``.
:rtype: bool
"""
return self._tag == 'not_folder'
def is_restricted_content(self):
"""
Check if the union tag is ``restricted_content``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
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]
"""
if not self.is_malformed_path():
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)
LookupError_validator = bv.Union(LookupError)
class MediaInfo(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.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
# Attribute is overwritten below the class definition
pending = None
@classmethod
def metadata(cls, val):
"""
Create an instance of this class set to the ``metadata`` tag with value
``val``.
:param MediaMetadata val:
:rtype: MediaInfo
"""
return cls('metadata', val)
def is_pending(self):
"""
Check if the union tag is ``pending``.
:rtype: bool
"""
return self._tag == 'pending'
def is_metadata(self):
"""
Check if the union tag is ``metadata``.
:rtype: bool
"""
return self._tag == 'metadata'
def get_metadata(self):
"""
The metadata for the photo/video.
Only call this if :meth:`is_metadata` is true.
:rtype: MediaMetadata
"""
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(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(bb.Struct):
"""
Metadata for a photo or video.
: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__ = [
'_dimensions_value',
'_dimensions_present',
'_location_value',
'_location_present',
'_time_taken_value',
'_time_taken_present',
]
_has_required_fields = False
def __init__(self,
dimensions=None,
location=None,
time_taken=None):
self._dimensions_value = None
self._dimensions_present = False
self._location_value = None
self._location_present = False
self._time_taken_value = None
self._time_taken_present = False
if dimensions is not None:
self.dimensions = dimensions
if location is not None:
self.location = location
if time_taken is not None:
self.time_taken = time_taken
@property
def dimensions(self):
"""
Dimension of the photo/video.
:rtype: Dimensions
"""
if self._dimensions_present:
return self._dimensions_value
else:
return None
@dimensions.setter
def dimensions(self, val):
if val is None:
del self.dimensions
return
self._dimensions_validator.validate_type_only(val)
self._dimensions_value = val
self._dimensions_present = True
@dimensions.deleter
def dimensions(self):
self._dimensions_value = None
self._dimensions_present = False
@property
def location(self):
"""
The GPS coordinate of the photo/video.
:rtype: GpsCoordinates
"""
if self._location_present:
return self._location_value
else:
return None
@location.setter
def location(self, val):
if val is None:
del self.location
return
self._location_validator.validate_type_only(val)
self._location_value = val
self._location_present = True
@location.deleter
def location(self):
self._location_value = None
self._location_present = False
@property
def time_taken(self):
"""
The timestamp when the photo/video is taken.
:rtype: datetime.datetime
"""
if self._time_taken_present:
return self._time_taken_value
else:
return None
@time_taken.setter
def time_taken(self, val):
if val is None:
del self.time_taken
return
val = self._time_taken_validator.validate(val)
self._time_taken_value = val
self._time_taken_present = True
@time_taken.deleter
def time_taken(self):
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,
self._location_value,
self._time_taken_value,
)
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.
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
dimensions=None,
location=None,
time_taken=None):
super(PhotoMetadata, self).__init__(dimensions,
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,
self._location_value,
self._time_taken_value,
)
PhotoMetadata_validator = bv.Struct(PhotoMetadata)
class PreviewArg(bb.Struct):
"""
:ivar files.PreviewArg.path: The path of the file to preview.
:ivar files.PreviewArg.rev: Please specify revision in ``path`` instead.
"""
__slots__ = [
'_path_value',
'_path_present',
'_rev_value',
'_rev_present',
]
_has_required_fields = True
def __init__(self,
path=None,
rev=None):
self._path_value = None
self._path_present = False
self._rev_value = None
self._rev_present = False
if path is not None:
self.path = path
if rev is not None:
self.rev = rev
@property
def path(self):
"""
The path of the file to preview.
: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
@property
def rev(self):
"""
Please specify revision in ``path`` instead.
:rtype: str
"""
if self._rev_present:
return self._rev_value
else:
return None
@rev.setter
def rev(self, val):
if val is None:
del self.rev
return
val = self._rev_validator.validate(val)
self._rev_value = val
self._rev_present = True
@rev.deleter
def rev(self):
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,
self._rev_value,
)
PreviewArg_validator = bv.Struct(PreviewArg)
class PreviewError(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 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
# Attribute is overwritten below the class definition
in_progress = None
# Attribute is overwritten below the class definition
unsupported_extension = None
# Attribute is overwritten below the class definition
unsupported_content = None
@classmethod
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param LookupError val:
:rtype: PreviewError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
def is_in_progress(self):
"""
Check if the union tag is ``in_progress``.
:rtype: bool
"""
return self._tag == 'in_progress'
def is_unsupported_extension(self):
"""
Check if the union tag is ``unsupported_extension``.
:rtype: bool
"""
return self._tag == 'unsupported_extension'
def is_unsupported_content(self):
"""
Check if the union tag is ``unsupported_content``.
:rtype: bool
"""
return self._tag == 'unsupported_content'
def get_path(self):
"""
An error occurs when downloading metadata for the file.
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(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(bb.Struct):
"""
: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__ = [
'_from_path_value',
'_from_path_present',
'_to_path_value',
'_to_path_present',
]
_has_required_fields = True
def __init__(self,
from_path=None,
to_path=None):
self._from_path_value = None
self._from_path_present = False
self._to_path_value = None
self._to_path_present = False
if from_path is not None:
self.from_path = from_path
if to_path is not None:
self.to_path = to_path
@property
def from_path(self):
"""
Path in the user's Dropbox to be copied or moved.
:rtype: str
"""
if self._from_path_present:
return self._from_path_value
else:
raise AttributeError("missing required field 'from_path'")
@from_path.setter
def from_path(self, val):
val = self._from_path_validator.validate(val)
self._from_path_value = val
self._from_path_present = True
@from_path.deleter
def from_path(self):
self._from_path_value = None
self._from_path_present = False
@property
def to_path(self):
"""
Path in the user's Dropbox that is the destination.
:rtype: str
"""
if self._to_path_present:
return self._to_path_value
else:
raise AttributeError("missing required field 'to_path'")
@to_path.setter
def to_path(self, val):
val = self._to_path_validator.validate(val)
self._to_path_value = val
self._to_path_present = True
@to_path.deleter
def to_path(self):
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,
self._to_path_value,
)
RelocationPath_validator = bv.Struct(RelocationPath)
class RelocationArg(RelocationPath):
"""
: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 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__ = [
'_allow_shared_folder_value',
'_allow_shared_folder_present',
'_autorename_value',
'_autorename_present',
'_allow_ownership_transfer_value',
'_allow_ownership_transfer_present',
]
_has_required_fields = True
def __init__(self,
from_path=None,
to_path=None,
allow_shared_folder=None,
autorename=None,
allow_ownership_transfer=None):
super(RelocationArg, self).__init__(from_path,
to_path)
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 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 allow_shared_folder(self):
"""
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`.
:rtype: bool
"""
if self._allow_shared_folder_present:
return self._allow_shared_folder_value
else:
return False
@allow_shared_folder.setter
def allow_shared_folder(self, val):
val = self._allow_shared_folder_validator.validate(val)
self._allow_shared_folder_value = val
self._allow_shared_folder_present = True
@allow_shared_folder.deleter
def allow_shared_folder(self):
self._allow_shared_folder_value = None
self._allow_shared_folder_present = False
@property
def autorename(self):
"""
If there's a conflict, have the Dropbox server try to autorename the
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):
"""
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(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,
self._to_path_value,
self._allow_shared_folder_value,
self._autorename_value,
self._allow_ownership_transfer_value,
)
RelocationArg_validator = bv.Struct(RelocationArg)
class RelocationBatchArg(RelocationBatchArgBase):
"""
: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 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__ = [
'_allow_shared_folder_value',
'_allow_shared_folder_present',
'_allow_ownership_transfer_value',
'_allow_ownership_transfer_present',
]
_has_required_fields = True
def __init__(self,
entries=None,
autorename=None,
allow_shared_folder=None,
allow_ownership_transfer=None):
super(RelocationBatchArg, self).__init__(entries,
autorename)
self._allow_shared_folder_value = None
self._allow_shared_folder_present = False
self._allow_ownership_transfer_value = None
self._allow_ownership_transfer_present = False
if allow_shared_folder is not None:
self.allow_shared_folder = allow_shared_folder
if allow_ownership_transfer is not None:
self.allow_ownership_transfer = allow_ownership_transfer
@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
always true for :meth:`dropbox.dropbox.Dropbox.files_move_batch`.
:rtype: bool
"""
if self._allow_shared_folder_present:
return self._allow_shared_folder_value
else:
return False
@allow_shared_folder.setter
def allow_shared_folder(self, val):
val = self._allow_shared_folder_validator.validate(val)
self._allow_shared_folder_value = val
self._allow_shared_folder_present = True
@allow_shared_folder.deleter
def allow_shared_folder(self):
self._allow_shared_folder_value = None
self._allow_shared_folder_present = False
@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(RelocationBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'RelocationBatchArg(entries={!r}, autorename={!r}, allow_shared_folder={!r}, allow_ownership_transfer={!r})'.format(
self._entries_value,
self._autorename_value,
self._allow_shared_folder_value,
self._allow_ownership_transfer_value,
)
RelocationBatchArg_validator = bv.Struct(RelocationBatchArg)
class RelocationError(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.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'
# Attribute is overwritten below the class definition
cant_copy_shared_folder = None
# Attribute is overwritten below the class definition
cant_nest_shared_folder = None
# Attribute is overwritten below the class definition
cant_move_folder_into_itself = None
# Attribute is overwritten below the class definition
too_many_files = None
# Attribute is overwritten below the class definition
duplicated_or_nested_paths = None
# 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
def from_lookup(cls, val):
"""
Create an instance of this class set to the ``from_lookup`` tag with
value ``val``.
:param LookupError val:
:rtype: RelocationError
"""
return cls('from_lookup', val)
@classmethod
def from_write(cls, val):
"""
Create an instance of this class set to the ``from_write`` tag with
value ``val``.
:param WriteError val:
:rtype: RelocationError
"""
return cls('from_write', val)
@classmethod
def to(cls, val):
"""
Create an instance of this class set to the ``to`` tag with value
``val``.
:param WriteError val:
:rtype: RelocationError
"""
return cls('to', val)
def is_from_lookup(self):
"""
Check if the union tag is ``from_lookup``.
:rtype: bool
"""
return self._tag == 'from_lookup'
def is_from_write(self):
"""
Check if the union tag is ``from_write``.
:rtype: bool
"""
return self._tag == 'from_write'
def is_to(self):
"""
Check if the union tag is ``to``.
:rtype: bool
"""
return self._tag == 'to'
def is_cant_copy_shared_folder(self):
"""
Check if the union tag is ``cant_copy_shared_folder``.
:rtype: bool
"""
return self._tag == 'cant_copy_shared_folder'
def is_cant_nest_shared_folder(self):
"""
Check if the union tag is ``cant_nest_shared_folder``.
:rtype: bool
"""
return self._tag == 'cant_nest_shared_folder'
def is_cant_move_folder_into_itself(self):
"""
Check if the union tag is ``cant_move_folder_into_itself``.
:rtype: bool
"""
return self._tag == 'cant_move_folder_into_itself'
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_duplicated_or_nested_paths(self):
"""
Check if the union tag is ``duplicated_or_nested_paths``.
:rtype: bool
"""
return self._tag == 'duplicated_or_nested_paths'
def is_cant_transfer_ownership(self):
"""
Check if the union tag is ``cant_transfer_ownership``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
def get_from_lookup(self):
"""
Only call this if :meth:`is_from_lookup` is true.
:rtype: LookupError
"""
if not self.is_from_lookup():
raise AttributeError("tag 'from_lookup' not set")
return self._value
def get_from_write(self):
"""
Only call this if :meth:`is_from_write` is true.
:rtype: WriteError
"""
if not self.is_from_write():
raise AttributeError("tag 'from_write' not set")
return self._value
def get_to(self):
"""
Only call this if :meth:`is_to` is true.
:rtype: WriteError
"""
if not self.is_to():
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)
RelocationError_validator = bv.Union(RelocationError)
class RelocationBatchError(RelocationError):
"""
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.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
too_many_write_operations = None
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 _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 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 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
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param RelocationBatchResult val:
:rtype: RelocationBatchJobStatus
"""
return cls('complete', val)
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param RelocationBatchError val:
:rtype: RelocationBatchJobStatus
"""
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 get_complete(self):
"""
The copy or move batch job has finished.
Only call this if :meth:`is_complete` is true.
:rtype: RelocationBatchResult
"""
if not self.is_complete():
raise AttributeError("tag 'complete' not set")
return self._value
def get_failed(self):
"""
The copy or move batch job has failed with exception.
Only call this if :meth:`is_failed` is true.
:rtype: RelocationBatchError
"""
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(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):
"""
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.
"""
_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 RelocationBatchResult val:
:rtype: RelocationBatchLaunch
"""
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: RelocationBatchResult
"""
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(RelocationBatchLaunch, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'RelocationBatchLaunch(%r, %r)' % (self._tag, self._value)
RelocationBatchLaunch_validator = bv.Union(RelocationBatchLaunch)
class RelocationBatchResult(FileOpsResult):
__slots__ = [
'_entries_value',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
entries=None):
super(RelocationBatchResult, self).__init__()
self._entries_value = None
self._entries_present = False
if entries is not None:
self.entries = entries
@property
def entries(self):
"""
:rtype: list of [RelocationBatchResultData]
"""
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(RelocationBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'RelocationBatchResult(entries={!r})'.format(
self._entries_value,
)
RelocationBatchResult_validator = bv.Struct(RelocationBatchResult)
class RelocationBatchResultData(bb.Struct):
"""
:ivar files.RelocationBatchResultData.metadata: Metadata of the relocated
object.
"""
__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 relocated object.
:rtype: Metadata
"""
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(RelocationBatchResultData, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'RelocationBatchResultData(metadata={!r})'.format(
self._metadata_value,
)
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 files.RelocationResult.metadata: Metadata of the relocated object.
"""
__slots__ = [
'_metadata_value',
'_metadata_present',
]
_has_required_fields = True
def __init__(self,
metadata=None):
super(RelocationResult, self).__init__()
self._metadata_value = None
self._metadata_present = False
if metadata is not None:
self.metadata = metadata
@property
def metadata(self):
"""
Metadata of the relocated object.
:rtype: Metadata
"""
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(RelocationResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'RelocationResult(metadata={!r})'.format(
self._metadata_value,
)
RelocationResult_validator = bv.Struct(RelocationResult)
class RestoreArg(bb.Struct):
"""
:ivar files.RestoreArg.path: The path to save the restored file.
:ivar files.RestoreArg.rev: The revision to restore.
"""
__slots__ = [
'_path_value',
'_path_present',
'_rev_value',
'_rev_present',
]
_has_required_fields = True
def __init__(self,
path=None,
rev=None):
self._path_value = None
self._path_present = False
self._rev_value = None
self._rev_present = False
if path is not None:
self.path = path
if rev is not None:
self.rev = rev
@property
def path(self):
"""
The path to save the restored file.
: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
@property
def rev(self):
"""
The revision to restore.
:rtype: str
"""
if self._rev_present:
return self._rev_value
else:
raise AttributeError("missing required field 'rev'")
@rev.setter
def rev(self, val):
val = self._rev_validator.validate(val)
self._rev_value = val
self._rev_present = True
@rev.deleter
def rev(self):
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,
self._rev_value,
)
RestoreArg_validator = bv.Struct(RestoreArg)
class RestoreError(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 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'
# Attribute is overwritten below the class definition
invalid_revision = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def path_lookup(cls, val):
"""
Create an instance of this class set to the ``path_lookup`` tag with
value ``val``.
:param LookupError val:
:rtype: RestoreError
"""
return cls('path_lookup', val)
@classmethod
def path_write(cls, val):
"""
Create an instance of this class set to the ``path_write`` tag with
value ``val``.
:param WriteError val:
:rtype: RestoreError
"""
return cls('path_write', val)
def is_path_lookup(self):
"""
Check if the union tag is ``path_lookup``.
:rtype: bool
"""
return self._tag == 'path_lookup'
def is_path_write(self):
"""
Check if the union tag is ``path_write``.
:rtype: bool
"""
return self._tag == 'path_write'
def is_invalid_revision(self):
"""
Check if the union tag is ``invalid_revision``.
:rtype: bool
"""
return self._tag == 'invalid_revision'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_path_lookup(self):
"""
An error occurs when downloading metadata for the file.
Only call this if :meth:`is_path_lookup` is true.
:rtype: LookupError
"""
if not self.is_path_lookup():
raise AttributeError("tag 'path_lookup' not set")
return self._value
def get_path_write(self):
"""
An error occurs when trying to restore the file to that path.
Only call this if :meth:`is_path_write` is true.
:rtype: WriteError
"""
if not self.is_path_write():
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(bb.Struct):
"""
: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__ = [
'_copy_reference_value',
'_copy_reference_present',
'_path_value',
'_path_present',
]
_has_required_fields = True
def __init__(self,
copy_reference=None,
path=None):
self._copy_reference_value = None
self._copy_reference_present = False
self._path_value = None
self._path_present = False
if copy_reference is not None:
self.copy_reference = copy_reference
if path is not None:
self.path = path
@property
def copy_reference(self):
"""
A copy reference returned by
:meth:`dropbox.dropbox.Dropbox.files_copy_reference_get`.
:rtype: str
"""
if self._copy_reference_present:
return self._copy_reference_value
else:
raise AttributeError("missing required field 'copy_reference'")
@copy_reference.setter
def copy_reference(self, val):
val = self._copy_reference_validator.validate(val)
self._copy_reference_value = val
self._copy_reference_present = True
@copy_reference.deleter
def copy_reference(self):
self._copy_reference_value = None
self._copy_reference_present = False
@property
def path(self):
"""
Path in the user's Dropbox that is the destination.
: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(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,
self._path_value,
)
SaveCopyReferenceArg_validator = bv.Struct(SaveCopyReferenceArg)
class SaveCopyReferenceError(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.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'
# Attribute is overwritten below the class definition
invalid_copy_reference = None
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
not_found = 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 WriteError val:
:rtype: SaveCopyReferenceError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
def is_invalid_copy_reference(self):
"""
Check if the union tag is ``invalid_copy_reference``.
:rtype: bool
"""
return self._tag == 'invalid_copy_reference'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
return self._tag == 'no_permission'
def is_not_found(self):
"""
Check if the union tag is ``not_found``.
:rtype: bool
"""
return self._tag == 'not_found'
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: 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(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(bb.Struct):
"""
:ivar files.SaveCopyReferenceResult.metadata: The metadata of the saved file
or folder in the user's Dropbox.
"""
__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):
"""
The metadata of the saved file or folder in the user's Dropbox.
:rtype: Metadata
"""
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(SaveCopyReferenceResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SaveCopyReferenceResult(metadata={!r})'.format(
self._metadata_value,
)
SaveCopyReferenceResult_validator = bv.Struct(SaveCopyReferenceResult)
class SaveUrlArg(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_url_value',
'_url_present',
]
_has_required_fields = True
def __init__(self,
path=None,
url=None):
self._path_value = None
self._path_present = False
self._url_value = None
self._url_present = False
if path is not None:
self.path = path
if url is not None:
self.url = url
@property
def path(self):
"""
The path in Dropbox where the URL will be saved to.
: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
@property
def url(self):
"""
The URL to be saved.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
def _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,
self._url_value,
)
SaveUrlArg_validator = bv.Struct(SaveUrlArg)
class SaveUrlError(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.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'
# Attribute is overwritten below the class definition
download_failed = None
# Attribute is overwritten below the class definition
invalid_url = None
# Attribute is overwritten below the class definition
not_found = 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 WriteError val:
:rtype: SaveUrlError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
def is_download_failed(self):
"""
Check if the union tag is ``download_failed``.
:rtype: bool
"""
return self._tag == 'download_failed'
def is_invalid_url(self):
"""
Check if the union tag is ``invalid_url``.
:rtype: bool
"""
return self._tag == 'invalid_url'
def is_not_found(self):
"""
Check if the union tag is ``not_found``.
:rtype: bool
"""
return self._tag == 'not_found'
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(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):
"""
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 SaveUrlJobStatus.complete: Metadata of the file where the
URL is saved to.
"""
@classmethod
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param FileMetadata val:
:rtype: SaveUrlJobStatus
"""
return cls('complete', val)
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param SaveUrlError val:
:rtype: SaveUrlJobStatus
"""
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 get_complete(self):
"""
Metadata of the file where the URL is saved to.
Only call this if :meth:`is_complete` is true.
:rtype: FileMetadata
"""
if not self.is_complete():
raise AttributeError("tag 'complete' not set")
return self._value
def get_failed(self):
"""
Only call this if :meth:`is_failed` is true.
:rtype: SaveUrlError
"""
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(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):
"""
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 SaveUrlResult.complete: Metadata of the file where the
URL is saved to.
"""
@classmethod
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param FileMetadata val:
:rtype: SaveUrlResult
"""
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):
"""
Metadata of the file where the URL is saved to.
Only call this if :meth:`is_complete` is true.
:rtype: FileMetadata
"""
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(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(bb.Struct):
"""
: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.
"""
__slots__ = [
'_path_value',
'_path_present',
'_query_value',
'_query_present',
'_start_value',
'_start_present',
'_max_results_value',
'_max_results_present',
'_mode_value',
'_mode_present',
]
_has_required_fields = True
def __init__(self,
path=None,
query=None,
start=None,
max_results=None,
mode=None):
self._path_value = None
self._path_present = False
self._query_value = None
self._query_present = False
self._start_value = None
self._start_present = False
self._max_results_value = None
self._max_results_present = False
self._mode_value = None
self._mode_present = False
if path is not None:
self.path = path
if query is not None:
self.query = query
if start is not None:
self.start = start
if max_results is not None:
self.max_results = max_results
if mode is not None:
self.mode = mode
@property
def path(self):
"""
The path in the user's Dropbox to search. Should probably be a folder.
: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
@property
def query(self):
"""
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").
:rtype: str
"""
if self._query_present:
return self._query_value
else:
raise AttributeError("missing required field 'query'")
@query.setter
def query(self, val):
val = self._query_validator.validate(val)
self._query_value = val
self._query_present = True
@query.deleter
def query(self):
self._query_value = None
self._query_present = False
@property
def start(self):
"""
The starting index within the search results (used for paging).
:rtype: int
"""
if self._start_present:
return self._start_value
else:
return 0
@start.setter
def start(self, val):
val = self._start_validator.validate(val)
self._start_value = val
self._start_present = True
@start.deleter
def start(self):
self._start_value = None
self._start_present = False
@property
def max_results(self):
"""
The maximum number of search results to return.
:rtype: int
"""
if self._max_results_present:
return self._max_results_value
else:
return 100
@max_results.setter
def max_results(self, val):
val = self._max_results_validator.validate(val)
self._max_results_value = val
self._max_results_present = True
@max_results.deleter
def max_results(self):
self._max_results_value = None
self._max_results_present = False
@property
def mode(self):
"""
The search mode (filename, filename_and_content, or deleted_filename).
Note that searching file content is only available for Dropbox Business
accounts.
:rtype: SearchMode
"""
if self._mode_present:
return self._mode_value
else:
return SearchMode.filename
@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(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,
self._query_value,
self._start_value,
self._max_results_value,
self._mode_value,
)
SearchArg_validator = bv.Struct(SearchArg)
class SearchError(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 LookupError val:
:rtype: SearchError
"""
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: 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(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(bb.Struct):
"""
:ivar files.SearchMatch.match_type: The type of the match.
:ivar files.SearchMatch.metadata: The metadata for the matched file or
folder.
"""
__slots__ = [
'_match_type_value',
'_match_type_present',
'_metadata_value',
'_metadata_present',
]
_has_required_fields = True
def __init__(self,
match_type=None,
metadata=None):
self._match_type_value = None
self._match_type_present = False
self._metadata_value = None
self._metadata_present = False
if match_type is not None:
self.match_type = match_type
if metadata is not None:
self.metadata = metadata
@property
def match_type(self):
"""
The type of the match.
:rtype: SearchMatchType
"""
if self._match_type_present:
return self._match_type_value
else:
raise AttributeError("missing required field 'match_type'")
@match_type.setter
def match_type(self, val):
self._match_type_validator.validate_type_only(val)
self._match_type_value = val
self._match_type_present = True
@match_type.deleter
def match_type(self):
self._match_type_value = None
self._match_type_present = False
@property
def metadata(self):
"""
The metadata for the matched file or folder.
:rtype: Metadata
"""
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(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,
self._metadata_value,
)
SearchMatch_validator = bv.Struct(SearchMatch)
class SearchMatchType(bb.Union):
"""
Indicates what type of match was found for a given item.
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.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
# Attribute is overwritten below the class definition
filename = None
# Attribute is overwritten below the class definition
content = None
# Attribute is overwritten below the class definition
both = None
def is_filename(self):
"""
Check if the union tag is ``filename``.
:rtype: bool
"""
return self._tag == 'filename'
def is_content(self):
"""
Check if the union tag is ``content``.
:rtype: bool
"""
return self._tag == 'content'
def is_both(self):
"""
Check if the union tag is ``both``.
:rtype: bool
"""
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)
SearchMatchType_validator = bv.Union(SearchMatchType)
class SearchMode(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.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
# Attribute is overwritten below the class definition
filename = None
# Attribute is overwritten below the class definition
filename_and_content = None
# Attribute is overwritten below the class definition
deleted_filename = None
def is_filename(self):
"""
Check if the union tag is ``filename``.
:rtype: bool
"""
return self._tag == 'filename'
def is_filename_and_content(self):
"""
Check if the union tag is ``filename_and_content``.
:rtype: bool
"""
return self._tag == 'filename_and_content'
def is_deleted_filename(self):
"""
Check if the union tag is ``deleted_filename``.
:rtype: bool
"""
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(bb.Struct):
"""
: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 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__ = [
'_matches_value',
'_matches_present',
'_more_value',
'_more_present',
'_start_value',
'_start_present',
]
_has_required_fields = True
def __init__(self,
matches=None,
more=None,
start=None):
self._matches_value = None
self._matches_present = False
self._more_value = None
self._more_present = False
self._start_value = None
self._start_present = False
if matches is not None:
self.matches = matches
if more is not None:
self.more = more
if start is not None:
self.start = start
@property
def matches(self):
"""
A list (possibly empty) of matches for the query.
:rtype: list of [SearchMatch]
"""
if self._matches_present:
return self._matches_value
else:
raise AttributeError("missing required field 'matches'")
@matches.setter
def matches(self, val):
val = self._matches_validator.validate(val)
self._matches_value = val
self._matches_present = True
@matches.deleter
def matches(self):
self._matches_value = None
self._matches_present = False
@property
def more(self):
"""
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.
:rtype: bool
"""
if self._more_present:
return self._more_value
else:
raise AttributeError("missing required field 'more'")
@more.setter
def more(self, val):
val = self._more_validator.validate(val)
self._more_value = val
self._more_present = True
@more.deleter
def more(self):
self._more_value = None
self._more_present = False
@property
def start(self):
"""
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.
:rtype: int
"""
if self._start_present:
return self._start_value
else:
raise AttributeError("missing required field 'start'")
@start.setter
def start(self, val):
val = self._start_validator.validate(val)
self._start_value = val
self._start_present = True
@start.deleter
def start(self):
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,
self._more_value,
self._start_value,
)
SearchResult_validator = bv.Struct(SearchResult)
class SharedLink(bb.Struct):
"""
:ivar files.SharedLink.url: Shared link url.
:ivar files.SharedLink.password: Password for the shared link.
"""
__slots__ = [
'_url_value',
'_url_present',
'_password_value',
'_password_present',
]
_has_required_fields = True
def __init__(self,
url=None,
password=None):
self._url_value = None
self._url_present = False
self._password_value = None
self._password_present = False
if url is not None:
self.url = url
if password is not None:
self.password = password
@property
def url(self):
"""
Shared link url.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
@property
def password(self):
"""
Password for the shared link.
:rtype: str
"""
if self._password_present:
return self._password_value
else:
return None
@password.setter
def password(self, val):
if val is None:
del self.password
return
val = self._password_validator.validate(val)
self._password_value = val
self._password_present = True
@password.deleter
def password(self):
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,
self._password_value,
)
SharedLink_validator = bv.Struct(SharedLink)
class SymlinkInfo(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_format_value',
'_format_present',
'_size_value',
'_size_present',
'_mode_value',
'_mode_present',
]
_has_required_fields = True
def __init__(self,
path=None,
format=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):
"""
The path to the image file you want to thumbnail.
: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
@property
def format(self):
"""
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.
:rtype: ThumbnailFormat
"""
if self._format_present:
return self._format_value
else:
return ThumbnailFormat.jpeg
@format.setter
def format(self, val):
self._format_validator.validate_type_only(val)
self._format_value = val
self._format_present = True
@format.deleter
def format(self):
self._format_value = None
self._format_present = False
@property
def size(self):
"""
The size for the thumbnail image.
:rtype: ThumbnailSize
"""
if self._size_present:
return self._size_value
else:
return ThumbnailSize.w64h64
@size.setter
def size(self, val):
self._size_validator.validate_type_only(val)
self._size_value = val
self._size_present = True
@size.deleter
def size(self):
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}, mode={!r})'.format(
self._path_value,
self._format_value,
self._size_value,
self._mode_value,
)
ThumbnailArg_validator = bv.Struct(ThumbnailArg)
class ThumbnailError(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 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
# Attribute is overwritten below the class definition
unsupported_extension = None
# Attribute is overwritten below the class definition
unsupported_image = None
# Attribute is overwritten below the class definition
conversion_error = None
@classmethod
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param LookupError val:
:rtype: ThumbnailError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
def is_unsupported_extension(self):
"""
Check if the union tag is ``unsupported_extension``.
:rtype: bool
"""
return self._tag == 'unsupported_extension'
def is_unsupported_image(self):
"""
Check if the union tag is ``unsupported_image``.
:rtype: bool
"""
return self._tag == 'unsupported_image'
def is_conversion_error(self):
"""
Check if the union tag is ``conversion_error``.
:rtype: bool
"""
return self._tag == 'conversion_error'
def get_path(self):
"""
An error occurs when downloading metadata for the image.
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(ThumbnailError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ThumbnailError(%r, %r)' % (self._tag, self._value)
ThumbnailError_validator = bv.Union(ThumbnailError)
class ThumbnailFormat(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
# Attribute is overwritten below the class definition
jpeg = None
# Attribute is overwritten below the class definition
png = None
def is_jpeg(self):
"""
Check if the union tag is ``jpeg``.
:rtype: bool
"""
return self._tag == 'jpeg'
def is_png(self):
"""
Check if the union tag is ``png``.
:rtype: bool
"""
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 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
# Attribute is overwritten below the class definition
w32h32 = None
# Attribute is overwritten below the class definition
w64h64 = None
# 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):
"""
Check if the union tag is ``w32h32``.
:rtype: bool
"""
return self._tag == 'w32h32'
def is_w64h64(self):
"""
Check if the union tag is ``w64h64``.
:rtype: bool
"""
return self._tag == 'w64h64'
def is_w128h128(self):
"""
Check if the union tag is ``w128h128``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
ThumbnailSize_validator = bv.Union(ThumbnailSize)
class UploadError(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 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'
# 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 UploadWriteFailed val:
:rtype: UploadError
"""
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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
def get_path(self):
"""
Unable to save the uploaded contents to a file.
Only call this if :meth:`is_path` is true.
:rtype: UploadWriteFailed
"""
if not self.is_path():
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)
UploadError_validator = bv.Union(UploadError)
class UploadErrorWithProperties(UploadError):
"""
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(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(bb.Struct):
"""
: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__ = [
'_cursor_value',
'_cursor_present',
'_close_value',
'_close_present',
]
_has_required_fields = True
def __init__(self,
cursor=None,
close=None):
self._cursor_value = None
self._cursor_present = False
self._close_value = None
self._close_present = False
if cursor is not None:
self.cursor = cursor
if close is not None:
self.close = close
@property
def cursor(self):
"""
Contains the upload session ID and the offset.
:rtype: UploadSessionCursor
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
self._cursor_validator.validate_type_only(val)
self._cursor_value = val
self._cursor_present = True
@cursor.deleter
def cursor(self):
self._cursor_value = None
self._cursor_present = False
@property
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`
anymore with the current session.
:rtype: bool
"""
if self._close_present:
return self._close_value
else:
return False
@close.setter
def close(self, val):
val = self._close_validator.validate(val)
self._close_value = val
self._close_present = True
@close.deleter
def close(self):
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,
self._close_value,
)
UploadSessionAppendArg_validator = bv.Struct(UploadSessionAppendArg)
class UploadSessionCursor(bb.Struct):
"""
: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__ = [
'_session_id_value',
'_session_id_present',
'_offset_value',
'_offset_present',
]
_has_required_fields = True
def __init__(self,
session_id=None,
offset=None):
self._session_id_value = None
self._session_id_present = False
self._offset_value = None
self._offset_present = False
if session_id is not None:
self.session_id = session_id
if offset is not None:
self.offset = offset
@property
def session_id(self):
"""
The upload session ID (returned by
:meth:`dropbox.dropbox.Dropbox.files_upload_session_start`).
:rtype: str
"""
if self._session_id_present:
return self._session_id_value
else:
raise AttributeError("missing required field 'session_id'")
@session_id.setter
def session_id(self, val):
val = self._session_id_validator.validate(val)
self._session_id_value = val
self._session_id_present = True
@session_id.deleter
def session_id(self):
self._session_id_value = None
self._session_id_present = False
@property
def offset(self):
"""
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: int
"""
if self._offset_present:
return self._offset_value
else:
raise AttributeError("missing required field 'offset'")
@offset.setter
def offset(self, val):
val = self._offset_validator.validate(val)
self._offset_value = val
self._offset_present = True
@offset.deleter
def offset(self):
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,
self._offset_value,
)
UploadSessionCursor_validator = bv.Struct(UploadSessionCursor)
class UploadSessionFinishArg(bb.Struct):
"""
: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__ = [
'_cursor_value',
'_cursor_present',
'_commit_value',
'_commit_present',
]
_has_required_fields = True
def __init__(self,
cursor=None,
commit=None):
self._cursor_value = None
self._cursor_present = False
self._commit_value = None
self._commit_present = False
if cursor is not None:
self.cursor = cursor
if commit is not None:
self.commit = commit
@property
def cursor(self):
"""
Contains the upload session ID and the offset.
:rtype: UploadSessionCursor
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
self._cursor_validator.validate_type_only(val)
self._cursor_value = val
self._cursor_present = True
@cursor.deleter
def cursor(self):
self._cursor_value = None
self._cursor_present = False
@property
def commit(self):
"""
Contains the path and other optional modifiers for the commit.
:rtype: CommitInfo
"""
if self._commit_present:
return self._commit_value
else:
raise AttributeError("missing required field 'commit'")
@commit.setter
def commit(self, val):
self._commit_validator.validate_type_only(val)
self._commit_value = val
self._commit_present = True
@commit.deleter
def commit(self):
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,
self._commit_value,
)
UploadSessionFinishArg_validator = bv.Struct(UploadSessionFinishArg)
class UploadSessionFinishBatchArg(bb.Struct):
"""
:ivar files.UploadSessionFinishBatchArg.entries: Commit information for each
file in the batch.
"""
__slots__ = [
'_entries_value',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
entries=None):
self._entries_value = None
self._entries_present = False
if entries is not None:
self.entries = entries
@property
def entries(self):
"""
Commit information for each file in the batch.
:rtype: list of [UploadSessionFinishArg]
"""
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(UploadSessionFinishBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UploadSessionFinishBatchArg(entries={!r})'.format(
self._entries_value,
)
UploadSessionFinishBatchArg_validator = bv.Struct(UploadSessionFinishBatchArg)
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
UploadSessionFinishBatchJobStatus.complete: The
:meth:`dropbox.dropbox.Dropbox.files_upload_session_finish_batch` has
finished.
"""
@classmethod
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param UploadSessionFinishBatchResult val:
:rtype: UploadSessionFinishBatchJobStatus
"""
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 :meth:`dropbox.dropbox.Dropbox.files_upload_session_finish_batch`
has finished.
Only call this if :meth:`is_complete` is true.
:rtype: UploadSessionFinishBatchResult
"""
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(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):
"""
Result returned by
:meth:`dropbox.dropbox.Dropbox.files_upload_session_finish_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 UploadSessionFinishBatchResult val:
:rtype: UploadSessionFinishBatchLaunch
"""
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: UploadSessionFinishBatchResult
"""
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(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(bb.Struct):
"""
:ivar files.UploadSessionFinishBatchResult.entries: Each entry in
``UploadSessionFinishBatchArg.entries`` will appear at the same position
inside ``UploadSessionFinishBatchResult.entries``.
"""
__slots__ = [
'_entries_value',
'_entries_present',
]
_has_required_fields = True
def __init__(self,
entries=None):
self._entries_value = None
self._entries_present = False
if entries is not None:
self.entries = entries
@property
def entries(self):
"""
Each entry in ``UploadSessionFinishBatchArg.entries`` will appear at the
same position inside ``UploadSessionFinishBatchResult.entries``.
:rtype: list of [UploadSessionFinishBatchResultEntry]
"""
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(UploadSessionFinishBatchResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UploadSessionFinishBatchResult(entries={!r})'.format(
self._entries_value,
)
UploadSessionFinishBatchResult_validator = bv.Struct(UploadSessionFinishBatchResult)
class UploadSessionFinishBatchResultEntry(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 FileMetadata val:
:rtype: UploadSessionFinishBatchResultEntry
"""
return cls('success', val)
@classmethod
def failure(cls, val):
"""
Create an instance of this class set to the ``failure`` tag with value
``val``.
:param UploadSessionFinishError val:
:rtype: UploadSessionFinishBatchResultEntry
"""
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: FileMetadata
"""
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: UploadSessionFinishError
"""
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(UploadSessionFinishBatchResultEntry, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UploadSessionFinishBatchResultEntry(%r, %r)' % (self._tag, self._value)
UploadSessionFinishBatchResultEntry_validator = bv.Union(UploadSessionFinishBatchResultEntry)
class UploadSessionFinishError(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 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'
# Attribute is overwritten below the class definition
too_many_shared_folder_targets = None
# Attribute is overwritten below the class definition
too_many_write_operations = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def lookup_failed(cls, val):
"""
Create an instance of this class set to the ``lookup_failed`` tag with
value ``val``.
:param UploadSessionLookupError val:
:rtype: UploadSessionFinishError
"""
return cls('lookup_failed', val)
@classmethod
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param WriteError val:
:rtype: UploadSessionFinishError
"""
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``.
:rtype: bool
"""
return self._tag == 'lookup_failed'
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'too_many_shared_folder_targets'
def is_too_many_write_operations(self):
"""
Check if the union tag is ``too_many_write_operations``.
:rtype: bool
"""
return self._tag == 'too_many_write_operations'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_lookup_failed(self):
"""
The session arguments are incorrect; the value explains the reason.
Only call this if :meth:`is_lookup_failed` is true.
:rtype: UploadSessionLookupError
"""
if not self.is_lookup_failed():
raise AttributeError("tag 'lookup_failed' not set")
return self._value
def get_path(self):
"""
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.
:rtype: WriteError
"""
if not self.is_path():
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)
UploadSessionFinishError_validator = bv.Union(UploadSessionFinishError)
class UploadSessionLookupError(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.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'
# Attribute is overwritten below the class definition
not_found = None
# Attribute is overwritten below the class definition
closed = None
# 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
def incorrect_offset(cls, val):
"""
Create an instance of this class set to the ``incorrect_offset`` tag
with value ``val``.
:param UploadSessionOffsetError val:
:rtype: UploadSessionLookupError
"""
return cls('incorrect_offset', val)
def is_not_found(self):
"""
Check if the union tag is ``not_found``.
:rtype: bool
"""
return self._tag == 'not_found'
def is_incorrect_offset(self):
"""
Check if the union tag is ``incorrect_offset``.
:rtype: bool
"""
return self._tag == 'incorrect_offset'
def is_closed(self):
"""
Check if the union tag is ``closed``.
:rtype: bool
"""
return self._tag == 'closed'
def is_not_closed(self):
"""
Check if the union tag is ``not_closed``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
def get_incorrect_offset(self):
"""
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.
Only call this if :meth:`is_incorrect_offset` is true.
:rtype: UploadSessionOffsetError
"""
if not self.is_incorrect_offset():
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(bb.Struct):
"""
:ivar files.UploadSessionOffsetError.correct_offset: The offset up to which
data has been collected.
"""
__slots__ = [
'_correct_offset_value',
'_correct_offset_present',
]
_has_required_fields = True
def __init__(self,
correct_offset=None):
self._correct_offset_value = None
self._correct_offset_present = False
if correct_offset is not None:
self.correct_offset = correct_offset
@property
def correct_offset(self):
"""
The offset up to which data has been collected.
:rtype: int
"""
if self._correct_offset_present:
return self._correct_offset_value
else:
raise AttributeError("missing required field 'correct_offset'")
@correct_offset.setter
def correct_offset(self, val):
val = self._correct_offset_validator.validate(val)
self._correct_offset_value = val
self._correct_offset_present = True
@correct_offset.deleter
def correct_offset(self):
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,
)
UploadSessionOffsetError_validator = bv.Struct(UploadSessionOffsetError)
class UploadSessionStartArg(bb.Struct):
"""
: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__ = [
'_close_value',
'_close_present',
]
_has_required_fields = False
def __init__(self,
close=None):
self._close_value = None
self._close_present = False
if close is not None:
self.close = close
@property
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`
anymore with the current session.
:rtype: bool
"""
if self._close_present:
return self._close_value
else:
return False
@close.setter
def close(self, val):
val = self._close_validator.validate(val)
self._close_value = val
self._close_present = True
@close.deleter
def close(self):
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,
)
UploadSessionStartArg_validator = bv.Struct(UploadSessionStartArg)
class UploadSessionStartResult(bb.Struct):
"""
: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`.
"""
__slots__ = [
'_session_id_value',
'_session_id_present',
]
_has_required_fields = True
def __init__(self,
session_id=None):
self._session_id_value = None
self._session_id_present = False
if session_id is not None:
self.session_id = session_id
@property
def session_id(self):
"""
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`.
:rtype: str
"""
if self._session_id_present:
return self._session_id_value
else:
raise AttributeError("missing required field 'session_id'")
@session_id.setter
def session_id(self, val):
val = self._session_id_validator.validate(val)
self._session_id_value = val
self._session_id_present = True
@session_id.deleter
def session_id(self):
self._session_id_value = None
self._session_id_present = False
def _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,
)
UploadSessionStartResult_validator = bv.Struct(UploadSessionStartResult)
class UploadWriteFailed(bb.Struct):
"""
: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__ = [
'_reason_value',
'_reason_present',
'_upload_session_id_value',
'_upload_session_id_present',
]
_has_required_fields = True
def __init__(self,
reason=None,
upload_session_id=None):
self._reason_value = None
self._reason_present = False
self._upload_session_id_value = None
self._upload_session_id_present = False
if reason is not None:
self.reason = reason
if upload_session_id is not None:
self.upload_session_id = upload_session_id
@property
def reason(self):
"""
The reason why the file couldn't be saved.
:rtype: WriteError
"""
if self._reason_present:
return self._reason_value
else:
raise AttributeError("missing required field 'reason'")
@reason.setter
def reason(self, val):
self._reason_validator.validate_type_only(val)
self._reason_value = val
self._reason_present = True
@reason.deleter
def reason(self):
self._reason_value = None
self._reason_present = False
@property
def upload_session_id(self):
"""
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
"""
if self._upload_session_id_present:
return self._upload_session_id_value
else:
raise AttributeError("missing required field 'upload_session_id'")
@upload_session_id.setter
def upload_session_id(self, val):
val = self._upload_session_id_validator.validate(val)
self._upload_session_id_value = val
self._upload_session_id_present = True
@upload_session_id.deleter
def upload_session_id(self):
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,
self._upload_session_id_value,
)
UploadWriteFailed_validator = bv.Struct(UploadWriteFailed)
class VideoMetadata(MediaMetadata):
"""
Metadata for a video.
:ivar files.VideoMetadata.duration: The duration of the video in
milliseconds.
"""
__slots__ = [
'_duration_value',
'_duration_present',
]
_has_required_fields = False
def __init__(self,
dimensions=None,
location=None,
time_taken=None,
duration=None):
super(VideoMetadata, self).__init__(dimensions,
location,
time_taken)
self._duration_value = None
self._duration_present = False
if duration is not None:
self.duration = duration
@property
def duration(self):
"""
The duration of the video in milliseconds.
:rtype: int
"""
if self._duration_present:
return self._duration_value
else:
return None
@duration.setter
def duration(self, val):
if val is None:
del self.duration
return
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(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,
self._location_value,
self._time_taken_value,
self._duration_value,
)
VideoMetadata_validator = bv.Struct(VideoMetadata)
class WriteConflictError(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.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'
# Attribute is overwritten below the class definition
file = None
# Attribute is overwritten below the class definition
folder = None
# Attribute is overwritten below the class definition
file_ancestor = None
# Attribute is overwritten below the class definition
other = None
def is_file(self):
"""
Check if the union tag is ``file``.
:rtype: bool
"""
return self._tag == 'file'
def is_folder(self):
"""
Check if the union tag is ``folder``.
:rtype: bool
"""
return self._tag == 'folder'
def is_file_ancestor(self):
"""
Check if the union tag is ``file_ancestor``.
:rtype: bool
"""
return self._tag == 'file_ancestor'
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(WriteConflictError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'WriteConflictError(%r, %r)' % (self._tag, self._value)
WriteConflictError_validator = bv.Union(WriteConflictError)
class WriteError(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 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'
# Attribute is overwritten below the class definition
no_write_permission = None
# Attribute is overwritten below the class definition
insufficient_space = None
# Attribute is overwritten below the class definition
disallowed_name = None
# Attribute is overwritten below the class definition
team_folder = None
# Attribute is overwritten below the class definition
too_many_write_operations = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def malformed_path(cls, val):
"""
Create an instance of this class set to the ``malformed_path`` tag with
value ``val``.
:param Optional[str] val:
:rtype: WriteError
"""
return cls('malformed_path', val)
@classmethod
def conflict(cls, val):
"""
Create an instance of this class set to the ``conflict`` tag with value
``val``.
:param WriteConflictError val:
:rtype: WriteError
"""
return cls('conflict', val)
def is_malformed_path(self):
"""
Check if the union tag is ``malformed_path``.
:rtype: bool
"""
return self._tag == 'malformed_path'
def is_conflict(self):
"""
Check if the union tag is ``conflict``.
:rtype: bool
"""
return self._tag == 'conflict'
def is_no_write_permission(self):
"""
Check if the union tag is ``no_write_permission``.
:rtype: bool
"""
return self._tag == 'no_write_permission'
def is_insufficient_space(self):
"""
Check if the union tag is ``insufficient_space``.
:rtype: bool
"""
return self._tag == 'insufficient_space'
def is_disallowed_name(self):
"""
Check if the union tag is ``disallowed_name``.
:rtype: bool
"""
return self._tag == 'disallowed_name'
def is_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
def is_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_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]
"""
if not self.is_malformed_path():
raise AttributeError("tag 'malformed_path' not set")
return self._value
def get_conflict(self):
"""
Couldn't write to the target path because there was something in the
way.
Only call this if :meth:`is_conflict` is true.
:rtype: WriteConflictError
"""
if not self.is_conflict():
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)
WriteError_validator = bv.Union(WriteError)
class WriteMode(bb.Union):
"""
Your intent when writing a file to some path. This is used to determine what
constitutes a conflict and what the autorename strategy is. In some
situations, the conflict behavior is identical: (a) If the target path
doesn't refer to anything, the file is always written; no conflict. (b) If
the target path refers to a folder, it's always a conflict. (c) If the
target path refers to a file with identical contents, nothing gets written;
no conflict. The conflict checking differs in the case where there's a file
at the target path with contents different from the contents you're trying
to write.
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.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
# Attribute is overwritten below the class definition
add = None
# Attribute is overwritten below the class definition
overwrite = None
@classmethod
def update(cls, val):
"""
Create an instance of this class set to the ``update`` tag with value
``val``.
:param str val:
:rtype: WriteMode
"""
return cls('update', val)
def is_add(self):
"""
Check if the union tag is ``add``.
:rtype: bool
"""
return self._tag == 'add'
def is_overwrite(self):
"""
Check if the union tag is ``overwrite``.
:rtype: bool
"""
return self._tag == 'overwrite'
def is_update(self):
"""
Check if the union tag is ``update``.
:rtype: bool
"""
return self._tag == 'update'
def get_update(self):
"""
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".
Only call this if :meth:`is_update` is true.
:rtype: str
"""
if not self.is_update():
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())
Path_validator = bv.String(pattern=u'/(.|[\\r\\n])*')
PathOrId_validator = bv.String(pattern=u'/(.|[\\r\\n])*|id:.*|(ns:[0-9]+(/.*)?)')
PathR_validator = bv.String(pattern=u'(/(.|[\\r\\n])*)?|(ns:[0-9]+(/.*)?)')
PathROrId_validator = bv.String(pattern=u'(/(.|[\\r\\n])*)?|id:.*|(ns:[0-9]+(/.*)?)')
ReadPath_validator = bv.String(pattern=u'(/(.|[\\r\\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)')
Rev_validator = bv.String(min_length=9, pattern=u'[0-9a-f]+')
Sha256HexHash_validator = bv.String(min_length=64, max_length=64)
SharedLinkUrl_validator = bv.String()
WritePath_validator = bv.String(pattern=u'(/(.|[\\r\\n])*)|(ns:[0-9]+(/.*)?)')
WritePathOrId_validator = bv.String(pattern=u'(/(.|[\\r\\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)')
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))
AlphaGetMetadataArg._all_field_names_ = GetMetadataArg._all_field_names_.union(set(['include_property_templates']))
AlphaGetMetadataArg._all_fields_ = GetMetadataArg._all_fields_ + [('include_property_templates', AlphaGetMetadataArg._include_property_templates_validator)]
GetMetadataError._path_validator = LookupError_validator
GetMetadataError._tagmap = {
'path': GetMetadataError._path_validator,
}
AlphaGetMetadataError._properties_error_validator = file_properties.LookUpPropertiesError_validator
AlphaGetMetadataError._tagmap = {
'properties_error': AlphaGetMetadataError._properties_error_validator,
}
AlphaGetMetadataError._tagmap.update(GetMetadataError._tagmap)
CommitInfo._path_validator = WritePathOrId_validator
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),
('mode', CommitInfo._mode_validator),
('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._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()
CreateFolderArg._all_field_names_ = set([
'path',
'autorename',
])
CreateFolderArg._all_fields_ = [
('path', CreateFolderArg._path_validator),
('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,
}
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._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'])
DeleteBatchArg._all_fields_ = [('entries', DeleteBatchArg._entries_validator)]
DeleteBatchError._too_many_write_operations_validator = bv.Void()
DeleteBatchError._other_validator = bv.Void()
DeleteBatchError._tagmap = {
'too_many_write_operations': DeleteBatchError._too_many_write_operations_validator,
'other': DeleteBatchError._other_validator,
}
DeleteBatchError.too_many_write_operations = DeleteBatchError('too_many_write_operations')
DeleteBatchError.other = DeleteBatchError('other')
DeleteBatchJobStatus._complete_validator = DeleteBatchResult_validator
DeleteBatchJobStatus._failed_validator = DeleteBatchError_validator
DeleteBatchJobStatus._other_validator = bv.Void()
DeleteBatchJobStatus._tagmap = {
'complete': DeleteBatchJobStatus._complete_validator,
'failed': DeleteBatchJobStatus._failed_validator,
'other': DeleteBatchJobStatus._other_validator,
}
DeleteBatchJobStatus._tagmap.update(async_.PollResultBase._tagmap)
DeleteBatchJobStatus.other = DeleteBatchJobStatus('other')
DeleteBatchLaunch._complete_validator = DeleteBatchResult_validator
DeleteBatchLaunch._other_validator = bv.Void()
DeleteBatchLaunch._tagmap = {
'complete': DeleteBatchLaunch._complete_validator,
'other': DeleteBatchLaunch._other_validator,
}
DeleteBatchLaunch._tagmap.update(async_.LaunchResultBase._tagmap)
DeleteBatchLaunch.other = DeleteBatchLaunch('other')
DeleteBatchResult._entries_validator = bv.List(DeleteBatchResultEntry_validator)
DeleteBatchResult._all_field_names_ = FileOpsResult._all_field_names_.union(set(['entries']))
DeleteBatchResult._all_fields_ = FileOpsResult._all_fields_ + [('entries', DeleteBatchResult._entries_validator)]
DeleteBatchResultData._metadata_validator = Metadata_validator
DeleteBatchResultData._all_field_names_ = set(['metadata'])
DeleteBatchResultData._all_fields_ = [('metadata', DeleteBatchResultData._metadata_validator)]
DeleteBatchResultEntry._success_validator = DeleteBatchResultData_validator
DeleteBatchResultEntry._failure_validator = DeleteError_validator
DeleteBatchResultEntry._tagmap = {
'success': DeleteBatchResultEntry._success_validator,
'failure': DeleteBatchResultEntry._failure_validator,
}
DeleteError._path_lookup_validator = LookupError_validator
DeleteError._path_write_validator = WriteError_validator
DeleteError._too_many_write_operations_validator = bv.Void()
DeleteError._too_many_files_validator = bv.Void()
DeleteError._other_validator = bv.Void()
DeleteError._tagmap = {
'path_lookup': DeleteError._path_lookup_validator,
'path_write': DeleteError._path_write_validator,
'too_many_write_operations': DeleteError._too_many_write_operations_validator,
'too_many_files': DeleteError._too_many_files_validator,
'other': DeleteError._other_validator,
}
DeleteError.too_many_write_operations = DeleteError('too_many_write_operations')
DeleteError.too_many_files = DeleteError('too_many_files')
DeleteError.other = DeleteError('other')
DeleteResult._metadata_validator = Metadata_validator
DeleteResult._all_field_names_ = FileOpsResult._all_field_names_.union(set(['metadata']))
DeleteResult._all_fields_ = FileOpsResult._all_fields_ + [('metadata', DeleteResult._metadata_validator)]
Metadata._name_validator = bv.String()
Metadata._path_lower_validator = bv.Nullable(bv.String())
Metadata._path_display_validator = bv.Nullable(bv.String())
Metadata._parent_shared_folder_id_validator = bv.Nullable(common.SharedFolderId_validator)
Metadata._field_names_ = set([
'name',
'path_lower',
'path_display',
'parent_shared_folder_id',
])
Metadata._all_field_names_ = Metadata._field_names_
Metadata._fields_ = [
('name', Metadata._name_validator),
('path_lower', Metadata._path_lower_validator),
('path_display', Metadata._path_display_validator),
('parent_shared_folder_id', Metadata._parent_shared_folder_id_validator),
]
Metadata._all_fields_ = Metadata._fields_
Metadata._tag_to_subtype_ = {
(u'file',): FileMetadata_validator,
(u'folder',): FolderMetadata_validator,
(u'deleted',): DeletedMetadata_validator,
}
Metadata._pytype_to_tag_and_subtype_ = {
FileMetadata: ((u'file',), FileMetadata_validator),
FolderMetadata: ((u'folder',), FolderMetadata_validator),
DeletedMetadata: ((u'deleted',), DeletedMetadata_validator),
}
Metadata._is_catch_all_ = False
DeletedMetadata._field_names_ = set([])
DeletedMetadata._all_field_names_ = Metadata._all_field_names_.union(DeletedMetadata._field_names_)
DeletedMetadata._fields_ = []
DeletedMetadata._all_fields_ = Metadata._all_fields_ + DeletedMetadata._fields_
Dimensions._height_validator = bv.UInt64()
Dimensions._width_validator = bv.UInt64()
Dimensions._all_field_names_ = set([
'height',
'width',
])
Dimensions._all_fields_ = [
('height', Dimensions._height_validator),
('width', Dimensions._width_validator),
]
DownloadArg._path_validator = ReadPath_validator
DownloadArg._rev_validator = bv.Nullable(Rev_validator)
DownloadArg._all_field_names_ = set([
'path',
'rev',
])
DownloadArg._all_fields_ = [
('path', DownloadArg._path_validator),
('rev', DownloadArg._rev_validator),
]
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)
FileMetadata._field_names_ = set([
'id',
'client_modified',
'server_modified',
'rev',
'size',
'media_info',
'symlink_info',
'sharing_info',
'is_downloadable',
'export_info',
'property_groups',
'has_explicit_shared_members',
'content_hash',
])
FileMetadata._all_field_names_ = Metadata._all_field_names_.union(FileMetadata._field_names_)
FileMetadata._fields_ = [
('id', FileMetadata._id_validator),
('client_modified', FileMetadata._client_modified_validator),
('server_modified', FileMetadata._server_modified_validator),
('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),
]
FileMetadata._all_fields_ = Metadata._all_fields_ + FileMetadata._fields_
SharingInfo._read_only_validator = bv.Boolean()
SharingInfo._all_field_names_ = set(['read_only'])
SharingInfo._all_fields_ = [('read_only', SharingInfo._read_only_validator)]
FileSharingInfo._parent_shared_folder_id_validator = common.SharedFolderId_validator
FileSharingInfo._modified_by_validator = bv.Nullable(users_common.AccountId_validator)
FileSharingInfo._all_field_names_ = SharingInfo._all_field_names_.union(set([
'parent_shared_folder_id',
'modified_by',
]))
FileSharingInfo._all_fields_ = SharingInfo._all_fields_ + [
('parent_shared_folder_id', FileSharingInfo._parent_shared_folder_id_validator),
('modified_by', FileSharingInfo._modified_by_validator),
]
FolderMetadata._id_validator = Id_validator
FolderMetadata._shared_folder_id_validator = bv.Nullable(common.SharedFolderId_validator)
FolderMetadata._sharing_info_validator = bv.Nullable(FolderSharingInfo_validator)
FolderMetadata._property_groups_validator = bv.Nullable(bv.List(file_properties.PropertyGroup_validator))
FolderMetadata._field_names_ = set([
'id',
'shared_folder_id',
'sharing_info',
'property_groups',
])
FolderMetadata._all_field_names_ = Metadata._all_field_names_.union(FolderMetadata._field_names_)
FolderMetadata._fields_ = [
('id', FolderMetadata._id_validator),
('shared_folder_id', FolderMetadata._shared_folder_id_validator),
('sharing_info', FolderMetadata._sharing_info_validator),
('property_groups', FolderMetadata._property_groups_validator),
]
FolderMetadata._all_fields_ = Metadata._all_fields_ + FolderMetadata._fields_
FolderSharingInfo._parent_shared_folder_id_validator = bv.Nullable(common.SharedFolderId_validator)
FolderSharingInfo._shared_folder_id_validator = bv.Nullable(common.SharedFolderId_validator)
FolderSharingInfo._traverse_only_validator = bv.Boolean()
FolderSharingInfo._no_access_validator = bv.Boolean()
FolderSharingInfo._all_field_names_ = SharingInfo._all_field_names_.union(set([
'parent_shared_folder_id',
'shared_folder_id',
'traverse_only',
'no_access',
]))
FolderSharingInfo._all_fields_ = SharingInfo._all_fields_ + [
('parent_shared_folder_id', FolderSharingInfo._parent_shared_folder_id_validator),
('shared_folder_id', FolderSharingInfo._shared_folder_id_validator),
('traverse_only', FolderSharingInfo._traverse_only_validator),
('no_access', FolderSharingInfo._no_access_validator),
]
GetCopyReferenceArg._path_validator = ReadPath_validator
GetCopyReferenceArg._all_field_names_ = set(['path'])
GetCopyReferenceArg._all_fields_ = [('path', GetCopyReferenceArg._path_validator)]
GetCopyReferenceError._path_validator = LookupError_validator
GetCopyReferenceError._other_validator = bv.Void()
GetCopyReferenceError._tagmap = {
'path': GetCopyReferenceError._path_validator,
'other': GetCopyReferenceError._other_validator,
}
GetCopyReferenceError.other = GetCopyReferenceError('other')
GetCopyReferenceResult._metadata_validator = Metadata_validator
GetCopyReferenceResult._copy_reference_validator = bv.String()
GetCopyReferenceResult._expires_validator = common.DropboxTimestamp_validator
GetCopyReferenceResult._all_field_names_ = set([
'metadata',
'copy_reference',
'expires',
])
GetCopyReferenceResult._all_fields_ = [
('metadata', GetCopyReferenceResult._metadata_validator),
('copy_reference', GetCopyReferenceResult._copy_reference_validator),
('expires', GetCopyReferenceResult._expires_validator),
]
GetTemporaryLinkArg._path_validator = ReadPath_validator
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
GetTemporaryLinkResult._link_validator = bv.String()
GetTemporaryLinkResult._all_field_names_ = set([
'metadata',
'link',
])
GetTemporaryLinkResult._all_fields_ = [
('metadata', GetTemporaryLinkResult._metadata_validator),
('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)]
GetThumbnailBatchError._too_many_files_validator = bv.Void()
GetThumbnailBatchError._other_validator = bv.Void()
GetThumbnailBatchError._tagmap = {
'too_many_files': GetThumbnailBatchError._too_many_files_validator,
'other': GetThumbnailBatchError._other_validator,
}
GetThumbnailBatchError.too_many_files = GetThumbnailBatchError('too_many_files')
GetThumbnailBatchError.other = GetThumbnailBatchError('other')
GetThumbnailBatchResult._entries_validator = bv.List(GetThumbnailBatchResultEntry_validator)
GetThumbnailBatchResult._all_field_names_ = set(['entries'])
GetThumbnailBatchResult._all_fields_ = [('entries', GetThumbnailBatchResult._entries_validator)]
GetThumbnailBatchResultData._metadata_validator = FileMetadata_validator
GetThumbnailBatchResultData._thumbnail_validator = bv.String()
GetThumbnailBatchResultData._all_field_names_ = set([
'metadata',
'thumbnail',
])
GetThumbnailBatchResultData._all_fields_ = [
('metadata', GetThumbnailBatchResultData._metadata_validator),
('thumbnail', GetThumbnailBatchResultData._thumbnail_validator),
]
GetThumbnailBatchResultEntry._success_validator = GetThumbnailBatchResultData_validator
GetThumbnailBatchResultEntry._failure_validator = ThumbnailError_validator
GetThumbnailBatchResultEntry._other_validator = bv.Void()
GetThumbnailBatchResultEntry._tagmap = {
'success': GetThumbnailBatchResultEntry._success_validator,
'failure': GetThumbnailBatchResultEntry._failure_validator,
'other': GetThumbnailBatchResultEntry._other_validator,
}
GetThumbnailBatchResultEntry.other = GetThumbnailBatchResultEntry('other')
GpsCoordinates._latitude_validator = bv.Float64()
GpsCoordinates._longitude_validator = bv.Float64()
GpsCoordinates._all_field_names_ = set([
'latitude',
'longitude',
])
GpsCoordinates._all_fields_ = [
('latitude', GpsCoordinates._latitude_validator),
('longitude', GpsCoordinates._longitude_validator),
]
ListFolderArg._path_validator = PathROrId_validator
ListFolderArg._recursive_validator = bv.Boolean()
ListFolderArg._include_media_info_validator = bv.Boolean()
ListFolderArg._include_deleted_validator = bv.Boolean()
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',
'include_media_info',
'include_deleted',
'include_has_explicit_shared_members',
'include_mounted_folders',
'limit',
'shared_link',
'include_property_groups',
'include_non_downloadable_files',
])
ListFolderArg._all_fields_ = [
('path', ListFolderArg._path_validator),
('recursive', ListFolderArg._recursive_validator),
('include_media_info', ListFolderArg._include_media_info_validator),
('include_deleted', ListFolderArg._include_deleted_validator),
('include_has_explicit_shared_members', ListFolderArg._include_has_explicit_shared_members_validator),
('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
ListFolderContinueArg._all_field_names_ = set(['cursor'])
ListFolderContinueArg._all_fields_ = [('cursor', ListFolderContinueArg._cursor_validator)]
ListFolderContinueError._path_validator = LookupError_validator
ListFolderContinueError._reset_validator = bv.Void()
ListFolderContinueError._other_validator = bv.Void()
ListFolderContinueError._tagmap = {
'path': ListFolderContinueError._path_validator,
'reset': ListFolderContinueError._reset_validator,
'other': ListFolderContinueError._other_validator,
}
ListFolderContinueError.reset = ListFolderContinueError('reset')
ListFolderContinueError.other = ListFolderContinueError('other')
ListFolderError._path_validator = LookupError_validator
ListFolderError._other_validator = bv.Void()
ListFolderError._tagmap = {
'path': ListFolderError._path_validator,
'other': ListFolderError._other_validator,
}
ListFolderError.other = ListFolderError('other')
ListFolderGetLatestCursorResult._cursor_validator = ListFolderCursor_validator
ListFolderGetLatestCursorResult._all_field_names_ = set(['cursor'])
ListFolderGetLatestCursorResult._all_fields_ = [('cursor', ListFolderGetLatestCursorResult._cursor_validator)]
ListFolderLongpollArg._cursor_validator = ListFolderCursor_validator
ListFolderLongpollArg._timeout_validator = bv.UInt64(min_value=30, max_value=480)
ListFolderLongpollArg._all_field_names_ = set([
'cursor',
'timeout',
])
ListFolderLongpollArg._all_fields_ = [
('cursor', ListFolderLongpollArg._cursor_validator),
('timeout', ListFolderLongpollArg._timeout_validator),
]
ListFolderLongpollError._reset_validator = bv.Void()
ListFolderLongpollError._other_validator = bv.Void()
ListFolderLongpollError._tagmap = {
'reset': ListFolderLongpollError._reset_validator,
'other': ListFolderLongpollError._other_validator,
}
ListFolderLongpollError.reset = ListFolderLongpollError('reset')
ListFolderLongpollError.other = ListFolderLongpollError('other')
ListFolderLongpollResult._changes_validator = bv.Boolean()
ListFolderLongpollResult._backoff_validator = bv.Nullable(bv.UInt64())
ListFolderLongpollResult._all_field_names_ = set([
'changes',
'backoff',
])
ListFolderLongpollResult._all_fields_ = [
('changes', ListFolderLongpollResult._changes_validator),
('backoff', ListFolderLongpollResult._backoff_validator),
]
ListFolderResult._entries_validator = bv.List(Metadata_validator)
ListFolderResult._cursor_validator = ListFolderCursor_validator
ListFolderResult._has_more_validator = bv.Boolean()
ListFolderResult._all_field_names_ = set([
'entries',
'cursor',
'has_more',
])
ListFolderResult._all_fields_ = [
('entries', ListFolderResult._entries_validator),
('cursor', ListFolderResult._cursor_validator),
('has_more', ListFolderResult._has_more_validator),
]
ListRevisionsArg._path_validator = PathOrId_validator
ListRevisionsArg._mode_validator = ListRevisionsMode_validator
ListRevisionsArg._limit_validator = bv.UInt64(min_value=1, max_value=100)
ListRevisionsArg._all_field_names_ = set([
'path',
'mode',
'limit',
])
ListRevisionsArg._all_fields_ = [
('path', ListRevisionsArg._path_validator),
('mode', ListRevisionsArg._mode_validator),
('limit', ListRevisionsArg._limit_validator),
]
ListRevisionsError._path_validator = LookupError_validator
ListRevisionsError._other_validator = bv.Void()
ListRevisionsError._tagmap = {
'path': ListRevisionsError._path_validator,
'other': ListRevisionsError._other_validator,
}
ListRevisionsError.other = ListRevisionsError('other')
ListRevisionsMode._path_validator = bv.Void()
ListRevisionsMode._id_validator = bv.Void()
ListRevisionsMode._other_validator = bv.Void()
ListRevisionsMode._tagmap = {
'path': ListRevisionsMode._path_validator,
'id': ListRevisionsMode._id_validator,
'other': ListRevisionsMode._other_validator,
}
ListRevisionsMode.path = ListRevisionsMode('path')
ListRevisionsMode.id = ListRevisionsMode('id')
ListRevisionsMode.other = ListRevisionsMode('other')
ListRevisionsResult._is_deleted_validator = bv.Boolean()
ListRevisionsResult._server_deleted_validator = bv.Nullable(common.DropboxTimestamp_validator)
ListRevisionsResult._entries_validator = bv.List(FileMetadata_validator)
ListRevisionsResult._all_field_names_ = set([
'is_deleted',
'server_deleted',
'entries',
])
ListRevisionsResult._all_fields_ = [
('is_deleted', ListRevisionsResult._is_deleted_validator),
('server_deleted', ListRevisionsResult._server_deleted_validator),
('entries', ListRevisionsResult._entries_validator),
]
LookupError._malformed_path_validator = MalformedPathError_validator
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,
'not_found': LookupError._not_found_validator,
'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,
}
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()
MediaInfo._metadata_validator = MediaMetadata_validator
MediaInfo._tagmap = {
'pending': MediaInfo._pending_validator,
'metadata': MediaInfo._metadata_validator,
}
MediaInfo.pending = MediaInfo('pending')
MediaMetadata._dimensions_validator = bv.Nullable(Dimensions_validator)
MediaMetadata._location_validator = bv.Nullable(GpsCoordinates_validator)
MediaMetadata._time_taken_validator = bv.Nullable(common.DropboxTimestamp_validator)
MediaMetadata._field_names_ = set([
'dimensions',
'location',
'time_taken',
])
MediaMetadata._all_field_names_ = MediaMetadata._field_names_
MediaMetadata._fields_ = [
('dimensions', MediaMetadata._dimensions_validator),
('location', MediaMetadata._location_validator),
('time_taken', MediaMetadata._time_taken_validator),
]
MediaMetadata._all_fields_ = MediaMetadata._fields_
MediaMetadata._tag_to_subtype_ = {
(u'photo',): PhotoMetadata_validator,
(u'video',): VideoMetadata_validator,
}
MediaMetadata._pytype_to_tag_and_subtype_ = {
PhotoMetadata: ((u'photo',), PhotoMetadata_validator),
VideoMetadata: ((u'video',), VideoMetadata_validator),
}
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_ = []
PhotoMetadata._all_fields_ = MediaMetadata._all_fields_ + PhotoMetadata._fields_
PreviewArg._path_validator = ReadPath_validator
PreviewArg._rev_validator = bv.Nullable(Rev_validator)
PreviewArg._all_field_names_ = set([
'path',
'rev',
])
PreviewArg._all_fields_ = [
('path', PreviewArg._path_validator),
('rev', PreviewArg._rev_validator),
]
PreviewError._path_validator = LookupError_validator
PreviewError._in_progress_validator = bv.Void()
PreviewError._unsupported_extension_validator = bv.Void()
PreviewError._unsupported_content_validator = bv.Void()
PreviewError._tagmap = {
'path': PreviewError._path_validator,
'in_progress': PreviewError._in_progress_validator,
'unsupported_extension': PreviewError._unsupported_extension_validator,
'unsupported_content': PreviewError._unsupported_content_validator,
}
PreviewError.in_progress = PreviewError('in_progress')
PreviewError.unsupported_extension = PreviewError('unsupported_extension')
PreviewError.unsupported_content = PreviewError('unsupported_content')
RelocationPath._from_path_validator = WritePathOrId_validator
RelocationPath._to_path_validator = WritePathOrId_validator
RelocationPath._all_field_names_ = set([
'from_path',
'to_path',
])
RelocationPath._all_fields_ = [
('from_path', RelocationPath._from_path_validator),
('to_path', RelocationPath._to_path_validator),
]
RelocationArg._allow_shared_folder_validator = bv.Boolean()
RelocationArg._autorename_validator = bv.Boolean()
RelocationArg._allow_ownership_transfer_validator = bv.Boolean()
RelocationArg._all_field_names_ = RelocationPath._all_field_names_.union(set([
'allow_shared_folder',
'autorename',
'allow_ownership_transfer',
]))
RelocationArg._all_fields_ = RelocationPath._all_fields_ + [
('allow_shared_folder', RelocationArg._allow_shared_folder_validator),
('autorename', RelocationArg._autorename_validator),
('allow_ownership_transfer', RelocationArg._allow_ownership_transfer_validator),
]
RelocationBatchArg._allow_shared_folder_validator = bv.Boolean()
RelocationBatchArg._allow_ownership_transfer_validator = bv.Boolean()
RelocationBatchArg._all_field_names_ = RelocationBatchArgBase._all_field_names_.union(set([
'allow_shared_folder',
'allow_ownership_transfer',
]))
RelocationBatchArg._all_fields_ = RelocationBatchArgBase._all_fields_ + [
('allow_shared_folder', RelocationBatchArg._allow_shared_folder_validator),
('allow_ownership_transfer', RelocationBatchArg._allow_ownership_transfer_validator),
]
RelocationError._from_lookup_validator = LookupError_validator
RelocationError._from_write_validator = WriteError_validator
RelocationError._to_validator = WriteError_validator
RelocationError._cant_copy_shared_folder_validator = bv.Void()
RelocationError._cant_nest_shared_folder_validator = bv.Void()
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,
'from_write': RelocationError._from_write_validator,
'to': RelocationError._to_validator,
'cant_copy_shared_folder': RelocationError._cant_copy_shared_folder_validator,
'cant_nest_shared_folder': RelocationError._cant_nest_shared_folder_validator,
'cant_move_folder_into_itself': RelocationError._cant_move_folder_into_itself_validator,
'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,
}
RelocationError.cant_copy_shared_folder = RelocationError('cant_copy_shared_folder')
RelocationError.cant_nest_shared_folder = RelocationError('cant_nest_shared_folder')
RelocationError.cant_move_folder_into_itself = RelocationError('cant_move_folder_into_itself')
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()
RelocationBatchError._tagmap = {
'too_many_write_operations': RelocationBatchError._too_many_write_operations_validator,
}
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)
RelocationBatchLaunch._complete_validator = RelocationBatchResult_validator
RelocationBatchLaunch._other_validator = bv.Void()
RelocationBatchLaunch._tagmap = {
'complete': RelocationBatchLaunch._complete_validator,
'other': RelocationBatchLaunch._other_validator,
}
RelocationBatchLaunch._tagmap.update(async_.LaunchResultBase._tagmap)
RelocationBatchLaunch.other = RelocationBatchLaunch('other')
RelocationBatchResult._entries_validator = bv.List(RelocationBatchResultData_validator)
RelocationBatchResult._all_field_names_ = FileOpsResult._all_field_names_.union(set(['entries']))
RelocationBatchResult._all_fields_ = FileOpsResult._all_fields_ + [('entries', RelocationBatchResult._entries_validator)]
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)]
RestoreArg._path_validator = WritePath_validator
RestoreArg._rev_validator = Rev_validator
RestoreArg._all_field_names_ = set([
'path',
'rev',
])
RestoreArg._all_fields_ = [
('path', RestoreArg._path_validator),
('rev', RestoreArg._rev_validator),
]
RestoreError._path_lookup_validator = LookupError_validator
RestoreError._path_write_validator = WriteError_validator
RestoreError._invalid_revision_validator = bv.Void()
RestoreError._other_validator = bv.Void()
RestoreError._tagmap = {
'path_lookup': RestoreError._path_lookup_validator,
'path_write': RestoreError._path_write_validator,
'invalid_revision': RestoreError._invalid_revision_validator,
'other': RestoreError._other_validator,
}
RestoreError.invalid_revision = RestoreError('invalid_revision')
RestoreError.other = RestoreError('other')
SaveCopyReferenceArg._copy_reference_validator = bv.String()
SaveCopyReferenceArg._path_validator = Path_validator
SaveCopyReferenceArg._all_field_names_ = set([
'copy_reference',
'path',
])
SaveCopyReferenceArg._all_fields_ = [
('copy_reference', SaveCopyReferenceArg._copy_reference_validator),
('path', SaveCopyReferenceArg._path_validator),
]
SaveCopyReferenceError._path_validator = WriteError_validator
SaveCopyReferenceError._invalid_copy_reference_validator = bv.Void()
SaveCopyReferenceError._no_permission_validator = bv.Void()
SaveCopyReferenceError._not_found_validator = bv.Void()
SaveCopyReferenceError._too_many_files_validator = bv.Void()
SaveCopyReferenceError._other_validator = bv.Void()
SaveCopyReferenceError._tagmap = {
'path': SaveCopyReferenceError._path_validator,
'invalid_copy_reference': SaveCopyReferenceError._invalid_copy_reference_validator,
'no_permission': SaveCopyReferenceError._no_permission_validator,
'not_found': SaveCopyReferenceError._not_found_validator,
'too_many_files': SaveCopyReferenceError._too_many_files_validator,
'other': SaveCopyReferenceError._other_validator,
}
SaveCopyReferenceError.invalid_copy_reference = SaveCopyReferenceError('invalid_copy_reference')
SaveCopyReferenceError.no_permission = SaveCopyReferenceError('no_permission')
SaveCopyReferenceError.not_found = SaveCopyReferenceError('not_found')
SaveCopyReferenceError.too_many_files = SaveCopyReferenceError('too_many_files')
SaveCopyReferenceError.other = SaveCopyReferenceError('other')
SaveCopyReferenceResult._metadata_validator = Metadata_validator
SaveCopyReferenceResult._all_field_names_ = set(['metadata'])
SaveCopyReferenceResult._all_fields_ = [('metadata', SaveCopyReferenceResult._metadata_validator)]
SaveUrlArg._path_validator = Path_validator
SaveUrlArg._url_validator = bv.String()
SaveUrlArg._all_field_names_ = set([
'path',
'url',
])
SaveUrlArg._all_fields_ = [
('path', SaveUrlArg._path_validator),
('url', SaveUrlArg._url_validator),
]
SaveUrlError._path_validator = WriteError_validator
SaveUrlError._download_failed_validator = bv.Void()
SaveUrlError._invalid_url_validator = bv.Void()
SaveUrlError._not_found_validator = bv.Void()
SaveUrlError._other_validator = bv.Void()
SaveUrlError._tagmap = {
'path': SaveUrlError._path_validator,
'download_failed': SaveUrlError._download_failed_validator,
'invalid_url': SaveUrlError._invalid_url_validator,
'not_found': SaveUrlError._not_found_validator,
'other': SaveUrlError._other_validator,
}
SaveUrlError.download_failed = SaveUrlError('download_failed')
SaveUrlError.invalid_url = SaveUrlError('invalid_url')
SaveUrlError.not_found = SaveUrlError('not_found')
SaveUrlError.other = SaveUrlError('other')
SaveUrlJobStatus._complete_validator = FileMetadata_validator
SaveUrlJobStatus._failed_validator = SaveUrlError_validator
SaveUrlJobStatus._tagmap = {
'complete': SaveUrlJobStatus._complete_validator,
'failed': SaveUrlJobStatus._failed_validator,
}
SaveUrlJobStatus._tagmap.update(async_.PollResultBase._tagmap)
SaveUrlResult._complete_validator = FileMetadata_validator
SaveUrlResult._tagmap = {
'complete': SaveUrlResult._complete_validator,
}
SaveUrlResult._tagmap.update(async_.LaunchResultBase._tagmap)
SearchArg._path_validator = PathROrId_validator
SearchArg._query_validator = bv.String()
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([
'path',
'query',
'start',
'max_results',
'mode',
])
SearchArg._all_fields_ = [
('path', SearchArg._path_validator),
('query', SearchArg._query_validator),
('start', SearchArg._start_validator),
('max_results', SearchArg._max_results_validator),
('mode', SearchArg._mode_validator),
]
SearchError._path_validator = LookupError_validator
SearchError._other_validator = bv.Void()
SearchError._tagmap = {
'path': SearchError._path_validator,
'other': SearchError._other_validator,
}
SearchError.other = SearchError('other')
SearchMatch._match_type_validator = SearchMatchType_validator
SearchMatch._metadata_validator = Metadata_validator
SearchMatch._all_field_names_ = set([
'match_type',
'metadata',
])
SearchMatch._all_fields_ = [
('match_type', SearchMatch._match_type_validator),
('metadata', SearchMatch._metadata_validator),
]
SearchMatchType._filename_validator = bv.Void()
SearchMatchType._content_validator = bv.Void()
SearchMatchType._both_validator = bv.Void()
SearchMatchType._tagmap = {
'filename': SearchMatchType._filename_validator,
'content': SearchMatchType._content_validator,
'both': SearchMatchType._both_validator,
}
SearchMatchType.filename = SearchMatchType('filename')
SearchMatchType.content = SearchMatchType('content')
SearchMatchType.both = SearchMatchType('both')
SearchMode._filename_validator = bv.Void()
SearchMode._filename_and_content_validator = bv.Void()
SearchMode._deleted_filename_validator = bv.Void()
SearchMode._tagmap = {
'filename': SearchMode._filename_validator,
'filename_and_content': SearchMode._filename_and_content_validator,
'deleted_filename': SearchMode._deleted_filename_validator,
}
SearchMode.filename = SearchMode('filename')
SearchMode.filename_and_content = SearchMode('filename_and_content')
SearchMode.deleted_filename = SearchMode('deleted_filename')
SearchResult._matches_validator = bv.List(SearchMatch_validator)
SearchResult._more_validator = bv.Boolean()
SearchResult._start_validator = bv.UInt64()
SearchResult._all_field_names_ = set([
'matches',
'more',
'start',
])
SearchResult._all_fields_ = [
('matches', SearchResult._matches_validator),
('more', SearchResult._more_validator),
('start', SearchResult._start_validator),
]
SharedLink._url_validator = SharedLinkUrl_validator
SharedLink._password_validator = bv.Nullable(bv.String())
SharedLink._all_field_names_ = set([
'url',
'password',
])
SharedLink._all_fields_ = [
('url', SharedLink._url_validator),
('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
ThumbnailError._unsupported_extension_validator = bv.Void()
ThumbnailError._unsupported_image_validator = bv.Void()
ThumbnailError._conversion_error_validator = bv.Void()
ThumbnailError._tagmap = {
'path': ThumbnailError._path_validator,
'unsupported_extension': ThumbnailError._unsupported_extension_validator,
'unsupported_image': ThumbnailError._unsupported_image_validator,
'conversion_error': ThumbnailError._conversion_error_validator,
}
ThumbnailError.unsupported_extension = ThumbnailError('unsupported_extension')
ThumbnailError.unsupported_image = ThumbnailError('unsupported_image')
ThumbnailError.conversion_error = ThumbnailError('conversion_error')
ThumbnailFormat._jpeg_validator = bv.Void()
ThumbnailFormat._png_validator = bv.Void()
ThumbnailFormat._tagmap = {
'jpeg': ThumbnailFormat._jpeg_validator,
'png': ThumbnailFormat._png_validator,
}
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._tagmap = {
}
UploadErrorWithProperties._tagmap.update(UploadError._tagmap)
UploadSessionAppendArg._cursor_validator = UploadSessionCursor_validator
UploadSessionAppendArg._close_validator = bv.Boolean()
UploadSessionAppendArg._all_field_names_ = set([
'cursor',
'close',
])
UploadSessionAppendArg._all_fields_ = [
('cursor', UploadSessionAppendArg._cursor_validator),
('close', UploadSessionAppendArg._close_validator),
]
UploadSessionCursor._session_id_validator = bv.String()
UploadSessionCursor._offset_validator = bv.UInt64()
UploadSessionCursor._all_field_names_ = set([
'session_id',
'offset',
])
UploadSessionCursor._all_fields_ = [
('session_id', UploadSessionCursor._session_id_validator),
('offset', UploadSessionCursor._offset_validator),
]
UploadSessionFinishArg._cursor_validator = UploadSessionCursor_validator
UploadSessionFinishArg._commit_validator = CommitInfo_validator
UploadSessionFinishArg._all_field_names_ = set([
'cursor',
'commit',
])
UploadSessionFinishArg._all_fields_ = [
('cursor', UploadSessionFinishArg._cursor_validator),
('commit', UploadSessionFinishArg._commit_validator),
]
UploadSessionFinishBatchArg._entries_validator = bv.List(UploadSessionFinishArg_validator, max_items=1000)
UploadSessionFinishBatchArg._all_field_names_ = set(['entries'])
UploadSessionFinishBatchArg._all_fields_ = [('entries', UploadSessionFinishBatchArg._entries_validator)]
UploadSessionFinishBatchJobStatus._complete_validator = UploadSessionFinishBatchResult_validator
UploadSessionFinishBatchJobStatus._tagmap = {
'complete': UploadSessionFinishBatchJobStatus._complete_validator,
}
UploadSessionFinishBatchJobStatus._tagmap.update(async_.PollResultBase._tagmap)
UploadSessionFinishBatchLaunch._complete_validator = UploadSessionFinishBatchResult_validator
UploadSessionFinishBatchLaunch._other_validator = bv.Void()
UploadSessionFinishBatchLaunch._tagmap = {
'complete': UploadSessionFinishBatchLaunch._complete_validator,
'other': UploadSessionFinishBatchLaunch._other_validator,
}
UploadSessionFinishBatchLaunch._tagmap.update(async_.LaunchResultBase._tagmap)
UploadSessionFinishBatchLaunch.other = UploadSessionFinishBatchLaunch('other')
UploadSessionFinishBatchResult._entries_validator = bv.List(UploadSessionFinishBatchResultEntry_validator)
UploadSessionFinishBatchResult._all_field_names_ = set(['entries'])
UploadSessionFinishBatchResult._all_fields_ = [('entries', UploadSessionFinishBatchResult._entries_validator)]
UploadSessionFinishBatchResultEntry._success_validator = FileMetadata_validator
UploadSessionFinishBatchResultEntry._failure_validator = UploadSessionFinishError_validator
UploadSessionFinishBatchResultEntry._tagmap = {
'success': UploadSessionFinishBatchResultEntry._success_validator,
'failure': UploadSessionFinishBatchResultEntry._failure_validator,
}
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,
}
UploadSessionFinishError.too_many_shared_folder_targets = UploadSessionFinishError('too_many_shared_folder_targets')
UploadSessionFinishError.too_many_write_operations = UploadSessionFinishError('too_many_write_operations')
UploadSessionFinishError.other = UploadSessionFinishError('other')
UploadSessionLookupError._not_found_validator = bv.Void()
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()
UploadSessionOffsetError._all_field_names_ = set(['correct_offset'])
UploadSessionOffsetError._all_fields_ = [('correct_offset', UploadSessionOffsetError._correct_offset_validator)]
UploadSessionStartArg._close_validator = bv.Boolean()
UploadSessionStartArg._all_field_names_ = set(['close'])
UploadSessionStartArg._all_fields_ = [('close', UploadSessionStartArg._close_validator)]
UploadSessionStartResult._session_id_validator = bv.String()
UploadSessionStartResult._all_field_names_ = set(['session_id'])
UploadSessionStartResult._all_fields_ = [('session_id', UploadSessionStartResult._session_id_validator)]
UploadWriteFailed._reason_validator = WriteError_validator
UploadWriteFailed._upload_session_id_validator = bv.String()
UploadWriteFailed._all_field_names_ = set([
'reason',
'upload_session_id',
])
UploadWriteFailed._all_fields_ = [
('reason', UploadWriteFailed._reason_validator),
('upload_session_id', UploadWriteFailed._upload_session_id_validator),
]
VideoMetadata._duration_validator = bv.Nullable(bv.UInt64())
VideoMetadata._field_names_ = set(['duration'])
VideoMetadata._all_field_names_ = MediaMetadata._all_field_names_.union(VideoMetadata._field_names_)
VideoMetadata._fields_ = [('duration', VideoMetadata._duration_validator)]
VideoMetadata._all_fields_ = MediaMetadata._all_fields_ + VideoMetadata._fields_
WriteConflictError._file_validator = bv.Void()
WriteConflictError._folder_validator = bv.Void()
WriteConflictError._file_ancestor_validator = bv.Void()
WriteConflictError._other_validator = bv.Void()
WriteConflictError._tagmap = {
'file': WriteConflictError._file_validator,
'folder': WriteConflictError._folder_validator,
'file_ancestor': WriteConflictError._file_ancestor_validator,
'other': WriteConflictError._other_validator,
}
WriteConflictError.file = WriteConflictError('file')
WriteConflictError.folder = WriteConflictError('folder')
WriteConflictError.file_ancestor = WriteConflictError('file_ancestor')
WriteConflictError.other = WriteConflictError('other')
WriteError._malformed_path_validator = MalformedPathError_validator
WriteError._conflict_validator = WriteConflictError_validator
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,
'conflict': WriteError._conflict_validator,
'no_write_permission': WriteError._no_write_permission_validator,
'insufficient_space': WriteError._insufficient_space_validator,
'disallowed_name': WriteError._disallowed_name_validator,
'team_folder': WriteError._team_folder_validator,
'too_many_write_operations': WriteError._too_many_write_operations_validator,
'other': WriteError._other_validator,
}
WriteError.no_write_permission = WriteError('no_write_permission')
WriteError.insufficient_space = WriteError('insufficient_space')
WriteError.disallowed_name = WriteError('disallowed_name')
WriteError.team_folder = WriteError('team_folder')
WriteError.too_many_write_operations = WriteError('too_many_write_operations')
WriteError.other = WriteError('other')
WriteMode._add_validator = bv.Void()
WriteMode._overwrite_validator = bv.Void()
WriteMode._update_validator = Rev_validator
WriteMode._tagmap = {
'add': WriteMode._add_validator,
'overwrite': WriteMode._overwrite_validator,
'update': WriteMode._update_validator,
}
WriteMode.add = WriteMode('add')
WriteMode.overwrite = WriteMode('overwrite')
alpha_get_metadata = bb.Route(
'alpha/get_metadata',
1,
True,
AlphaGetMetadataArg_validator,
Metadata_validator,
AlphaGetMetadataError_validator,
{'host': u'api',
'style': u'rpc'},
)
alpha_upload = bb.Route(
'alpha/upload',
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,
RelocationError_validator,
{'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',
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',
1,
True,
async_.PollArg_validator,
RelocationBatchJobStatus_validator,
async_.PollError_validator,
{'host': u'api',
'style': u'rpc'},
)
copy_reference_get = bb.Route(
'copy_reference/get',
1,
False,
GetCopyReferenceArg_validator,
GetCopyReferenceResult_validator,
GetCopyReferenceError_validator,
{'host': u'api',
'style': u'rpc'},
)
copy_reference_save = bb.Route(
'copy_reference/save',
1,
False,
SaveCopyReferenceArg_validator,
SaveCopyReferenceResult_validator,
SaveCopyReferenceError_validator,
{'host': u'api',
'style': u'rpc'},
)
create_folder_v2 = bb.Route(
'create_folder',
2,
False,
CreateFolderArg_validator,
CreateFolderResult_validator,
CreateFolderError_validator,
{'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,
DeleteError_validator,
{'host': u'api',
'style': u'rpc'},
)
delete_batch = bb.Route(
'delete_batch',
1,
False,
DeleteBatchArg_validator,
DeleteBatchLaunch_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
delete_batch_check = bb.Route(
'delete_batch/check',
1,
False,
async_.PollArg_validator,
DeleteBatchJobStatus_validator,
async_.PollError_validator,
{'host': u'api',
'style': u'rpc'},
)
download = bb.Route(
'download',
1,
False,
DownloadArg_validator,
FileMetadata_validator,
DownloadError_validator,
{'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,
GetMetadataError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_preview = bb.Route(
'get_preview',
1,
False,
PreviewArg_validator,
FileMetadata_validator,
PreviewError_validator,
{'host': u'content',
'style': u'download'},
)
get_temporary_link = bb.Route(
'get_temporary_link',
1,
False,
GetTemporaryLinkArg_validator,
GetTemporaryLinkResult_validator,
GetTemporaryLinkError_validator,
{'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,
ThumbnailError_validator,
{'host': u'content',
'style': u'download'},
)
get_thumbnail_batch = bb.Route(
'get_thumbnail_batch',
1,
False,
GetThumbnailBatchArg_validator,
GetThumbnailBatchResult_validator,
GetThumbnailBatchError_validator,
{'host': u'content',
'style': u'rpc'},
)
list_folder = bb.Route(
'list_folder',
1,
False,
ListFolderArg_validator,
ListFolderResult_validator,
ListFolderError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_folder_continue = bb.Route(
'list_folder/continue',
1,
False,
ListFolderContinueArg_validator,
ListFolderResult_validator,
ListFolderContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_folder_get_latest_cursor = bb.Route(
'list_folder/get_latest_cursor',
1,
False,
ListFolderArg_validator,
ListFolderGetLatestCursorResult_validator,
ListFolderError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_folder_longpoll = bb.Route(
'list_folder/longpoll',
1,
False,
ListFolderLongpollArg_validator,
ListFolderLongpollResult_validator,
ListFolderLongpollError_validator,
{'host': u'notify',
'style': u'rpc'},
)
list_revisions = bb.Route(
'list_revisions',
1,
False,
ListRevisionsArg_validator,
ListRevisionsResult_validator,
ListRevisionsError_validator,
{'host': u'api',
'style': u'rpc'},
)
move_v2 = bb.Route(
'move',
2,
False,
RelocationArg_validator,
RelocationResult_validator,
RelocationError_validator,
{'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(),
DeleteError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_add = bb.Route(
'properties/add',
1,
True,
file_properties.AddPropertiesArg_validator,
bv.Void(),
file_properties.AddPropertiesError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_overwrite = bb.Route(
'properties/overwrite',
1,
True,
file_properties.OverwritePropertyGroupArg_validator,
bv.Void(),
file_properties.InvalidPropertyGroupError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_remove = bb.Route(
'properties/remove',
1,
True,
file_properties.RemovePropertiesArg_validator,
bv.Void(),
file_properties.RemovePropertiesError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_template_get = bb.Route(
'properties/template/get',
1,
True,
file_properties.GetTemplateArg_validator,
file_properties.GetTemplateResult_validator,
file_properties.TemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_template_list = bb.Route(
'properties/template/list',
1,
True,
bv.Void(),
file_properties.ListTemplateResult_validator,
file_properties.TemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_update = bb.Route(
'properties/update',
1,
True,
file_properties.UpdatePropertiesArg_validator,
bv.Void(),
file_properties.UpdatePropertiesError_validator,
{'host': u'api',
'style': u'rpc'},
)
restore = bb.Route(
'restore',
1,
False,
RestoreArg_validator,
FileMetadata_validator,
RestoreError_validator,
{'host': u'api',
'style': u'rpc'},
)
save_url = bb.Route(
'save_url',
1,
False,
SaveUrlArg_validator,
SaveUrlResult_validator,
SaveUrlError_validator,
{'host': u'api',
'style': u'rpc'},
)
save_url_check_job_status = bb.Route(
'save_url/check_job_status',
1,
False,
async_.PollArg_validator,
SaveUrlJobStatus_validator,
async_.PollError_validator,
{'host': u'api',
'style': u'rpc'},
)
search = bb.Route(
'search',
1,
False,
SearchArg_validator,
SearchResult_validator,
SearchError_validator,
{'host': u'api',
'style': u'rpc'},
)
upload = bb.Route(
'upload',
1,
False,
CommitInfo_validator,
FileMetadata_validator,
UploadError_validator,
{'host': u'content',
'style': u'upload'},
)
upload_session_append_v2 = bb.Route(
'upload_session/append',
2,
False,
UploadSessionAppendArg_validator,
bv.Void(),
UploadSessionLookupError_validator,
{'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,
UploadSessionFinishError_validator,
{'host': u'content',
'style': u'upload'},
)
upload_session_finish_batch = bb.Route(
'upload_session/finish_batch',
1,
False,
UploadSessionFinishBatchArg_validator,
UploadSessionFinishBatchLaunch_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
upload_session_finish_batch_check = bb.Route(
'upload_session/finish_batch/check',
1,
False,
async_.PollArg_validator,
UploadSessionFinishBatchJobStatus_validator,
async_.PollError_validator,
{'host': u'api',
'style': u'rpc'},
)
upload_session_start = bb.Route(
'upload_session/start',
1,
False,
UploadSessionStartArg_validator,
UploadSessionStartResult_validator,
bv.Void(),
{'host': u'content',
'style': u'upload'},
)
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,
'create_folder:2': create_folder_v2,
'create_folder': create_folder,
'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,
'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,
'list_folder/continue': list_folder_continue,
'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,
'permanently_delete': permanently_delete,
'properties/add': properties_add,
'properties/overwrite': properties_overwrite,
'properties/remove': properties_remove,
'properties/template/get': properties_template_get,
'properties/template/list': properties_template_list,
'properties/update': properties_update,
'restore': restore,
'save_url': save_url,
'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/finish': upload_session_finish,
'upload_session/finish_batch': upload_session_finish_batch,
'upload_session/finish_batch/check': upload_session_finish_batch_check,
'upload_session/start': upload_session_start,
}
dropbox-sdk-python-9.4.0/dropbox/oauth.py 0000664 0000000 0000000 00000043540 13500550210 0020443 0 ustar 00root root 0000000 0000000 __all__ = [
'BadRequestException',
'BadStateException',
'CsrfException',
'DropboxOAuth2Flow',
'DropboxOAuth2FlowNoRedirect',
'NotApprovedException',
'OAuth2FlowNoRedirectResult',
'OAuth2FlowResult',
'ProviderException',
]
import base64
import os
import six
import urllib
from .session import (
API_HOST,
WEB_HOST,
pinned_session,
)
if six.PY3:
url_path_quote = urllib.parse.quote # pylint: disable=no-member,useless-suppression
url_encode = urllib.parse.urlencode # pylint: disable=no-member,useless-suppression
else:
url_path_quote = urllib.quote # pylint: disable=no-member,useless-suppression
url_encode = urllib.urlencode # pylint: disable=no-member,useless-suppression
class OAuth2FlowNoRedirectResult(object):
"""
Authorization information for an OAuth2Flow performed with no redirect.
"""
def __init__(self, access_token, account_id, user_id):
"""
Args:
access_token (str): Token to be used to authenticate later
requests.
account_id (str): The Dropbox user's account ID.
user_id (str): Deprecated (use account_id instead).
"""
self.access_token = access_token
self.account_id = account_id
self.user_id = user_id
def __repr__(self):
return 'OAuth2FlowNoRedirectResult(%r, %r, %r)' % (
self.access_token,
self.account_id,
self.user_id,
)
class OAuth2FlowResult(OAuth2FlowNoRedirectResult):
"""
Authorization information for an OAuth2Flow with redirect.
"""
def __init__(self, access_token, account_id, user_id, url_state):
"""
Same as OAuth2FlowNoRedirectResult but with url_state.
Args:
url_state (str): The url state that was set by
:meth:`DropboxOAuth2Flow.start`.
"""
super(OAuth2FlowResult, self).__init__(
access_token, account_id, user_id)
self.url_state = url_state
@classmethod
def from_no_redirect_result(cls, result, url_state):
assert isinstance(result, OAuth2FlowNoRedirectResult)
return cls(
result.access_token, result.account_id, result.user_id, url_state)
def __repr__(self):
return 'OAuth2FlowResult(%r, %r, %r, %r)' % (
self.access_token,
self.account_id,
self.user_id,
self.url_state,
)
class DropboxOAuth2FlowBase(object):
def __init__(self, consumer_key, consumer_secret, locale=None):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret
self.locale = locale
self.requests_session = pinned_session()
def _get_authorize_url(self, redirect_uri, state):
params = dict(response_type='code',
client_id=self.consumer_key)
if redirect_uri is not None:
params['redirect_uri'] = redirect_uri
if state is not None:
params['state'] = state
return self.build_url('/oauth2/authorize', params, WEB_HOST)
def _finish(self, code, redirect_uri):
url = self.build_url('/oauth2/token')
params = {'grant_type': 'authorization_code',
'code': code,
'client_id': self.consumer_key,
'client_secret': self.consumer_secret,
}
if self.locale is not None:
params['locale'] = self.locale
if redirect_uri is not None:
params['redirect_uri'] = redirect_uri
resp = self.requests_session.post(url, data=params)
resp.raise_for_status()
d = resp.json()
if 'team_id' in d:
account_id = d['team_id']
else:
account_id = d['account_id']
access_token = d['access_token']
uid = d['uid']
return OAuth2FlowNoRedirectResult(
access_token,
account_id,
uid)
def build_path(self, target, params=None):
"""Build the path component for an API URL.
This method urlencodes the parameters, adds them
to the end of the target url, and puts a marker for the API
version in front.
:param str target: A target url (e.g. '/files') to build upon.
:param dict params: Optional dictionary of parameters (name to value).
:return: The path and parameters components of an API URL.
:rtype: str
"""
if six.PY2 and isinstance(target, six.text_type):
target = target.encode('utf8')
target_path = url_path_quote(target)
params = params or {}
params = params.copy()
if self.locale:
params['locale'] = self.locale
if params:
query_string = _params_to_urlencoded(params)
return "%s?%s" % (target_path, query_string)
else:
return target_path
def build_url(self, target, params=None, host=API_HOST):
"""Build an API URL.
This method adds scheme and hostname to the path
returned from build_path.
:param str target: A target url (e.g. '/files') to build upon.
:param dict params: Optional dictionary of parameters (name to value).
:return: The full API URL.
:rtype: str
"""
return "https://%s%s" % (host, self.build_path(target, params))
class DropboxOAuth2FlowNoRedirect(DropboxOAuth2FlowBase):
"""
OAuth 2 authorization helper for apps that can't provide a redirect URI
(such as the command-line example apps).
Example::
from dropbox import DropboxOAuth2FlowNoRedirect
auth_flow = DropboxOAuth2FlowNoRedirect(APP_KEY, APP_SECRET)
authorize_url = auth_flow.start()
print "1. Go to: " + authorize_url
print "2. Click \\"Allow\\" (you might have to log in first)."
print "3. Copy the authorization code."
auth_code = raw_input("Enter the authorization code here: ").strip()
try:
oauth_result = auth_flow.finish(auth_code)
except Exception, e:
print('Error: %s' % (e,))
return
dbx = Dropbox(oauth_result.access_token)
"""
def __init__(self, consumer_key, consumer_secret, locale=None): # noqa: E501; pylint: disable=useless-super-delegation
"""
Construct an instance.
Parameters
:param str consumer_key: Your API app's "app key".
:param str consumer_secret: Your API app's "app secret".
:param str locale: The locale of the user of your application. For
example "en" or "en_US". Some API calls return localized data and
error messages; this setting tells the server which locale to use.
By default, the server uses "en_US".
"""
# pylint: disable=useless-super-delegation
super(DropboxOAuth2FlowNoRedirect, self).__init__(
consumer_key,
consumer_secret,
locale,
)
def start(self):
"""
Starts the OAuth 2 authorization process.
:return: The URL for a page on Dropbox's website. This page will let
the user "approve" your app, which gives your app permission to
access the user's Dropbox account. Tell the user to visit this URL
and approve your app.
"""
return self._get_authorize_url(None, None)
def finish(self, code):
"""
If the user approves your app, they will be presented with an
"authorization code". Have the user copy/paste that authorization code
into your app and then call this method to get an access token.
:param str code: The authorization code shown to the user when they
approved your app.
:rtype: OAuth2FlowNoRedirectResult
:raises: The same exceptions as :meth:`DropboxOAuth2Flow.finish()`.
"""
return self._finish(code, None)
class DropboxOAuth2Flow(DropboxOAuth2FlowBase):
"""
OAuth 2 authorization helper. Use this for web apps.
OAuth 2 has a two-step authorization process. The first step is having the
user authorize your app. The second involves getting an OAuth 2 access
token from Dropbox.
Example::
from dropbox import DropboxOAuth2Flow
def get_dropbox_auth_flow(web_app_session):
redirect_uri = "https://my-web-server.org/dropbox-auth-finish"
return DropboxOAuth2Flow(
APP_KEY, APP_SECRET, redirect_uri, web_app_session,
"dropbox-auth-csrf-token")
# URL handler for /dropbox-auth-start
def dropbox_auth_start(web_app_session, request):
authorize_url = get_dropbox_auth_flow(web_app_session).start()
redirect_to(authorize_url)
# URL handler for /dropbox-auth-finish
def dropbox_auth_finish(web_app_session, request):
try:
oauth_result = \\
get_dropbox_auth_flow(web_app_session).finish(
request.query_params)
except BadRequestException, e:
http_status(400)
except BadStateException, e:
# Start the auth flow again.
redirect_to("/dropbox-auth-start")
except CsrfException, e:
http_status(403)
except NotApprovedException, e:
flash('Not approved? Why not?')
return redirect_to("/home")
except ProviderException, e:
logger.log("Auth error: %s" % (e,))
http_status(403)
"""
def __init__(self, consumer_key, consumer_secret, redirect_uri, session,
csrf_token_session_key, locale=None):
"""
Construct an instance.
:param str consumer_key: Your API app's "app key".
:param str consumer_secret: Your API app's "app secret".
:param str redirect_uri: The URI that the Dropbox server will redirect
the user to after the user finishes authorizing your app. This URI
must be HTTPS-based and pre-registered with the Dropbox servers,
though localhost URIs are allowed without pre-registration and can
be either HTTP or HTTPS.
:param dict session: A dict-like object that represents the current
user's web session (will be used to save the CSRF token).
:param str csrf_token_session_key: The key to use when storing the CSRF
token in the session (for example: "dropbox-auth-csrf-token").
:param str locale: The locale of the user of your application. For
example "en" or "en_US". Some API calls return localized data and
error messages; this setting tells the server which locale to use.
By default, the server uses "en_US".
"""
super(DropboxOAuth2Flow, self).__init__(consumer_key, consumer_secret, locale)
self.redirect_uri = redirect_uri
self.session = session
self.csrf_token_session_key = csrf_token_session_key
def start(self, url_state=None):
"""
Starts the OAuth 2 authorization process.
This function builds an "authorization URL". You should redirect your
user's browser to this URL, which will give them an opportunity to
grant your app access to their Dropbox account. When the user
completes this process, they will be automatically redirected to the
``redirect_uri`` you passed in to the constructor.
This function will also save a CSRF token to
``session[csrf_token_session_key]`` (as provided to the constructor).
This CSRF token will be checked on :meth:`finish()` to prevent request
forgery.
:param str url_state: Any data that you would like to keep in the URL
through the authorization process. This exact value will be
returned to you by :meth:`finish()`.
:return: The URL for a page on Dropbox's website. This page will let
the user "approve" your app, which gives your app permission to
access the user's Dropbox account. Tell the user to visit this URL
and approve your app.
"""
csrf_token = base64.urlsafe_b64encode(os.urandom(16)).decode('ascii')
state = csrf_token
if url_state is not None:
state += "|" + url_state
self.session[self.csrf_token_session_key] = csrf_token
return self._get_authorize_url(self.redirect_uri, state)
def finish(self, query_params):
"""
Call this after the user has visited the authorize URL (see
:meth:`start()`), approved your app and was redirected to your redirect
URI.
:param dict query_params: The query parameters on the GET request to
your redirect URI.
:rtype: OAuth2FlowResult
:raises: :class:`BadRequestException` If the redirect URL was missing
parameters or if the given parameters were not valid.
:raises: :class:`BadStateException` If there's no CSRF token in the
session.
:raises: :class:`CsrfException` If the ``state`` query parameter
doesn't contain the CSRF token from the user's session.
:raises: :class:`NotApprovedException` If the user chose not to
approve your app.
:raises: :class:`ProviderException` If Dropbox redirected to your
redirect URI with some unexpected error identifier and error message.
"""
# Check well-formedness of request.
state = query_params.get('state')
if state is None:
raise BadRequestException("Missing query parameter 'state'.")
error = query_params.get('error')
error_description = query_params.get('error_description')
code = query_params.get('code')
if error is not None and code is not None:
raise BadRequestException(
"Query parameters 'code' and 'error' are both set; "
"only one must be set.")
if error is None and code is None:
raise BadRequestException(
"Neither query parameter 'code' or 'error' is set.")
# Check CSRF token
if self.csrf_token_session_key not in self.session:
raise BadStateException('Missing CSRF token in session.')
csrf_token_from_session = self.session[self.csrf_token_session_key]
if len(csrf_token_from_session) <= 20:
raise AssertionError('CSRF token unexpectedly short: %r' %
csrf_token_from_session)
split_pos = state.find('|')
if split_pos < 0:
given_csrf_token = state
url_state = None
else:
given_csrf_token = state[0:split_pos]
url_state = state[split_pos + 1:]
if not _safe_equals(csrf_token_from_session, given_csrf_token):
raise CsrfException('expected %r, got %r' %
(csrf_token_from_session, given_csrf_token))
del self.session[self.csrf_token_session_key]
# Check for error identifier
if error is not None:
if error == 'access_denied':
# The user clicked "Deny"
if error_description is None:
raise NotApprovedException(
'No additional description from Dropbox')
else:
raise NotApprovedException(
'Additional description from Dropbox: %s' %
error_description)
else:
# All other errors
full_message = error
if error_description is not None:
full_message += ": " + error_description
raise ProviderException(full_message)
# If everything went ok, make the network call to get an access token.
no_redirect_result = self._finish(code, self.redirect_uri)
return OAuth2FlowResult.from_no_redirect_result(
no_redirect_result, url_state)
class BadRequestException(Exception):
"""
Thrown if the redirect URL was missing parameters or if the
given parameters were not valid.
The recommended action is to show an HTTP 400 error page.
"""
pass
class BadStateException(Exception):
"""
Thrown if all the parameters are correct, but there's no CSRF token in the
session. This probably means that the session expired.
The recommended action is to redirect the user's browser to try the
approval process again.
"""
pass
class CsrfException(Exception):
"""
Thrown if the given 'state' parameter doesn't contain the CSRF token from
the user's session. This is blocked to prevent CSRF attacks.
The recommended action is to respond with an HTTP 403 error page.
"""
pass
class NotApprovedException(Exception):
"""
The user chose not to approve your app.
"""
pass
class ProviderException(Exception):
"""
Dropbox redirected to your redirect URI with some unexpected error
identifier and error message.
The recommended action is to log the error, tell the user something went
wrong, and let them try again.
"""
pass
def _safe_equals(a, b):
if len(a) != len(b):
return False
res = 0
for ca, cb in zip(a, b):
res |= ord(ca) ^ ord(cb)
return res == 0
def _params_to_urlencoded(params):
"""
Returns a application/x-www-form-urlencoded ``str`` representing the
key/value pairs in ``params``.
Keys are values are ``str()``'d before calling ``urllib.urlencode``, with
the exception of unicode objects which are utf8-encoded.
"""
def encode(o):
if isinstance(o, six.binary_type):
return o
else:
if isinstance(o, six.text_type):
return o.encode('utf-8')
else:
return str(o).encode('utf-8')
utf8_params = {encode(k): encode(v) for k, v in six.iteritems(params)}
return url_encode(utf8_params)
dropbox-sdk-python-9.4.0/dropbox/paper.py 0000664 0000000 0000000 00000443502 13500550210 0020434 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
"""
This namespace contains endpoints and data types for managing docs and folders in Dropbox Paper.
"""
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,
sharing,
)
except (ImportError, SystemError, ValueError):
import common
import sharing
class AddMember(bb.Struct):
"""
: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__ = [
'_permission_level_value',
'_permission_level_present',
'_member_value',
'_member_present',
]
_has_required_fields = True
def __init__(self,
member=None,
permission_level=None):
self._permission_level_value = None
self._permission_level_present = False
self._member_value = None
self._member_present = False
if permission_level is not None:
self.permission_level = permission_level
if member is not None:
self.member = member
@property
def permission_level(self):
"""
Permission for the user.
:rtype: PaperDocPermissionLevel
"""
if self._permission_level_present:
return self._permission_level_value
else:
return PaperDocPermissionLevel.edit
@permission_level.setter
def permission_level(self, val):
self._permission_level_validator.validate_type_only(val)
self._permission_level_value = val
self._permission_level_present = True
@permission_level.deleter
def permission_level(self):
self._permission_level_value = None
self._permission_level_present = False
@property
def member(self):
"""
User which should be added to the Paper doc. Specify only email address
or Dropbox account ID.
:rtype: sharing.MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
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,
self._permission_level_value,
)
AddMember_validator = bv.Struct(AddMember)
class RefPaperDoc(bb.Struct):
"""
:ivar paper.RefPaperDoc.doc_id: The Paper doc ID.
"""
__slots__ = [
'_doc_id_value',
'_doc_id_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None):
self._doc_id_value = None
self._doc_id_present = False
if doc_id is not None:
self.doc_id = doc_id
@property
def doc_id(self):
"""
The Paper doc ID.
:rtype: str
"""
if self._doc_id_present:
return self._doc_id_value
else:
raise AttributeError("missing required field 'doc_id'")
@doc_id.setter
def doc_id(self, val):
val = self._doc_id_validator.validate(val)
self._doc_id_value = val
self._doc_id_present = True
@doc_id.deleter
def doc_id(self):
self._doc_id_value = None
self._doc_id_present = False
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,
)
RefPaperDoc_validator = bv.Struct(RefPaperDoc)
class AddPaperDocUser(RefPaperDoc):
"""
: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__ = [
'_members_value',
'_members_present',
'_custom_message_value',
'_custom_message_present',
'_quiet_value',
'_quiet_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
members=None,
custom_message=None,
quiet=None):
super(AddPaperDocUser, self).__init__(doc_id)
self._members_value = None
self._members_present = False
self._custom_message_value = None
self._custom_message_present = False
self._quiet_value = None
self._quiet_present = False
if members is not None:
self.members = members
if custom_message is not None:
self.custom_message = custom_message
if quiet is not None:
self.quiet = quiet
@property
def members(self):
"""
User which should be added to the Paper doc. Specify only email address
or Dropbox account ID.
:rtype: list of [AddMember]
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
self._members_value = None
self._members_present = False
@property
def custom_message(self):
"""
A personal message that will be emailed to each successfully added
member.
:rtype: str
"""
if self._custom_message_present:
return self._custom_message_value
else:
return None
@custom_message.setter
def custom_message(self, val):
if val is None:
del self.custom_message
return
val = self._custom_message_validator.validate(val)
self._custom_message_value = val
self._custom_message_present = True
@custom_message.deleter
def custom_message(self):
self._custom_message_value = None
self._custom_message_present = False
@property
def quiet(self):
"""
Clients should set this to true if no email message shall be sent to
added users.
:rtype: bool
"""
if self._quiet_present:
return self._quiet_value
else:
return False
@quiet.setter
def quiet(self, val):
val = self._quiet_validator.validate(val)
self._quiet_value = val
self._quiet_present = True
@quiet.deleter
def quiet(self):
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,
self._members_value,
self._custom_message_value,
self._quiet_value,
)
AddPaperDocUser_validator = bv.Struct(AddPaperDocUser)
class AddPaperDocUserMemberResult(bb.Struct):
"""
Per-member result for :meth:`dropbox.dropbox.Dropbox.paper_docs_users_add`.
:ivar paper.AddPaperDocUserMemberResult.member: One of specified input
members.
:ivar paper.AddPaperDocUserMemberResult.result: The outcome of the action on
this member.
"""
__slots__ = [
'_member_value',
'_member_present',
'_result_value',
'_result_present',
]
_has_required_fields = True
def __init__(self,
member=None,
result=None):
self._member_value = None
self._member_present = False
self._result_value = None
self._result_present = False
if member is not None:
self.member = member
if result is not None:
self.result = result
@property
def member(self):
"""
One of specified input members.
:rtype: sharing.MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
self._member_value = None
self._member_present = False
@property
def result(self):
"""
The outcome of the action on this member.
:rtype: AddPaperDocUserResult
"""
if self._result_present:
return self._result_value
else:
raise AttributeError("missing required field 'result'")
@result.setter
def result(self, val):
self._result_validator.validate_type_only(val)
self._result_value = val
self._result_present = True
@result.deleter
def result(self):
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,
self._result_value,
)
AddPaperDocUserMemberResult_validator = bv.Struct(AddPaperDocUserMemberResult)
class AddPaperDocUserResult(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 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'
# Attribute is overwritten below the class definition
success = None
# Attribute is overwritten below the class definition
unknown_error = None
# Attribute is overwritten below the class definition
sharing_outside_team_disabled = None
# Attribute is overwritten below the class definition
daily_limit_reached = None
# Attribute is overwritten below the class definition
user_is_owner = None
# Attribute is overwritten below the class definition
failed_user_data_retrieval = None
# Attribute is overwritten below the class definition
permission_already_granted = 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_unknown_error(self):
"""
Check if the union tag is ``unknown_error``.
:rtype: bool
"""
return self._tag == 'unknown_error'
def is_sharing_outside_team_disabled(self):
"""
Check if the union tag is ``sharing_outside_team_disabled``.
:rtype: bool
"""
return self._tag == 'sharing_outside_team_disabled'
def is_daily_limit_reached(self):
"""
Check if the union tag is ``daily_limit_reached``.
:rtype: bool
"""
return self._tag == 'daily_limit_reached'
def is_user_is_owner(self):
"""
Check if the union tag is ``user_is_owner``.
:rtype: bool
"""
return self._tag == 'user_is_owner'
def is_failed_user_data_retrieval(self):
"""
Check if the union tag is ``failed_user_data_retrieval``.
:rtype: bool
"""
return self._tag == 'failed_user_data_retrieval'
def is_permission_already_granted(self):
"""
Check if the union tag is ``permission_already_granted``.
:rtype: bool
"""
return self._tag == 'permission_already_granted'
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(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(bb.Struct):
"""
: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__ = [
'_value_value',
'_value_present',
'_expiration_value',
'_expiration_present',
]
_has_required_fields = True
def __init__(self,
value=None,
expiration=None):
self._value_value = None
self._value_present = False
self._expiration_value = None
self._expiration_present = False
if value is not None:
self.value = value
if expiration is not None:
self.expiration = expiration
@property
def value(self):
"""
The actual cursor value.
:rtype: str
"""
if self._value_present:
return self._value_value
else:
raise AttributeError("missing required field 'value'")
@value.setter
def value(self, val):
val = self._value_validator.validate(val)
self._value_value = val
self._value_present = True
@value.deleter
def value(self):
self._value_value = None
self._value_present = False
@property
def expiration(self):
"""
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.
:rtype: datetime.datetime
"""
if self._expiration_present:
return self._expiration_value
else:
return None
@expiration.setter
def expiration(self, val):
if val is None:
del self.expiration
return
val = self._expiration_validator.validate(val)
self._expiration_value = val
self._expiration_present = True
@expiration.deleter
def expiration(self):
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,
self._expiration_value,
)
Cursor_validator = bv.Struct(Cursor)
class PaperApiBaseError(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 paper.PaperApiBaseError.insufficient_permissions: Your account does
not have permissions to perform this action.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
insufficient_permissions = None
# Attribute is overwritten below the class definition
other = None
def is_insufficient_permissions(self):
"""
Check if the union tag is ``insufficient_permissions``.
:rtype: bool
"""
return self._tag == 'insufficient_permissions'
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(PaperApiBaseError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperApiBaseError(%r, %r)' % (self._tag, self._value)
PaperApiBaseError_validator = bv.Union(PaperApiBaseError)
class DocLookupError(PaperApiBaseError):
"""
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 paper.DocLookupError.doc_not_found: The required doc was not found.
"""
# Attribute is overwritten below the class definition
doc_not_found = None
def is_doc_not_found(self):
"""
Check if the union tag is ``doc_not_found``.
:rtype: bool
"""
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)
DocLookupError_validator = bv.Union(DocLookupError)
class DocSubscriptionLevel(bb.Union):
"""
The subscription level of a Paper doc.
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 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
# Attribute is overwritten below the class definition
default = None
# Attribute is overwritten below the class definition
ignore = None
# Attribute is overwritten below the class definition
every = None
# Attribute is overwritten below the class definition
no_email = None
def is_default(self):
"""
Check if the union tag is ``default``.
:rtype: bool
"""
return self._tag == 'default'
def is_ignore(self):
"""
Check if the union tag is ``ignore``.
:rtype: bool
"""
return self._tag == 'ignore'
def is_every(self):
"""
Check if the union tag is ``every``.
:rtype: bool
"""
return self._tag == 'every'
def is_no_email(self):
"""
Check if the union tag is ``no_email``.
:rtype: bool
"""
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)
DocSubscriptionLevel_validator = bv.Union(DocSubscriptionLevel)
class ExportFormat(bb.Union):
"""
The desired export format of the Paper doc.
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 paper.ExportFormat.html: The HTML export format.
:ivar paper.ExportFormat.markdown: The markdown export format.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
html = None
# Attribute is overwritten below the class definition
markdown = None
# Attribute is overwritten below the class definition
other = None
def is_html(self):
"""
Check if the union tag is ``html``.
:rtype: bool
"""
return self._tag == 'html'
def is_markdown(self):
"""
Check if the union tag is ``markdown``.
:rtype: bool
"""
return self._tag == 'markdown'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Data structure representing a Paper folder.
:ivar paper.Folder.id: Paper folder ID. This ID uniquely identifies the
folder.
:ivar paper.Folder.name: Paper folder name.
"""
__slots__ = [
'_id_value',
'_id_present',
'_name_value',
'_name_present',
]
_has_required_fields = True
def __init__(self,
id=None,
name=None):
self._id_value = None
self._id_present = False
self._name_value = None
self._name_present = False
if id is not None:
self.id = id
if name is not None:
self.name = name
@property
def id(self):
"""
Paper folder ID. This ID uniquely identifies the folder.
: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 name(self):
"""
Paper folder name.
: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
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,
self._name_value,
)
Folder_validator = bv.Struct(Folder)
class FolderSharingPolicyType(bb.Union):
"""
The sharing policy of a Paper folder. Note: The sharing policy of
subfolders is inherited from the root 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 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
# Attribute is overwritten below the class definition
team = None
# Attribute is overwritten below the class definition
invite_only = None
def is_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == 'team'
def is_invite_only(self):
"""
Check if the union tag is ``invite_only``.
:rtype: bool
"""
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)
FolderSharingPolicyType_validator = bv.Union(FolderSharingPolicyType)
class FolderSubscriptionLevel(bb.Union):
"""
The subscription level of a Paper 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 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
# Attribute is overwritten below the class definition
none = None
# Attribute is overwritten below the class definition
activity_only = None
# Attribute is overwritten below the class definition
daily_emails = None
# Attribute is overwritten below the class definition
weekly_emails = None
def is_none(self):
"""
Check if the union tag is ``none``.
:rtype: bool
"""
return self._tag == 'none'
def is_activity_only(self):
"""
Check if the union tag is ``activity_only``.
:rtype: bool
"""
return self._tag == 'activity_only'
def is_daily_emails(self):
"""
Check if the union tag is ``daily_emails``.
:rtype: bool
"""
return self._tag == 'daily_emails'
def is_weekly_emails(self):
"""
Check if the union tag is ``weekly_emails``.
:rtype: bool
"""
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(bb.Struct):
"""
Metadata about Paper folders containing the specififed Paper doc.
: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__ = [
'_folder_sharing_policy_type_value',
'_folder_sharing_policy_type_present',
'_folders_value',
'_folders_present',
]
_has_required_fields = False
def __init__(self,
folder_sharing_policy_type=None,
folders=None):
self._folder_sharing_policy_type_value = None
self._folder_sharing_policy_type_present = False
self._folders_value = None
self._folders_present = False
if folder_sharing_policy_type is not None:
self.folder_sharing_policy_type = folder_sharing_policy_type
if folders is not None:
self.folders = folders
@property
def folder_sharing_policy_type(self):
"""
The sharing policy of the folder containing the Paper doc.
:rtype: FolderSharingPolicyType
"""
if self._folder_sharing_policy_type_present:
return self._folder_sharing_policy_type_value
else:
return None
@folder_sharing_policy_type.setter
def folder_sharing_policy_type(self, val):
if val is None:
del self.folder_sharing_policy_type
return
self._folder_sharing_policy_type_validator.validate_type_only(val)
self._folder_sharing_policy_type_value = val
self._folder_sharing_policy_type_present = True
@folder_sharing_policy_type.deleter
def folder_sharing_policy_type(self):
self._folder_sharing_policy_type_value = None
self._folder_sharing_policy_type_present = False
@property
def folders(self):
"""
The folder path. If present the first folder is the root folder.
:rtype: list of [Folder]
"""
if self._folders_present:
return self._folders_value
else:
return None
@folders.setter
def folders(self, val):
if val is None:
del self.folders
return
val = self._folders_validator.validate(val)
self._folders_value = val
self._folders_present = True
@folders.deleter
def folders(self):
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,
self._folders_value,
)
FoldersContainingPaperDoc_validator = bv.Struct(FoldersContainingPaperDoc)
class ImportFormat(bb.Union):
"""
The import format of the incoming data.
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 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'
# Attribute is overwritten below the class definition
html = None
# Attribute is overwritten below the class definition
markdown = None
# Attribute is overwritten below the class definition
plain_text = None
# Attribute is overwritten below the class definition
other = None
def is_html(self):
"""
Check if the union tag is ``html``.
:rtype: bool
"""
return self._tag == 'html'
def is_markdown(self):
"""
Check if the union tag is ``markdown``.
:rtype: bool
"""
return self._tag == 'markdown'
def is_plain_text(self):
"""
Check if the union tag is ``plain_text``.
:rtype: bool
"""
return self._tag == 'plain_text'
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(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(bb.Struct):
"""
:ivar paper.InviteeInfoWithPermissionLevel.invitee: Email address invited to
the Paper doc.
:ivar paper.InviteeInfoWithPermissionLevel.permission_level: Permission
level for the invitee.
"""
__slots__ = [
'_invitee_value',
'_invitee_present',
'_permission_level_value',
'_permission_level_present',
]
_has_required_fields = True
def __init__(self,
invitee=None,
permission_level=None):
self._invitee_value = None
self._invitee_present = False
self._permission_level_value = None
self._permission_level_present = False
if invitee is not None:
self.invitee = invitee
if permission_level is not None:
self.permission_level = permission_level
@property
def invitee(self):
"""
Email address invited to the Paper doc.
:rtype: sharing.InviteeInfo
"""
if self._invitee_present:
return self._invitee_value
else:
raise AttributeError("missing required field 'invitee'")
@invitee.setter
def invitee(self, val):
self._invitee_validator.validate_type_only(val)
self._invitee_value = val
self._invitee_present = True
@invitee.deleter
def invitee(self):
self._invitee_value = None
self._invitee_present = False
@property
def permission_level(self):
"""
Permission level for the invitee.
:rtype: PaperDocPermissionLevel
"""
if self._permission_level_present:
return self._permission_level_value
else:
raise AttributeError("missing required field 'permission_level'")
@permission_level.setter
def permission_level(self, val):
self._permission_level_validator.validate_type_only(val)
self._permission_level_value = val
self._permission_level_present = True
@permission_level.deleter
def permission_level(self):
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,
self._permission_level_value,
)
InviteeInfoWithPermissionLevel_validator = bv.Struct(InviteeInfoWithPermissionLevel)
class ListDocsCursorError(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 cursor_error(cls, val):
"""
Create an instance of this class set to the ``cursor_error`` tag with
value ``val``.
:param PaperApiCursorError val:
:rtype: ListDocsCursorError
"""
return cls('cursor_error', val)
def is_cursor_error(self):
"""
Check if the union tag is ``cursor_error``.
:rtype: bool
"""
return self._tag == 'cursor_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_cursor_error(self):
"""
Only call this if :meth:`is_cursor_error` is true.
:rtype: PaperApiCursorError
"""
if not self.is_cursor_error():
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(bb.Struct):
"""
: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__ = [
'_filter_by_value',
'_filter_by_present',
'_sort_by_value',
'_sort_by_present',
'_sort_order_value',
'_sort_order_present',
'_limit_value',
'_limit_present',
]
_has_required_fields = False
def __init__(self,
filter_by=None,
sort_by=None,
sort_order=None,
limit=None):
self._filter_by_value = None
self._filter_by_present = False
self._sort_by_value = None
self._sort_by_present = False
self._sort_order_value = None
self._sort_order_present = False
self._limit_value = None
self._limit_present = False
if filter_by is not None:
self.filter_by = filter_by
if sort_by is not None:
self.sort_by = sort_by
if sort_order is not None:
self.sort_order = sort_order
if limit is not None:
self.limit = limit
@property
def filter_by(self):
"""
Allows user to specify how the Paper docs should be filtered.
:rtype: ListPaperDocsFilterBy
"""
if self._filter_by_present:
return self._filter_by_value
else:
return ListPaperDocsFilterBy.docs_accessed
@filter_by.setter
def filter_by(self, val):
self._filter_by_validator.validate_type_only(val)
self._filter_by_value = val
self._filter_by_present = True
@filter_by.deleter
def filter_by(self):
self._filter_by_value = None
self._filter_by_present = False
@property
def sort_by(self):
"""
Allows user to specify how the Paper docs should be sorted.
:rtype: ListPaperDocsSortBy
"""
if self._sort_by_present:
return self._sort_by_value
else:
return ListPaperDocsSortBy.accessed
@sort_by.setter
def sort_by(self, val):
self._sort_by_validator.validate_type_only(val)
self._sort_by_value = val
self._sort_by_present = True
@sort_by.deleter
def sort_by(self):
self._sort_by_value = None
self._sort_by_present = False
@property
def sort_order(self):
"""
Allows user to specify the sort order of the result.
:rtype: ListPaperDocsSortOrder
"""
if self._sort_order_present:
return self._sort_order_value
else:
return ListPaperDocsSortOrder.ascending
@sort_order.setter
def sort_order(self, val):
self._sort_order_validator.validate_type_only(val)
self._sort_order_value = val
self._sort_order_present = True
@sort_order.deleter
def sort_order(self):
self._sort_order_value = None
self._sort_order_present = False
@property
def limit(self):
"""
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: 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(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,
self._sort_by_value,
self._sort_order_value,
self._limit_value,
)
ListPaperDocsArgs_validator = bv.Struct(ListPaperDocsArgs)
class ListPaperDocsContinueArgs(bb.Struct):
"""
: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.
"""
__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 obtained from :meth:`dropbox.dropbox.Dropbox.paper_docs_list`
or :meth:`dropbox.dropbox.Dropbox.paper_docs_list_continue`. Allows for
pagination.
: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(ListPaperDocsContinueArgs, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListPaperDocsContinueArgs(cursor={!r})'.format(
self._cursor_value,
)
ListPaperDocsContinueArgs_validator = bv.Struct(ListPaperDocsContinueArgs)
class ListPaperDocsFilterBy(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 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'
# Attribute is overwritten below the class definition
docs_accessed = None
# Attribute is overwritten below the class definition
docs_created = None
# Attribute is overwritten below the class definition
other = None
def is_docs_accessed(self):
"""
Check if the union tag is ``docs_accessed``.
:rtype: bool
"""
return self._tag == 'docs_accessed'
def is_docs_created(self):
"""
Check if the union tag is ``docs_created``.
:rtype: bool
"""
return self._tag == 'docs_created'
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(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(bb.Struct):
"""
: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 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`.
"""
__slots__ = [
'_doc_ids_value',
'_doc_ids_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
doc_ids=None,
cursor=None,
has_more=None):
self._doc_ids_value = None
self._doc_ids_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if doc_ids is not None:
self.doc_ids = doc_ids
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def doc_ids(self):
"""
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`.
:rtype: list of [str]
"""
if self._doc_ids_present:
return self._doc_ids_value
else:
raise AttributeError("missing required field 'doc_ids'")
@doc_ids.setter
def doc_ids(self, val):
val = self._doc_ids_validator.validate(val)
self._doc_ids_value = val
self._doc_ids_present = True
@doc_ids.deleter
def doc_ids(self):
self._doc_ids_value = None
self._doc_ids_present = False
@property
def cursor(self):
"""
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`.
:rtype: Cursor
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
self._cursor_validator.validate_type_only(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):
"""
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`.
: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(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,
self._cursor_value,
self._has_more_value,
)
ListPaperDocsResponse_validator = bv.Struct(ListPaperDocsResponse)
class ListPaperDocsSortBy(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 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'
# Attribute is overwritten below the class definition
accessed = None
# Attribute is overwritten below the class definition
modified = None
# Attribute is overwritten below the class definition
created = None
# Attribute is overwritten below the class definition
other = None
def is_accessed(self):
"""
Check if the union tag is ``accessed``.
:rtype: bool
"""
return self._tag == 'accessed'
def is_modified(self):
"""
Check if the union tag is ``modified``.
:rtype: bool
"""
return self._tag == 'modified'
def is_created(self):
"""
Check if the union tag is ``created``.
:rtype: bool
"""
return self._tag == 'created'
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(ListPaperDocsSortBy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListPaperDocsSortBy(%r, %r)' % (self._tag, self._value)
ListPaperDocsSortBy_validator = bv.Union(ListPaperDocsSortBy)
class ListPaperDocsSortOrder(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 paper.ListPaperDocsSortOrder.ascending: Sorts the search result in
ascending order.
:ivar paper.ListPaperDocsSortOrder.descending: Sorts the search result in
descending order.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
ascending = None
# Attribute is overwritten below the class definition
descending = None
# Attribute is overwritten below the class definition
other = None
def is_ascending(self):
"""
Check if the union tag is ``ascending``.
:rtype: bool
"""
return self._tag == 'ascending'
def is_descending(self):
"""
Check if the union tag is ``descending``.
:rtype: bool
"""
return self._tag == 'descending'
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(ListPaperDocsSortOrder, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListPaperDocsSortOrder(%r, %r)' % (self._tag, self._value)
ListPaperDocsSortOrder_validator = bv.Union(ListPaperDocsSortOrder)
class ListUsersCursorError(PaperApiBaseError):
"""
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 paper.ListUsersCursorError.doc_not_found: The required doc was not
found.
"""
# Attribute is overwritten below the class definition
doc_not_found = None
@classmethod
def cursor_error(cls, val):
"""
Create an instance of this class set to the ``cursor_error`` tag with
value ``val``.
:param PaperApiCursorError val:
:rtype: ListUsersCursorError
"""
return cls('cursor_error', val)
def is_doc_not_found(self):
"""
Check if the union tag is ``doc_not_found``.
:rtype: bool
"""
return self._tag == 'doc_not_found'
def is_cursor_error(self):
"""
Check if the union tag is ``cursor_error``.
:rtype: bool
"""
return self._tag == 'cursor_error'
def get_cursor_error(self):
"""
Only call this if :meth:`is_cursor_error` is true.
:rtype: PaperApiCursorError
"""
if not self.is_cursor_error():
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)
ListUsersCursorError_validator = bv.Union(ListUsersCursorError)
class ListUsersOnFolderArgs(RefPaperDoc):
"""
: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__ = [
'_limit_value',
'_limit_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
limit=None):
super(ListUsersOnFolderArgs, self).__init__(doc_id)
self._limit_value = None
self._limit_present = False
if limit is not None:
self.limit = limit
@property
def limit(self):
"""
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: 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(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,
self._limit_value,
)
ListUsersOnFolderArgs_validator = bv.Struct(ListUsersOnFolderArgs)
class ListUsersOnFolderContinueArgs(RefPaperDoc):
"""
: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.
"""
__slots__ = [
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
cursor=None):
super(ListUsersOnFolderContinueArgs, self).__init__(doc_id)
self._cursor_value = None
self._cursor_present = False
if cursor is not None:
self.cursor = cursor
@property
def cursor(self):
"""
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.
: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(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,
self._cursor_value,
)
ListUsersOnFolderContinueArgs_validator = bv.Struct(ListUsersOnFolderContinueArgs)
class ListUsersOnFolderResponse(bb.Struct):
"""
: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 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
:meth:`dropbox.dropbox.Dropbox.paper_docs_folder_users_list_continue`.
"""
__slots__ = [
'_invitees_value',
'_invitees_present',
'_users_value',
'_users_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
invitees=None,
users=None,
cursor=None,
has_more=None):
self._invitees_value = None
self._invitees_present = False
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 invitees is not None:
self.invitees = invitees
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 invitees(self):
"""
List of email addresses that are invited on the Paper folder.
:rtype: list of [sharing.InviteeInfo]
"""
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
@property
def users(self):
"""
List of users that are invited on the Paper folder.
:rtype: list of [sharing.UserInfo]
"""
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.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`.
:rtype: Cursor
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
self._cursor_validator.validate_type_only(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):
"""
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
:meth:`dropbox.dropbox.Dropbox.paper_docs_folder_users_list_continue`.
: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(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,
self._users_value,
self._cursor_value,
self._has_more_value,
)
ListUsersOnFolderResponse_validator = bv.Struct(ListUsersOnFolderResponse)
class ListUsersOnPaperDocArgs(RefPaperDoc):
"""
: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__ = [
'_limit_value',
'_limit_present',
'_filter_by_value',
'_filter_by_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
limit=None,
filter_by=None):
super(ListUsersOnPaperDocArgs, self).__init__(doc_id)
self._limit_value = None
self._limit_present = False
self._filter_by_value = None
self._filter_by_present = False
if limit is not None:
self.limit = limit
if filter_by is not None:
self.filter_by = filter_by
@property
def limit(self):
"""
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: 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
@property
def filter_by(self):
"""
Specify this attribute if you want to obtain users that have already
accessed the Paper doc.
:rtype: UserOnPaperDocFilter
"""
if self._filter_by_present:
return self._filter_by_value
else:
return UserOnPaperDocFilter.shared
@filter_by.setter
def filter_by(self, val):
self._filter_by_validator.validate_type_only(val)
self._filter_by_value = val
self._filter_by_present = True
@filter_by.deleter
def filter_by(self):
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,
self._limit_value,
self._filter_by_value,
)
ListUsersOnPaperDocArgs_validator = bv.Struct(ListUsersOnPaperDocArgs)
class ListUsersOnPaperDocContinueArgs(RefPaperDoc):
"""
: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.
"""
__slots__ = [
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
cursor=None):
super(ListUsersOnPaperDocContinueArgs, self).__init__(doc_id)
self._cursor_value = None
self._cursor_present = False
if cursor is not None:
self.cursor = cursor
@property
def cursor(self):
"""
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.
: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(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,
self._cursor_value,
)
ListUsersOnPaperDocContinueArgs_validator = bv.Struct(ListUsersOnPaperDocContinueArgs)
class ListUsersOnPaperDocResponse(bb.Struct):
"""
: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 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`.
"""
__slots__ = [
'_invitees_value',
'_invitees_present',
'_users_value',
'_users_present',
'_doc_owner_value',
'_doc_owner_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
invitees=None,
users=None,
doc_owner=None,
cursor=None,
has_more=None):
self._invitees_value = None
self._invitees_present = False
self._users_value = None
self._users_present = False
self._doc_owner_value = None
self._doc_owner_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if invitees is not None:
self.invitees = invitees
if users is not None:
self.users = users
if doc_owner is not None:
self.doc_owner = doc_owner
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def invitees(self):
"""
List of email addresses with their respective permission levels that are
invited on the Paper doc.
:rtype: list of [InviteeInfoWithPermissionLevel]
"""
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
@property
def users(self):
"""
List of users with their respective permission levels that are invited
on the Paper folder.
:rtype: list of [UserInfoWithPermissionLevel]
"""
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 doc_owner(self):
"""
The Paper doc owner. This field is populated on every single response.
:rtype: sharing.UserInfo
"""
if self._doc_owner_present:
return self._doc_owner_value
else:
raise AttributeError("missing required field 'doc_owner'")
@doc_owner.setter
def doc_owner(self, val):
self._doc_owner_validator.validate_type_only(val)
self._doc_owner_value = val
self._doc_owner_present = True
@doc_owner.deleter
def doc_owner(self):
self._doc_owner_value = None
self._doc_owner_present = False
@property
def cursor(self):
"""
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`.
:rtype: Cursor
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
self._cursor_validator.validate_type_only(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):
"""
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`.
: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(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,
self._users_value,
self._doc_owner_value,
self._cursor_value,
self._has_more_value,
)
ListUsersOnPaperDocResponse_validator = bv.Struct(ListUsersOnPaperDocResponse)
class PaperApiCursorError(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 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'
# Attribute is overwritten below the class definition
expired_cursor = None
# Attribute is overwritten below the class definition
invalid_cursor = None
# Attribute is overwritten below the class definition
wrong_user_in_cursor = None
# Attribute is overwritten below the class definition
reset = None
# Attribute is overwritten below the class definition
other = None
def is_expired_cursor(self):
"""
Check if the union tag is ``expired_cursor``.
:rtype: bool
"""
return self._tag == 'expired_cursor'
def is_invalid_cursor(self):
"""
Check if the union tag is ``invalid_cursor``.
:rtype: bool
"""
return self._tag == 'invalid_cursor'
def is_wrong_user_in_cursor(self):
"""
Check if the union tag is ``wrong_user_in_cursor``.
:rtype: bool
"""
return self._tag == 'wrong_user_in_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``.
:rtype: bool
"""
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(bb.Struct):
"""
: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__ = [
'_parent_folder_id_value',
'_parent_folder_id_present',
'_import_format_value',
'_import_format_present',
]
_has_required_fields = True
def __init__(self,
import_format=None,
parent_folder_id=None):
self._parent_folder_id_value = None
self._parent_folder_id_present = False
self._import_format_value = None
self._import_format_present = False
if parent_folder_id is not None:
self.parent_folder_id = parent_folder_id
if import_format is not None:
self.import_format = import_format
@property
def parent_folder_id(self):
"""
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.
:rtype: str
"""
if self._parent_folder_id_present:
return self._parent_folder_id_value
else:
return None
@parent_folder_id.setter
def parent_folder_id(self, val):
if val is None:
del self.parent_folder_id
return
val = self._parent_folder_id_validator.validate(val)
self._parent_folder_id_value = val
self._parent_folder_id_present = True
@parent_folder_id.deleter
def parent_folder_id(self):
self._parent_folder_id_value = None
self._parent_folder_id_present = False
@property
def import_format(self):
"""
The format of provided data.
:rtype: ImportFormat
"""
if self._import_format_present:
return self._import_format_value
else:
raise AttributeError("missing required field 'import_format'")
@import_format.setter
def import_format(self, val):
self._import_format_validator.validate_type_only(val)
self._import_format_value = val
self._import_format_present = True
@import_format.deleter
def import_format(self):
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,
self._parent_folder_id_value,
)
PaperDocCreateArgs_validator = bv.Struct(PaperDocCreateArgs)
class PaperDocCreateError(PaperApiBaseError):
"""
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 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
content_malformed = None
# Attribute is overwritten below the class definition
folder_not_found = None
# Attribute is overwritten below the class definition
doc_length_exceeded = None
# Attribute is overwritten below the class definition
image_size_exceeded = None
def is_content_malformed(self):
"""
Check if the union tag is ``content_malformed``.
:rtype: bool
"""
return self._tag == 'content_malformed'
def is_folder_not_found(self):
"""
Check if the union tag is ``folder_not_found``.
:rtype: bool
"""
return self._tag == 'folder_not_found'
def is_doc_length_exceeded(self):
"""
Check if the union tag is ``doc_length_exceeded``.
:rtype: bool
"""
return self._tag == 'doc_length_exceeded'
def is_image_size_exceeded(self):
"""
Check if the union tag is ``image_size_exceeded``.
:rtype: bool
"""
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(bb.Struct):
"""
: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__ = [
'_doc_id_value',
'_doc_id_present',
'_revision_value',
'_revision_present',
'_title_value',
'_title_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
revision=None,
title=None):
self._doc_id_value = None
self._doc_id_present = False
self._revision_value = None
self._revision_present = False
self._title_value = None
self._title_present = False
if doc_id is not None:
self.doc_id = doc_id
if revision is not None:
self.revision = revision
if title is not None:
self.title = title
@property
def doc_id(self):
"""
Doc ID of the newly created doc.
:rtype: str
"""
if self._doc_id_present:
return self._doc_id_value
else:
raise AttributeError("missing required field 'doc_id'")
@doc_id.setter
def doc_id(self, val):
val = self._doc_id_validator.validate(val)
self._doc_id_value = val
self._doc_id_present = True
@doc_id.deleter
def doc_id(self):
self._doc_id_value = None
self._doc_id_present = False
@property
def revision(self):
"""
The Paper doc revision. Simply an ever increasing number.
:rtype: int
"""
if self._revision_present:
return self._revision_value
else:
raise AttributeError("missing required field 'revision'")
@revision.setter
def revision(self, val):
val = self._revision_validator.validate(val)
self._revision_value = val
self._revision_present = True
@revision.deleter
def revision(self):
self._revision_value = None
self._revision_present = False
@property
def title(self):
"""
The Paper doc title.
:rtype: str
"""
if self._title_present:
return self._title_value
else:
raise AttributeError("missing required field 'title'")
@title.setter
def title(self, val):
val = self._title_validator.validate(val)
self._title_value = val
self._title_present = True
@title.deleter
def title(self):
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,
self._revision_value,
self._title_value,
)
PaperDocCreateUpdateResult_validator = bv.Struct(PaperDocCreateUpdateResult)
class PaperDocExport(RefPaperDoc):
__slots__ = [
'_export_format_value',
'_export_format_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
export_format=None):
super(PaperDocExport, self).__init__(doc_id)
self._export_format_value = None
self._export_format_present = False
if export_format is not None:
self.export_format = export_format
@property
def export_format(self):
"""
:rtype: ExportFormat
"""
if self._export_format_present:
return self._export_format_value
else:
raise AttributeError("missing required field 'export_format'")
@export_format.setter
def export_format(self, val):
self._export_format_validator.validate_type_only(val)
self._export_format_value = val
self._export_format_present = True
@export_format.deleter
def export_format(self):
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,
self._export_format_value,
)
PaperDocExport_validator = bv.Struct(PaperDocExport)
class PaperDocExportResult(bb.Struct):
"""
: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__ = [
'_owner_value',
'_owner_present',
'_title_value',
'_title_present',
'_revision_value',
'_revision_present',
'_mime_type_value',
'_mime_type_present',
]
_has_required_fields = True
def __init__(self,
owner=None,
title=None,
revision=None,
mime_type=None):
self._owner_value = None
self._owner_present = False
self._title_value = None
self._title_present = False
self._revision_value = None
self._revision_present = False
self._mime_type_value = None
self._mime_type_present = False
if owner is not None:
self.owner = owner
if title is not None:
self.title = title
if revision is not None:
self.revision = revision
if mime_type is not None:
self.mime_type = mime_type
@property
def owner(self):
"""
The Paper doc owner's email address.
:rtype: str
"""
if self._owner_present:
return self._owner_value
else:
raise AttributeError("missing required field 'owner'")
@owner.setter
def owner(self, val):
val = self._owner_validator.validate(val)
self._owner_value = val
self._owner_present = True
@owner.deleter
def owner(self):
self._owner_value = None
self._owner_present = False
@property
def title(self):
"""
The Paper doc title.
:rtype: str
"""
if self._title_present:
return self._title_value
else:
raise AttributeError("missing required field 'title'")
@title.setter
def title(self, val):
val = self._title_validator.validate(val)
self._title_value = val
self._title_present = True
@title.deleter
def title(self):
self._title_value = None
self._title_present = False
@property
def revision(self):
"""
The Paper doc revision. Simply an ever increasing number.
:rtype: int
"""
if self._revision_present:
return self._revision_value
else:
raise AttributeError("missing required field 'revision'")
@revision.setter
def revision(self, val):
val = self._revision_validator.validate(val)
self._revision_value = val
self._revision_present = True
@revision.deleter
def revision(self):
self._revision_value = None
self._revision_present = False
@property
def mime_type(self):
"""
MIME type of the export. This corresponds to :class:`ExportFormat`
specified in the request.
:rtype: str
"""
if self._mime_type_present:
return self._mime_type_value
else:
raise AttributeError("missing required field 'mime_type'")
@mime_type.setter
def mime_type(self, val):
val = self._mime_type_validator.validate(val)
self._mime_type_value = val
self._mime_type_present = True
@mime_type.deleter
def mime_type(self):
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,
self._title_value,
self._revision_value,
self._mime_type_value,
)
PaperDocExportResult_validator = bv.Struct(PaperDocExportResult)
class PaperDocPermissionLevel(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 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'
# Attribute is overwritten below the class definition
edit = None
# Attribute is overwritten below the class definition
view_and_comment = None
# Attribute is overwritten below the class definition
other = None
def is_edit(self):
"""
Check if the union tag is ``edit``.
:rtype: bool
"""
return self._tag == 'edit'
def is_view_and_comment(self):
"""
Check if the union tag is ``view_and_comment``.
:rtype: bool
"""
return self._tag == 'view_and_comment'
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(PaperDocPermissionLevel, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocPermissionLevel(%r, %r)' % (self._tag, self._value)
PaperDocPermissionLevel_validator = bv.Union(PaperDocPermissionLevel)
class PaperDocSharingPolicy(RefPaperDoc):
"""
:ivar paper.PaperDocSharingPolicy.sharing_policy: The default sharing policy
to be set for the Paper doc.
"""
__slots__ = [
'_sharing_policy_value',
'_sharing_policy_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
sharing_policy=None):
super(PaperDocSharingPolicy, self).__init__(doc_id)
self._sharing_policy_value = None
self._sharing_policy_present = False
if sharing_policy is not None:
self.sharing_policy = sharing_policy
@property
def sharing_policy(self):
"""
The default sharing policy to be set for the Paper doc.
:rtype: SharingPolicy
"""
if self._sharing_policy_present:
return self._sharing_policy_value
else:
raise AttributeError("missing required field 'sharing_policy'")
@sharing_policy.setter
def sharing_policy(self, val):
self._sharing_policy_validator.validate_type_only(val)
self._sharing_policy_value = val
self._sharing_policy_present = True
@sharing_policy.deleter
def sharing_policy(self):
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,
self._sharing_policy_value,
)
PaperDocSharingPolicy_validator = bv.Struct(PaperDocSharingPolicy)
class PaperDocUpdateArgs(RefPaperDoc):
"""
: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__ = [
'_doc_update_policy_value',
'_doc_update_policy_present',
'_revision_value',
'_revision_present',
'_import_format_value',
'_import_format_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
doc_update_policy=None,
revision=None,
import_format=None):
super(PaperDocUpdateArgs, self).__init__(doc_id)
self._doc_update_policy_value = None
self._doc_update_policy_present = False
self._revision_value = None
self._revision_present = False
self._import_format_value = None
self._import_format_present = False
if doc_update_policy is not None:
self.doc_update_policy = doc_update_policy
if revision is not None:
self.revision = revision
if import_format is not None:
self.import_format = import_format
@property
def doc_update_policy(self):
"""
The policy used for the current update call.
:rtype: PaperDocUpdatePolicy
"""
if self._doc_update_policy_present:
return self._doc_update_policy_value
else:
raise AttributeError("missing required field 'doc_update_policy'")
@doc_update_policy.setter
def doc_update_policy(self, val):
self._doc_update_policy_validator.validate_type_only(val)
self._doc_update_policy_value = val
self._doc_update_policy_present = True
@doc_update_policy.deleter
def doc_update_policy(self):
self._doc_update_policy_value = None
self._doc_update_policy_present = False
@property
def revision(self):
"""
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: int
"""
if self._revision_present:
return self._revision_value
else:
raise AttributeError("missing required field 'revision'")
@revision.setter
def revision(self, val):
val = self._revision_validator.validate(val)
self._revision_value = val
self._revision_present = True
@revision.deleter
def revision(self):
self._revision_value = None
self._revision_present = False
@property
def import_format(self):
"""
The format of provided data.
:rtype: ImportFormat
"""
if self._import_format_present:
return self._import_format_value
else:
raise AttributeError("missing required field 'import_format'")
@import_format.setter
def import_format(self, val):
self._import_format_validator.validate_type_only(val)
self._import_format_value = val
self._import_format_present = True
@import_format.deleter
def import_format(self):
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,
self._doc_update_policy_value,
self._revision_value,
self._import_format_value,
)
PaperDocUpdateArgs_validator = bv.Struct(PaperDocUpdateArgs)
class PaperDocUpdateError(DocLookupError):
"""
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 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
content_malformed = None
# Attribute is overwritten below the class definition
revision_mismatch = None
# Attribute is overwritten below the class definition
doc_length_exceeded = None
# Attribute is overwritten below the class definition
image_size_exceeded = None
# Attribute is overwritten below the class definition
doc_archived = None
# Attribute is overwritten below the class definition
doc_deleted = None
def is_content_malformed(self):
"""
Check if the union tag is ``content_malformed``.
:rtype: bool
"""
return self._tag == 'content_malformed'
def is_revision_mismatch(self):
"""
Check if the union tag is ``revision_mismatch``.
:rtype: bool
"""
return self._tag == 'revision_mismatch'
def is_doc_length_exceeded(self):
"""
Check if the union tag is ``doc_length_exceeded``.
:rtype: bool
"""
return self._tag == 'doc_length_exceeded'
def is_image_size_exceeded(self):
"""
Check if the union tag is ``image_size_exceeded``.
:rtype: bool
"""
return self._tag == 'image_size_exceeded'
def is_doc_archived(self):
"""
Check if the union tag is ``doc_archived``.
:rtype: bool
"""
return self._tag == 'doc_archived'
def is_doc_deleted(self):
"""
Check if the union tag is ``doc_deleted``.
:rtype: bool
"""
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)
PaperDocUpdateError_validator = bv.Union(PaperDocUpdateError)
class PaperDocUpdatePolicy(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 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'
# Attribute is overwritten below the class definition
append = None
# Attribute is overwritten below the class definition
prepend = None
# Attribute is overwritten below the class definition
overwrite_all = None
# Attribute is overwritten below the class definition
other = None
def is_append(self):
"""
Check if the union tag is ``append``.
:rtype: bool
"""
return self._tag == 'append'
def is_prepend(self):
"""
Check if the union tag is ``prepend``.
:rtype: bool
"""
return self._tag == 'prepend'
def is_overwrite_all(self):
"""
Check if the union tag is ``overwrite_all``.
:rtype: bool
"""
return self._tag == 'overwrite_all'
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(PaperDocUpdatePolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocUpdatePolicy(%r, %r)' % (self._tag, self._value)
PaperDocUpdatePolicy_validator = bv.Union(PaperDocUpdatePolicy)
class RemovePaperDocUser(RefPaperDoc):
"""
:ivar paper.RemovePaperDocUser.member: User which should be removed from the
Paper doc. Specify only email address or Dropbox account ID.
"""
__slots__ = [
'_member_value',
'_member_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
member=None):
super(RemovePaperDocUser, self).__init__(doc_id)
self._member_value = None
self._member_present = False
if member is not None:
self.member = member
@property
def member(self):
"""
User which should be removed from the Paper doc. Specify only email
address or Dropbox account ID.
:rtype: sharing.MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
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,
self._member_value,
)
RemovePaperDocUser_validator = bv.Struct(RemovePaperDocUser)
class SharingPolicy(bb.Struct):
"""
Sharing policy of Paper doc.
: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__ = [
'_public_sharing_policy_value',
'_public_sharing_policy_present',
'_team_sharing_policy_value',
'_team_sharing_policy_present',
]
_has_required_fields = False
def __init__(self,
public_sharing_policy=None,
team_sharing_policy=None):
self._public_sharing_policy_value = None
self._public_sharing_policy_present = False
self._team_sharing_policy_value = None
self._team_sharing_policy_present = False
if public_sharing_policy is not None:
self.public_sharing_policy = public_sharing_policy
if team_sharing_policy is not None:
self.team_sharing_policy = team_sharing_policy
@property
def public_sharing_policy(self):
"""
This value applies to the non-team members.
:rtype: SharingPublicPolicyType
"""
if self._public_sharing_policy_present:
return self._public_sharing_policy_value
else:
return None
@public_sharing_policy.setter
def public_sharing_policy(self, val):
if val is None:
del self.public_sharing_policy
return
self._public_sharing_policy_validator.validate_type_only(val)
self._public_sharing_policy_value = val
self._public_sharing_policy_present = True
@public_sharing_policy.deleter
def public_sharing_policy(self):
self._public_sharing_policy_value = None
self._public_sharing_policy_present = False
@property
def team_sharing_policy(self):
"""
This value applies to the team members only. The value is null for all
personal accounts.
:rtype: SharingTeamPolicyType
"""
if self._team_sharing_policy_present:
return self._team_sharing_policy_value
else:
return None
@team_sharing_policy.setter
def team_sharing_policy(self, val):
if val is None:
del self.team_sharing_policy
return
self._team_sharing_policy_validator.validate_type_only(val)
self._team_sharing_policy_value = val
self._team_sharing_policy_present = True
@team_sharing_policy.deleter
def team_sharing_policy(self):
self._team_sharing_policy_value = None
self._team_sharing_policy_present = False
def _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,
self._team_sharing_policy_value,
)
SharingPolicy_validator = bv.Struct(SharingPolicy)
class SharingTeamPolicyType(bb.Union):
"""
The sharing policy type of the Paper doc.
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 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
# Attribute is overwritten below the class definition
people_with_link_can_edit = None
# Attribute is overwritten below the class definition
people_with_link_can_view_and_comment = None
# Attribute is overwritten below the class definition
invite_only = None
def is_people_with_link_can_edit(self):
"""
Check if the union tag is ``people_with_link_can_edit``.
:rtype: bool
"""
return self._tag == 'people_with_link_can_edit'
def is_people_with_link_can_view_and_comment(self):
"""
Check if the union tag is ``people_with_link_can_view_and_comment``.
:rtype: bool
"""
return self._tag == 'people_with_link_can_view_and_comment'
def is_invite_only(self):
"""
Check if the union tag is ``invite_only``.
:rtype: bool
"""
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)
SharingTeamPolicyType_validator = bv.Union(SharingTeamPolicyType)
class SharingPublicPolicyType(SharingTeamPolicyType):
"""
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 paper.SharingPublicPolicyType.disabled: Value used to indicate that
doc sharing is enabled only within team.
"""
# Attribute is overwritten below the class definition
disabled = None
def is_disabled(self):
"""
Check if the union tag is ``disabled``.
:rtype: bool
"""
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(bb.Struct):
"""
:ivar paper.UserInfoWithPermissionLevel.user: User shared on the Paper doc.
:ivar paper.UserInfoWithPermissionLevel.permission_level: Permission level
for the user.
"""
__slots__ = [
'_user_value',
'_user_present',
'_permission_level_value',
'_permission_level_present',
]
_has_required_fields = True
def __init__(self,
user=None,
permission_level=None):
self._user_value = None
self._user_present = False
self._permission_level_value = None
self._permission_level_present = False
if user is not None:
self.user = user
if permission_level is not None:
self.permission_level = permission_level
@property
def user(self):
"""
User shared on the Paper doc.
:rtype: sharing.UserInfo
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
self._user_value = None
self._user_present = False
@property
def permission_level(self):
"""
Permission level for the user.
:rtype: PaperDocPermissionLevel
"""
if self._permission_level_present:
return self._permission_level_value
else:
raise AttributeError("missing required field 'permission_level'")
@permission_level.setter
def permission_level(self, val):
self._permission_level_validator.validate_type_only(val)
self._permission_level_value = val
self._permission_level_present = True
@permission_level.deleter
def permission_level(self):
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,
self._permission_level_value,
)
UserInfoWithPermissionLevel_validator = bv.Struct(UserInfoWithPermissionLevel)
class UserOnPaperDocFilter(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 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'
# Attribute is overwritten below the class definition
visited = None
# Attribute is overwritten below the class definition
shared = None
# Attribute is overwritten below the class definition
other = None
def is_visited(self):
"""
Check if the union tag is ``visited``.
:rtype: bool
"""
return self._tag == 'visited'
def is_shared(self):
"""
Check if the union tag is ``shared``.
:rtype: bool
"""
return self._tag == 'shared'
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(UserOnPaperDocFilter, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UserOnPaperDocFilter(%r, %r)' % (self._tag, self._value)
UserOnPaperDocFilter_validator = bv.Union(UserOnPaperDocFilter)
# Paper doc ID.
PaperDocId_validator = bv.String()
AddMember._permission_level_validator = PaperDocPermissionLevel_validator
AddMember._member_validator = sharing.MemberSelector_validator
AddMember._all_field_names_ = set([
'permission_level',
'member',
])
AddMember._all_fields_ = [
('permission_level', AddMember._permission_level_validator),
('member', AddMember._member_validator),
]
RefPaperDoc._doc_id_validator = PaperDocId_validator
RefPaperDoc._all_field_names_ = set(['doc_id'])
RefPaperDoc._all_fields_ = [('doc_id', RefPaperDoc._doc_id_validator)]
AddPaperDocUser._members_validator = bv.List(AddMember_validator, max_items=20)
AddPaperDocUser._custom_message_validator = bv.Nullable(bv.String())
AddPaperDocUser._quiet_validator = bv.Boolean()
AddPaperDocUser._all_field_names_ = RefPaperDoc._all_field_names_.union(set([
'members',
'custom_message',
'quiet',
]))
AddPaperDocUser._all_fields_ = RefPaperDoc._all_fields_ + [
('members', AddPaperDocUser._members_validator),
('custom_message', AddPaperDocUser._custom_message_validator),
('quiet', AddPaperDocUser._quiet_validator),
]
AddPaperDocUserMemberResult._member_validator = sharing.MemberSelector_validator
AddPaperDocUserMemberResult._result_validator = AddPaperDocUserResult_validator
AddPaperDocUserMemberResult._all_field_names_ = set([
'member',
'result',
])
AddPaperDocUserMemberResult._all_fields_ = [
('member', AddPaperDocUserMemberResult._member_validator),
('result', AddPaperDocUserMemberResult._result_validator),
]
AddPaperDocUserResult._success_validator = bv.Void()
AddPaperDocUserResult._unknown_error_validator = bv.Void()
AddPaperDocUserResult._sharing_outside_team_disabled_validator = bv.Void()
AddPaperDocUserResult._daily_limit_reached_validator = bv.Void()
AddPaperDocUserResult._user_is_owner_validator = bv.Void()
AddPaperDocUserResult._failed_user_data_retrieval_validator = bv.Void()
AddPaperDocUserResult._permission_already_granted_validator = bv.Void()
AddPaperDocUserResult._other_validator = bv.Void()
AddPaperDocUserResult._tagmap = {
'success': AddPaperDocUserResult._success_validator,
'unknown_error': AddPaperDocUserResult._unknown_error_validator,
'sharing_outside_team_disabled': AddPaperDocUserResult._sharing_outside_team_disabled_validator,
'daily_limit_reached': AddPaperDocUserResult._daily_limit_reached_validator,
'user_is_owner': AddPaperDocUserResult._user_is_owner_validator,
'failed_user_data_retrieval': AddPaperDocUserResult._failed_user_data_retrieval_validator,
'permission_already_granted': AddPaperDocUserResult._permission_already_granted_validator,
'other': AddPaperDocUserResult._other_validator,
}
AddPaperDocUserResult.success = AddPaperDocUserResult('success')
AddPaperDocUserResult.unknown_error = AddPaperDocUserResult('unknown_error')
AddPaperDocUserResult.sharing_outside_team_disabled = AddPaperDocUserResult('sharing_outside_team_disabled')
AddPaperDocUserResult.daily_limit_reached = AddPaperDocUserResult('daily_limit_reached')
AddPaperDocUserResult.user_is_owner = AddPaperDocUserResult('user_is_owner')
AddPaperDocUserResult.failed_user_data_retrieval = AddPaperDocUserResult('failed_user_data_retrieval')
AddPaperDocUserResult.permission_already_granted = AddPaperDocUserResult('permission_already_granted')
AddPaperDocUserResult.other = AddPaperDocUserResult('other')
Cursor._value_validator = bv.String()
Cursor._expiration_validator = bv.Nullable(common.DropboxTimestamp_validator)
Cursor._all_field_names_ = set([
'value',
'expiration',
])
Cursor._all_fields_ = [
('value', Cursor._value_validator),
('expiration', Cursor._expiration_validator),
]
PaperApiBaseError._insufficient_permissions_validator = bv.Void()
PaperApiBaseError._other_validator = bv.Void()
PaperApiBaseError._tagmap = {
'insufficient_permissions': PaperApiBaseError._insufficient_permissions_validator,
'other': PaperApiBaseError._other_validator,
}
PaperApiBaseError.insufficient_permissions = PaperApiBaseError('insufficient_permissions')
PaperApiBaseError.other = PaperApiBaseError('other')
DocLookupError._doc_not_found_validator = bv.Void()
DocLookupError._tagmap = {
'doc_not_found': DocLookupError._doc_not_found_validator,
}
DocLookupError._tagmap.update(PaperApiBaseError._tagmap)
DocLookupError.doc_not_found = DocLookupError('doc_not_found')
DocSubscriptionLevel._default_validator = bv.Void()
DocSubscriptionLevel._ignore_validator = bv.Void()
DocSubscriptionLevel._every_validator = bv.Void()
DocSubscriptionLevel._no_email_validator = bv.Void()
DocSubscriptionLevel._tagmap = {
'default': DocSubscriptionLevel._default_validator,
'ignore': DocSubscriptionLevel._ignore_validator,
'every': DocSubscriptionLevel._every_validator,
'no_email': DocSubscriptionLevel._no_email_validator,
}
DocSubscriptionLevel.default = DocSubscriptionLevel('default')
DocSubscriptionLevel.ignore = DocSubscriptionLevel('ignore')
DocSubscriptionLevel.every = DocSubscriptionLevel('every')
DocSubscriptionLevel.no_email = DocSubscriptionLevel('no_email')
ExportFormat._html_validator = bv.Void()
ExportFormat._markdown_validator = bv.Void()
ExportFormat._other_validator = bv.Void()
ExportFormat._tagmap = {
'html': ExportFormat._html_validator,
'markdown': ExportFormat._markdown_validator,
'other': ExportFormat._other_validator,
}
ExportFormat.html = ExportFormat('html')
ExportFormat.markdown = ExportFormat('markdown')
ExportFormat.other = ExportFormat('other')
Folder._id_validator = bv.String()
Folder._name_validator = bv.String()
Folder._all_field_names_ = set([
'id',
'name',
])
Folder._all_fields_ = [
('id', Folder._id_validator),
('name', Folder._name_validator),
]
FolderSharingPolicyType._team_validator = bv.Void()
FolderSharingPolicyType._invite_only_validator = bv.Void()
FolderSharingPolicyType._tagmap = {
'team': FolderSharingPolicyType._team_validator,
'invite_only': FolderSharingPolicyType._invite_only_validator,
}
FolderSharingPolicyType.team = FolderSharingPolicyType('team')
FolderSharingPolicyType.invite_only = FolderSharingPolicyType('invite_only')
FolderSubscriptionLevel._none_validator = bv.Void()
FolderSubscriptionLevel._activity_only_validator = bv.Void()
FolderSubscriptionLevel._daily_emails_validator = bv.Void()
FolderSubscriptionLevel._weekly_emails_validator = bv.Void()
FolderSubscriptionLevel._tagmap = {
'none': FolderSubscriptionLevel._none_validator,
'activity_only': FolderSubscriptionLevel._activity_only_validator,
'daily_emails': FolderSubscriptionLevel._daily_emails_validator,
'weekly_emails': FolderSubscriptionLevel._weekly_emails_validator,
}
FolderSubscriptionLevel.none = FolderSubscriptionLevel('none')
FolderSubscriptionLevel.activity_only = FolderSubscriptionLevel('activity_only')
FolderSubscriptionLevel.daily_emails = FolderSubscriptionLevel('daily_emails')
FolderSubscriptionLevel.weekly_emails = FolderSubscriptionLevel('weekly_emails')
FoldersContainingPaperDoc._folder_sharing_policy_type_validator = bv.Nullable(FolderSharingPolicyType_validator)
FoldersContainingPaperDoc._folders_validator = bv.Nullable(bv.List(Folder_validator))
FoldersContainingPaperDoc._all_field_names_ = set([
'folder_sharing_policy_type',
'folders',
])
FoldersContainingPaperDoc._all_fields_ = [
('folder_sharing_policy_type', FoldersContainingPaperDoc._folder_sharing_policy_type_validator),
('folders', FoldersContainingPaperDoc._folders_validator),
]
ImportFormat._html_validator = bv.Void()
ImportFormat._markdown_validator = bv.Void()
ImportFormat._plain_text_validator = bv.Void()
ImportFormat._other_validator = bv.Void()
ImportFormat._tagmap = {
'html': ImportFormat._html_validator,
'markdown': ImportFormat._markdown_validator,
'plain_text': ImportFormat._plain_text_validator,
'other': ImportFormat._other_validator,
}
ImportFormat.html = ImportFormat('html')
ImportFormat.markdown = ImportFormat('markdown')
ImportFormat.plain_text = ImportFormat('plain_text')
ImportFormat.other = ImportFormat('other')
InviteeInfoWithPermissionLevel._invitee_validator = sharing.InviteeInfo_validator
InviteeInfoWithPermissionLevel._permission_level_validator = PaperDocPermissionLevel_validator
InviteeInfoWithPermissionLevel._all_field_names_ = set([
'invitee',
'permission_level',
])
InviteeInfoWithPermissionLevel._all_fields_ = [
('invitee', InviteeInfoWithPermissionLevel._invitee_validator),
('permission_level', InviteeInfoWithPermissionLevel._permission_level_validator),
]
ListDocsCursorError._cursor_error_validator = PaperApiCursorError_validator
ListDocsCursorError._other_validator = bv.Void()
ListDocsCursorError._tagmap = {
'cursor_error': ListDocsCursorError._cursor_error_validator,
'other': ListDocsCursorError._other_validator,
}
ListDocsCursorError.other = ListDocsCursorError('other')
ListPaperDocsArgs._filter_by_validator = ListPaperDocsFilterBy_validator
ListPaperDocsArgs._sort_by_validator = ListPaperDocsSortBy_validator
ListPaperDocsArgs._sort_order_validator = ListPaperDocsSortOrder_validator
ListPaperDocsArgs._limit_validator = bv.Int32(min_value=1, max_value=1000)
ListPaperDocsArgs._all_field_names_ = set([
'filter_by',
'sort_by',
'sort_order',
'limit',
])
ListPaperDocsArgs._all_fields_ = [
('filter_by', ListPaperDocsArgs._filter_by_validator),
('sort_by', ListPaperDocsArgs._sort_by_validator),
('sort_order', ListPaperDocsArgs._sort_order_validator),
('limit', ListPaperDocsArgs._limit_validator),
]
ListPaperDocsContinueArgs._cursor_validator = bv.String()
ListPaperDocsContinueArgs._all_field_names_ = set(['cursor'])
ListPaperDocsContinueArgs._all_fields_ = [('cursor', ListPaperDocsContinueArgs._cursor_validator)]
ListPaperDocsFilterBy._docs_accessed_validator = bv.Void()
ListPaperDocsFilterBy._docs_created_validator = bv.Void()
ListPaperDocsFilterBy._other_validator = bv.Void()
ListPaperDocsFilterBy._tagmap = {
'docs_accessed': ListPaperDocsFilterBy._docs_accessed_validator,
'docs_created': ListPaperDocsFilterBy._docs_created_validator,
'other': ListPaperDocsFilterBy._other_validator,
}
ListPaperDocsFilterBy.docs_accessed = ListPaperDocsFilterBy('docs_accessed')
ListPaperDocsFilterBy.docs_created = ListPaperDocsFilterBy('docs_created')
ListPaperDocsFilterBy.other = ListPaperDocsFilterBy('other')
ListPaperDocsResponse._doc_ids_validator = bv.List(PaperDocId_validator)
ListPaperDocsResponse._cursor_validator = Cursor_validator
ListPaperDocsResponse._has_more_validator = bv.Boolean()
ListPaperDocsResponse._all_field_names_ = set([
'doc_ids',
'cursor',
'has_more',
])
ListPaperDocsResponse._all_fields_ = [
('doc_ids', ListPaperDocsResponse._doc_ids_validator),
('cursor', ListPaperDocsResponse._cursor_validator),
('has_more', ListPaperDocsResponse._has_more_validator),
]
ListPaperDocsSortBy._accessed_validator = bv.Void()
ListPaperDocsSortBy._modified_validator = bv.Void()
ListPaperDocsSortBy._created_validator = bv.Void()
ListPaperDocsSortBy._other_validator = bv.Void()
ListPaperDocsSortBy._tagmap = {
'accessed': ListPaperDocsSortBy._accessed_validator,
'modified': ListPaperDocsSortBy._modified_validator,
'created': ListPaperDocsSortBy._created_validator,
'other': ListPaperDocsSortBy._other_validator,
}
ListPaperDocsSortBy.accessed = ListPaperDocsSortBy('accessed')
ListPaperDocsSortBy.modified = ListPaperDocsSortBy('modified')
ListPaperDocsSortBy.created = ListPaperDocsSortBy('created')
ListPaperDocsSortBy.other = ListPaperDocsSortBy('other')
ListPaperDocsSortOrder._ascending_validator = bv.Void()
ListPaperDocsSortOrder._descending_validator = bv.Void()
ListPaperDocsSortOrder._other_validator = bv.Void()
ListPaperDocsSortOrder._tagmap = {
'ascending': ListPaperDocsSortOrder._ascending_validator,
'descending': ListPaperDocsSortOrder._descending_validator,
'other': ListPaperDocsSortOrder._other_validator,
}
ListPaperDocsSortOrder.ascending = ListPaperDocsSortOrder('ascending')
ListPaperDocsSortOrder.descending = ListPaperDocsSortOrder('descending')
ListPaperDocsSortOrder.other = ListPaperDocsSortOrder('other')
ListUsersCursorError._doc_not_found_validator = bv.Void()
ListUsersCursorError._cursor_error_validator = PaperApiCursorError_validator
ListUsersCursorError._tagmap = {
'doc_not_found': ListUsersCursorError._doc_not_found_validator,
'cursor_error': ListUsersCursorError._cursor_error_validator,
}
ListUsersCursorError._tagmap.update(PaperApiBaseError._tagmap)
ListUsersCursorError.doc_not_found = ListUsersCursorError('doc_not_found')
ListUsersOnFolderArgs._limit_validator = bv.Int32(min_value=1, max_value=1000)
ListUsersOnFolderArgs._all_field_names_ = RefPaperDoc._all_field_names_.union(set(['limit']))
ListUsersOnFolderArgs._all_fields_ = RefPaperDoc._all_fields_ + [('limit', ListUsersOnFolderArgs._limit_validator)]
ListUsersOnFolderContinueArgs._cursor_validator = bv.String()
ListUsersOnFolderContinueArgs._all_field_names_ = RefPaperDoc._all_field_names_.union(set(['cursor']))
ListUsersOnFolderContinueArgs._all_fields_ = RefPaperDoc._all_fields_ + [('cursor', ListUsersOnFolderContinueArgs._cursor_validator)]
ListUsersOnFolderResponse._invitees_validator = bv.List(sharing.InviteeInfo_validator)
ListUsersOnFolderResponse._users_validator = bv.List(sharing.UserInfo_validator)
ListUsersOnFolderResponse._cursor_validator = Cursor_validator
ListUsersOnFolderResponse._has_more_validator = bv.Boolean()
ListUsersOnFolderResponse._all_field_names_ = set([
'invitees',
'users',
'cursor',
'has_more',
])
ListUsersOnFolderResponse._all_fields_ = [
('invitees', ListUsersOnFolderResponse._invitees_validator),
('users', ListUsersOnFolderResponse._users_validator),
('cursor', ListUsersOnFolderResponse._cursor_validator),
('has_more', ListUsersOnFolderResponse._has_more_validator),
]
ListUsersOnPaperDocArgs._limit_validator = bv.Int32(min_value=1, max_value=1000)
ListUsersOnPaperDocArgs._filter_by_validator = UserOnPaperDocFilter_validator
ListUsersOnPaperDocArgs._all_field_names_ = RefPaperDoc._all_field_names_.union(set([
'limit',
'filter_by',
]))
ListUsersOnPaperDocArgs._all_fields_ = RefPaperDoc._all_fields_ + [
('limit', ListUsersOnPaperDocArgs._limit_validator),
('filter_by', ListUsersOnPaperDocArgs._filter_by_validator),
]
ListUsersOnPaperDocContinueArgs._cursor_validator = bv.String()
ListUsersOnPaperDocContinueArgs._all_field_names_ = RefPaperDoc._all_field_names_.union(set(['cursor']))
ListUsersOnPaperDocContinueArgs._all_fields_ = RefPaperDoc._all_fields_ + [('cursor', ListUsersOnPaperDocContinueArgs._cursor_validator)]
ListUsersOnPaperDocResponse._invitees_validator = bv.List(InviteeInfoWithPermissionLevel_validator)
ListUsersOnPaperDocResponse._users_validator = bv.List(UserInfoWithPermissionLevel_validator)
ListUsersOnPaperDocResponse._doc_owner_validator = sharing.UserInfo_validator
ListUsersOnPaperDocResponse._cursor_validator = Cursor_validator
ListUsersOnPaperDocResponse._has_more_validator = bv.Boolean()
ListUsersOnPaperDocResponse._all_field_names_ = set([
'invitees',
'users',
'doc_owner',
'cursor',
'has_more',
])
ListUsersOnPaperDocResponse._all_fields_ = [
('invitees', ListUsersOnPaperDocResponse._invitees_validator),
('users', ListUsersOnPaperDocResponse._users_validator),
('doc_owner', ListUsersOnPaperDocResponse._doc_owner_validator),
('cursor', ListUsersOnPaperDocResponse._cursor_validator),
('has_more', ListUsersOnPaperDocResponse._has_more_validator),
]
PaperApiCursorError._expired_cursor_validator = bv.Void()
PaperApiCursorError._invalid_cursor_validator = bv.Void()
PaperApiCursorError._wrong_user_in_cursor_validator = bv.Void()
PaperApiCursorError._reset_validator = bv.Void()
PaperApiCursorError._other_validator = bv.Void()
PaperApiCursorError._tagmap = {
'expired_cursor': PaperApiCursorError._expired_cursor_validator,
'invalid_cursor': PaperApiCursorError._invalid_cursor_validator,
'wrong_user_in_cursor': PaperApiCursorError._wrong_user_in_cursor_validator,
'reset': PaperApiCursorError._reset_validator,
'other': PaperApiCursorError._other_validator,
}
PaperApiCursorError.expired_cursor = PaperApiCursorError('expired_cursor')
PaperApiCursorError.invalid_cursor = PaperApiCursorError('invalid_cursor')
PaperApiCursorError.wrong_user_in_cursor = PaperApiCursorError('wrong_user_in_cursor')
PaperApiCursorError.reset = PaperApiCursorError('reset')
PaperApiCursorError.other = PaperApiCursorError('other')
PaperDocCreateArgs._parent_folder_id_validator = bv.Nullable(bv.String())
PaperDocCreateArgs._import_format_validator = ImportFormat_validator
PaperDocCreateArgs._all_field_names_ = set([
'parent_folder_id',
'import_format',
])
PaperDocCreateArgs._all_fields_ = [
('parent_folder_id', PaperDocCreateArgs._parent_folder_id_validator),
('import_format', PaperDocCreateArgs._import_format_validator),
]
PaperDocCreateError._content_malformed_validator = bv.Void()
PaperDocCreateError._folder_not_found_validator = bv.Void()
PaperDocCreateError._doc_length_exceeded_validator = bv.Void()
PaperDocCreateError._image_size_exceeded_validator = bv.Void()
PaperDocCreateError._tagmap = {
'content_malformed': PaperDocCreateError._content_malformed_validator,
'folder_not_found': PaperDocCreateError._folder_not_found_validator,
'doc_length_exceeded': PaperDocCreateError._doc_length_exceeded_validator,
'image_size_exceeded': PaperDocCreateError._image_size_exceeded_validator,
}
PaperDocCreateError._tagmap.update(PaperApiBaseError._tagmap)
PaperDocCreateError.content_malformed = PaperDocCreateError('content_malformed')
PaperDocCreateError.folder_not_found = PaperDocCreateError('folder_not_found')
PaperDocCreateError.doc_length_exceeded = PaperDocCreateError('doc_length_exceeded')
PaperDocCreateError.image_size_exceeded = PaperDocCreateError('image_size_exceeded')
PaperDocCreateUpdateResult._doc_id_validator = bv.String()
PaperDocCreateUpdateResult._revision_validator = bv.Int64()
PaperDocCreateUpdateResult._title_validator = bv.String()
PaperDocCreateUpdateResult._all_field_names_ = set([
'doc_id',
'revision',
'title',
])
PaperDocCreateUpdateResult._all_fields_ = [
('doc_id', PaperDocCreateUpdateResult._doc_id_validator),
('revision', PaperDocCreateUpdateResult._revision_validator),
('title', PaperDocCreateUpdateResult._title_validator),
]
PaperDocExport._export_format_validator = ExportFormat_validator
PaperDocExport._all_field_names_ = RefPaperDoc._all_field_names_.union(set(['export_format']))
PaperDocExport._all_fields_ = RefPaperDoc._all_fields_ + [('export_format', PaperDocExport._export_format_validator)]
PaperDocExportResult._owner_validator = bv.String()
PaperDocExportResult._title_validator = bv.String()
PaperDocExportResult._revision_validator = bv.Int64()
PaperDocExportResult._mime_type_validator = bv.String()
PaperDocExportResult._all_field_names_ = set([
'owner',
'title',
'revision',
'mime_type',
])
PaperDocExportResult._all_fields_ = [
('owner', PaperDocExportResult._owner_validator),
('title', PaperDocExportResult._title_validator),
('revision', PaperDocExportResult._revision_validator),
('mime_type', PaperDocExportResult._mime_type_validator),
]
PaperDocPermissionLevel._edit_validator = bv.Void()
PaperDocPermissionLevel._view_and_comment_validator = bv.Void()
PaperDocPermissionLevel._other_validator = bv.Void()
PaperDocPermissionLevel._tagmap = {
'edit': PaperDocPermissionLevel._edit_validator,
'view_and_comment': PaperDocPermissionLevel._view_and_comment_validator,
'other': PaperDocPermissionLevel._other_validator,
}
PaperDocPermissionLevel.edit = PaperDocPermissionLevel('edit')
PaperDocPermissionLevel.view_and_comment = PaperDocPermissionLevel('view_and_comment')
PaperDocPermissionLevel.other = PaperDocPermissionLevel('other')
PaperDocSharingPolicy._sharing_policy_validator = SharingPolicy_validator
PaperDocSharingPolicy._all_field_names_ = RefPaperDoc._all_field_names_.union(set(['sharing_policy']))
PaperDocSharingPolicy._all_fields_ = RefPaperDoc._all_fields_ + [('sharing_policy', PaperDocSharingPolicy._sharing_policy_validator)]
PaperDocUpdateArgs._doc_update_policy_validator = PaperDocUpdatePolicy_validator
PaperDocUpdateArgs._revision_validator = bv.Int64()
PaperDocUpdateArgs._import_format_validator = ImportFormat_validator
PaperDocUpdateArgs._all_field_names_ = RefPaperDoc._all_field_names_.union(set([
'doc_update_policy',
'revision',
'import_format',
]))
PaperDocUpdateArgs._all_fields_ = RefPaperDoc._all_fields_ + [
('doc_update_policy', PaperDocUpdateArgs._doc_update_policy_validator),
('revision', PaperDocUpdateArgs._revision_validator),
('import_format', PaperDocUpdateArgs._import_format_validator),
]
PaperDocUpdateError._content_malformed_validator = bv.Void()
PaperDocUpdateError._revision_mismatch_validator = bv.Void()
PaperDocUpdateError._doc_length_exceeded_validator = bv.Void()
PaperDocUpdateError._image_size_exceeded_validator = bv.Void()
PaperDocUpdateError._doc_archived_validator = bv.Void()
PaperDocUpdateError._doc_deleted_validator = bv.Void()
PaperDocUpdateError._tagmap = {
'content_malformed': PaperDocUpdateError._content_malformed_validator,
'revision_mismatch': PaperDocUpdateError._revision_mismatch_validator,
'doc_length_exceeded': PaperDocUpdateError._doc_length_exceeded_validator,
'image_size_exceeded': PaperDocUpdateError._image_size_exceeded_validator,
'doc_archived': PaperDocUpdateError._doc_archived_validator,
'doc_deleted': PaperDocUpdateError._doc_deleted_validator,
}
PaperDocUpdateError._tagmap.update(DocLookupError._tagmap)
PaperDocUpdateError.content_malformed = PaperDocUpdateError('content_malformed')
PaperDocUpdateError.revision_mismatch = PaperDocUpdateError('revision_mismatch')
PaperDocUpdateError.doc_length_exceeded = PaperDocUpdateError('doc_length_exceeded')
PaperDocUpdateError.image_size_exceeded = PaperDocUpdateError('image_size_exceeded')
PaperDocUpdateError.doc_archived = PaperDocUpdateError('doc_archived')
PaperDocUpdateError.doc_deleted = PaperDocUpdateError('doc_deleted')
PaperDocUpdatePolicy._append_validator = bv.Void()
PaperDocUpdatePolicy._prepend_validator = bv.Void()
PaperDocUpdatePolicy._overwrite_all_validator = bv.Void()
PaperDocUpdatePolicy._other_validator = bv.Void()
PaperDocUpdatePolicy._tagmap = {
'append': PaperDocUpdatePolicy._append_validator,
'prepend': PaperDocUpdatePolicy._prepend_validator,
'overwrite_all': PaperDocUpdatePolicy._overwrite_all_validator,
'other': PaperDocUpdatePolicy._other_validator,
}
PaperDocUpdatePolicy.append = PaperDocUpdatePolicy('append')
PaperDocUpdatePolicy.prepend = PaperDocUpdatePolicy('prepend')
PaperDocUpdatePolicy.overwrite_all = PaperDocUpdatePolicy('overwrite_all')
PaperDocUpdatePolicy.other = PaperDocUpdatePolicy('other')
RemovePaperDocUser._member_validator = sharing.MemberSelector_validator
RemovePaperDocUser._all_field_names_ = RefPaperDoc._all_field_names_.union(set(['member']))
RemovePaperDocUser._all_fields_ = RefPaperDoc._all_fields_ + [('member', RemovePaperDocUser._member_validator)]
SharingPolicy._public_sharing_policy_validator = bv.Nullable(SharingPublicPolicyType_validator)
SharingPolicy._team_sharing_policy_validator = bv.Nullable(SharingTeamPolicyType_validator)
SharingPolicy._all_field_names_ = set([
'public_sharing_policy',
'team_sharing_policy',
])
SharingPolicy._all_fields_ = [
('public_sharing_policy', SharingPolicy._public_sharing_policy_validator),
('team_sharing_policy', SharingPolicy._team_sharing_policy_validator),
]
SharingTeamPolicyType._people_with_link_can_edit_validator = bv.Void()
SharingTeamPolicyType._people_with_link_can_view_and_comment_validator = bv.Void()
SharingTeamPolicyType._invite_only_validator = bv.Void()
SharingTeamPolicyType._tagmap = {
'people_with_link_can_edit': SharingTeamPolicyType._people_with_link_can_edit_validator,
'people_with_link_can_view_and_comment': SharingTeamPolicyType._people_with_link_can_view_and_comment_validator,
'invite_only': SharingTeamPolicyType._invite_only_validator,
}
SharingTeamPolicyType.people_with_link_can_edit = SharingTeamPolicyType('people_with_link_can_edit')
SharingTeamPolicyType.people_with_link_can_view_and_comment = SharingTeamPolicyType('people_with_link_can_view_and_comment')
SharingTeamPolicyType.invite_only = SharingTeamPolicyType('invite_only')
SharingPublicPolicyType._disabled_validator = bv.Void()
SharingPublicPolicyType._tagmap = {
'disabled': SharingPublicPolicyType._disabled_validator,
}
SharingPublicPolicyType._tagmap.update(SharingTeamPolicyType._tagmap)
SharingPublicPolicyType.disabled = SharingPublicPolicyType('disabled')
UserInfoWithPermissionLevel._user_validator = sharing.UserInfo_validator
UserInfoWithPermissionLevel._permission_level_validator = PaperDocPermissionLevel_validator
UserInfoWithPermissionLevel._all_field_names_ = set([
'user',
'permission_level',
])
UserInfoWithPermissionLevel._all_fields_ = [
('user', UserInfoWithPermissionLevel._user_validator),
('permission_level', UserInfoWithPermissionLevel._permission_level_validator),
]
UserOnPaperDocFilter._visited_validator = bv.Void()
UserOnPaperDocFilter._shared_validator = bv.Void()
UserOnPaperDocFilter._other_validator = bv.Void()
UserOnPaperDocFilter._tagmap = {
'visited': UserOnPaperDocFilter._visited_validator,
'shared': UserOnPaperDocFilter._shared_validator,
'other': UserOnPaperDocFilter._other_validator,
}
UserOnPaperDocFilter.visited = UserOnPaperDocFilter('visited')
UserOnPaperDocFilter.shared = UserOnPaperDocFilter('shared')
UserOnPaperDocFilter.other = UserOnPaperDocFilter('other')
docs_archive = bb.Route(
'docs/archive',
1,
False,
RefPaperDoc_validator,
bv.Void(),
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_create = bb.Route(
'docs/create',
1,
False,
PaperDocCreateArgs_validator,
PaperDocCreateUpdateResult_validator,
PaperDocCreateError_validator,
{'host': u'api',
'style': u'upload'},
)
docs_download = bb.Route(
'docs/download',
1,
False,
PaperDocExport_validator,
PaperDocExportResult_validator,
DocLookupError_validator,
{'host': u'api',
'style': u'download'},
)
docs_folder_users_list = bb.Route(
'docs/folder_users/list',
1,
False,
ListUsersOnFolderArgs_validator,
ListUsersOnFolderResponse_validator,
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_folder_users_list_continue = bb.Route(
'docs/folder_users/list/continue',
1,
False,
ListUsersOnFolderContinueArgs_validator,
ListUsersOnFolderResponse_validator,
ListUsersCursorError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_get_folder_info = bb.Route(
'docs/get_folder_info',
1,
False,
RefPaperDoc_validator,
FoldersContainingPaperDoc_validator,
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_list = bb.Route(
'docs/list',
1,
False,
ListPaperDocsArgs_validator,
ListPaperDocsResponse_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
docs_list_continue = bb.Route(
'docs/list/continue',
1,
False,
ListPaperDocsContinueArgs_validator,
ListPaperDocsResponse_validator,
ListDocsCursorError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_permanently_delete = bb.Route(
'docs/permanently_delete',
1,
False,
RefPaperDoc_validator,
bv.Void(),
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_sharing_policy_get = bb.Route(
'docs/sharing_policy/get',
1,
False,
RefPaperDoc_validator,
SharingPolicy_validator,
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_sharing_policy_set = bb.Route(
'docs/sharing_policy/set',
1,
False,
PaperDocSharingPolicy_validator,
bv.Void(),
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_update = bb.Route(
'docs/update',
1,
False,
PaperDocUpdateArgs_validator,
PaperDocCreateUpdateResult_validator,
PaperDocUpdateError_validator,
{'host': u'api',
'style': u'upload'},
)
docs_users_add = bb.Route(
'docs/users/add',
1,
False,
AddPaperDocUser_validator,
bv.List(AddPaperDocUserMemberResult_validator),
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_users_list = bb.Route(
'docs/users/list',
1,
False,
ListUsersOnPaperDocArgs_validator,
ListUsersOnPaperDocResponse_validator,
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_users_list_continue = bb.Route(
'docs/users/list/continue',
1,
False,
ListUsersOnPaperDocContinueArgs_validator,
ListUsersOnPaperDocResponse_validator,
ListUsersCursorError_validator,
{'host': u'api',
'style': u'rpc'},
)
docs_users_remove = bb.Route(
'docs/users/remove',
1,
False,
RemovePaperDocUser_validator,
bv.Void(),
DocLookupError_validator,
{'host': u'api',
'style': u'rpc'},
)
ROUTES = {
'docs/archive': docs_archive,
'docs/create': docs_create,
'docs/download': docs_download,
'docs/folder_users/list': docs_folder_users_list,
'docs/folder_users/list/continue': docs_folder_users_list_continue,
'docs/get_folder_info': docs_get_folder_info,
'docs/list': docs_list,
'docs/list/continue': docs_list_continue,
'docs/permanently_delete': docs_permanently_delete,
'docs/sharing_policy/get': docs_sharing_policy_get,
'docs/sharing_policy/set': docs_sharing_policy_set,
'docs/update': docs_update,
'docs/users/add': docs_users_add,
'docs/users/list': docs_users_list,
'docs/users/list/continue': docs_users_list_continue,
'docs/users/remove': docs_users_remove,
}
dropbox-sdk-python-9.4.0/dropbox/seen_state.py 0000664 0000000 0000000 00000011363 13500550210 0021453 0 ustar 00root root 0000000 0000000 # -*- 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 = {
}
dropbox-sdk-python-9.4.0/dropbox/session.py 0000664 0000000 0000000 00000003330 13500550210 0020777 0 ustar 00root root 0000000 0000000 import pkg_resources
import os
import ssl
import requests
from requests.adapters import HTTPAdapter
from urllib3.poolmanager import PoolManager
API_DOMAIN = os.environ.get('DROPBOX_API_DOMAIN',
os.environ.get('DROPBOX_DOMAIN', '.dropboxapi.com'))
WEB_DOMAIN = os.environ.get('DROPBOX_WEB_DOMAIN',
os.environ.get('DROPBOX_DOMAIN', '.dropbox.com'))
# Default short hostname for RPC-style routes.
HOST_API = 'api'
# Default short hostname for upload and download-style routes.
HOST_CONTENT = 'content'
# Default short hostname for longpoll routes.
HOST_NOTIFY = 'notify'
# Default short hostname for the Drobox website.
HOST_WWW = 'www'
API_HOST = os.environ.get('DROPBOX_API_HOST', HOST_API + API_DOMAIN)
API_CONTENT_HOST = os.environ.get('DROPBOX_API_CONTENT_HOST', HOST_CONTENT + API_DOMAIN)
API_NOTIFICATION_HOST = os.environ.get('DROPBOX_API_NOTIFY_HOST', HOST_NOTIFY + API_DOMAIN)
WEB_HOST = os.environ.get('DROPBOX_WEB_HOST', HOST_WWW + WEB_DOMAIN)
_TRUSTED_CERT_FILE = pkg_resources.resource_filename(__name__, 'trusted-certs.crt')
# TODO(kelkabany): We probably only want to instantiate this once so that even
# if multiple Dropbox objects are instantiated, they all share the same pool.
class _SSLAdapter(HTTPAdapter):
def init_poolmanager(self, connections, maxsize, block=False, **_):
self.poolmanager = PoolManager(
num_pools=connections,
maxsize=maxsize,
block=block,
cert_reqs=ssl.CERT_REQUIRED,
ca_certs=_TRUSTED_CERT_FILE,
)
def pinned_session(pool_maxsize=8):
http_adapter = _SSLAdapter(pool_connections=4, pool_maxsize=pool_maxsize)
_session = requests.session()
_session.mount('https://', http_adapter)
return _session
dropbox-sdk-python-9.4.0/dropbox/sharing.py 0000664 0000000 0000000 00002373366 13500550210 0020774 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
"""
This namespace contains endpoints and data types for creating and managing shared links and shared folders.
"""
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 (
async_,
common,
files,
seen_state,
team_common,
users,
users_common,
)
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.
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.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'
# Attribute is overwritten below the class definition
owner = None
# Attribute is overwritten below the class definition
editor = None
# Attribute is overwritten below the class definition
viewer = None
# Attribute is overwritten below the class definition
viewer_no_comment = 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_editor(self):
"""
Check if the union tag is ``editor``.
:rtype: bool
"""
return self._tag == 'editor'
def is_viewer(self):
"""
Check if the union tag is ``viewer``.
:rtype: bool
"""
return self._tag == 'viewer'
def is_viewer_no_comment(self):
"""
Check if the union tag is ``viewer_no_comment``.
:rtype: bool
"""
return self._tag == 'viewer_no_comment'
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(AccessLevel, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'AccessLevel(%r, %r)' % (self._tag, self._value)
AccessLevel_validator = bv.Union(AccessLevel)
class AclUpdatePolicy(bb.Union):
"""
Who can change a shared folder's access control list (ACL). In other words,
who can add, remove, or change the privileges of 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.
: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'
# 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 _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(bb.Struct):
"""
Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_add_file_member`.
: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__ = [
'_file_value',
'_file_present',
'_members_value',
'_members_present',
'_custom_message_value',
'_custom_message_present',
'_quiet_value',
'_quiet_present',
'_access_level_value',
'_access_level_present',
'_add_message_as_comment_value',
'_add_message_as_comment_present',
]
_has_required_fields = True
def __init__(self,
file=None,
members=None,
custom_message=None,
quiet=None,
access_level=None,
add_message_as_comment=None):
self._file_value = None
self._file_present = False
self._members_value = None
self._members_present = False
self._custom_message_value = None
self._custom_message_present = False
self._quiet_value = None
self._quiet_present = False
self._access_level_value = None
self._access_level_present = False
self._add_message_as_comment_value = None
self._add_message_as_comment_present = False
if file is not None:
self.file = file
if members is not None:
self.members = members
if custom_message is not None:
self.custom_message = custom_message
if quiet is not None:
self.quiet = quiet
if access_level is not None:
self.access_level = access_level
if add_message_as_comment is not None:
self.add_message_as_comment = add_message_as_comment
@property
def file(self):
"""
File to which to add members.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
self._file_value = None
self._file_present = False
@property
def members(self):
"""
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.
:rtype: list of [MemberSelector]
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
self._members_value = None
self._members_present = False
@property
def custom_message(self):
"""
Message to send to added members in their invitation.
:rtype: str
"""
if self._custom_message_present:
return self._custom_message_value
else:
return None
@custom_message.setter
def custom_message(self, val):
if val is None:
del self.custom_message
return
val = self._custom_message_validator.validate(val)
self._custom_message_value = val
self._custom_message_present = True
@custom_message.deleter
def custom_message(self):
self._custom_message_value = None
self._custom_message_present = False
@property
def quiet(self):
"""
Whether added members should be notified via device notifications of
their invitation.
:rtype: bool
"""
if self._quiet_present:
return self._quiet_value
else:
return False
@quiet.setter
def quiet(self, val):
val = self._quiet_validator.validate(val)
self._quiet_value = val
self._quiet_present = True
@quiet.deleter
def quiet(self):
self._quiet_value = None
self._quiet_present = False
@property
def access_level(self):
"""
AccessLevel union object, describing what access level we want to give
new members.
:rtype: AccessLevel
"""
if self._access_level_present:
return self._access_level_value
else:
return AccessLevel.viewer
@access_level.setter
def access_level(self, val):
self._access_level_validator.validate_type_only(val)
self._access_level_value = val
self._access_level_present = True
@access_level.deleter
def access_level(self):
self._access_level_value = None
self._access_level_present = False
@property
def add_message_as_comment(self):
"""
If the custom message should be added as a comment on the file.
:rtype: bool
"""
if self._add_message_as_comment_present:
return self._add_message_as_comment_value
else:
return False
@add_message_as_comment.setter
def add_message_as_comment(self, val):
val = self._add_message_as_comment_validator.validate(val)
self._add_message_as_comment_value = val
self._add_message_as_comment_present = True
@add_message_as_comment.deleter
def add_message_as_comment(self):
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,
self._members_value,
self._custom_message_value,
self._quiet_value,
self._access_level_value,
self._add_message_as_comment_value,
)
AddFileMemberArgs_validator = bv.Struct(AddFileMemberArgs)
class AddFileMemberError(bb.Union):
"""
Errors for :meth:`dropbox.dropbox.Dropbox.sharing_add_file_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 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'
# Attribute is overwritten below the class definition
rate_limit = None
# Attribute is overwritten below the class definition
invalid_comment = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def user_error(cls, val):
"""
Create an instance of this class set to the ``user_error`` tag with
value ``val``.
:param SharingUserError val:
:rtype: AddFileMemberError
"""
return cls('user_error', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: AddFileMemberError
"""
return cls('access_error', val)
def is_user_error(self):
"""
Check if the union tag is ``user_error``.
:rtype: bool
"""
return self._tag == 'user_error'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_rate_limit(self):
"""
Check if the union tag is ``rate_limit``.
:rtype: bool
"""
return self._tag == 'rate_limit'
def is_invalid_comment(self):
"""
Check if the union tag is ``invalid_comment``.
:rtype: bool
"""
return self._tag == 'invalid_comment'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_user_error(self):
"""
Only call this if :meth:`is_user_error` is true.
:rtype: SharingUserError
"""
if not self.is_user_error():
raise AttributeError("tag 'user_error' not set")
return self._value
def get_access_error(self):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(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(bb.Struct):
"""
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_members_value',
'_members_present',
'_quiet_value',
'_quiet_present',
'_custom_message_value',
'_custom_message_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
members=None,
quiet=None,
custom_message=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._members_value = None
self._members_present = False
self._quiet_value = None
self._quiet_present = False
self._custom_message_value = None
self._custom_message_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if members is not None:
self.members = members
if quiet is not None:
self.quiet = quiet
if custom_message is not None:
self.custom_message = custom_message
@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
@property
def members(self):
"""
The intended list of members to add. Added members will receive invites
to join the shared folder.
:rtype: list of [AddMember]
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
self._members_value = None
self._members_present = False
@property
def quiet(self):
"""
Whether added members should be notified via email and device
notifications of their invite.
:rtype: bool
"""
if self._quiet_present:
return self._quiet_value
else:
return False
@quiet.setter
def quiet(self, val):
val = self._quiet_validator.validate(val)
self._quiet_value = val
self._quiet_present = True
@quiet.deleter
def quiet(self):
self._quiet_value = None
self._quiet_present = False
@property
def custom_message(self):
"""
Optional message to display to added members in their invitation.
:rtype: str
"""
if self._custom_message_present:
return self._custom_message_value
else:
return None
@custom_message.setter
def custom_message(self, val):
if val is None:
del self.custom_message
return
val = self._custom_message_validator.validate(val)
self._custom_message_value = val
self._custom_message_present = True
@custom_message.deleter
def custom_message(self):
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,
self._members_value,
self._quiet_value,
self._custom_message_value,
)
AddFolderMemberArg_validator = bv.Struct(AddFolderMemberArg)
class AddFolderMemberError(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 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
# Attribute is overwritten below the class definition
too_many_invitees = None
# Attribute is overwritten below the class definition
insufficient_plan = None
# Attribute is overwritten below the class definition
team_folder = None
# 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: AddFolderMemberError
"""
return cls('access_error', val)
@classmethod
def bad_member(cls, val):
"""
Create an instance of this class set to the ``bad_member`` tag with
value ``val``.
:param AddMemberSelectorError val:
:rtype: AddFolderMemberError
"""
return cls('bad_member', val)
@classmethod
def too_many_members(cls, val):
"""
Create an instance of this class set to the ``too_many_members`` tag
with value ``val``.
:param int val:
:rtype: AddFolderMemberError
"""
return cls('too_many_members', val)
@classmethod
def too_many_pending_invites(cls, val):
"""
Create an instance of this class set to the ``too_many_pending_invites``
tag with value ``val``.
:param int val:
:rtype: AddFolderMemberError
"""
return cls('too_many_pending_invites', val)
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_email_unverified(self):
"""
Check if the union tag is ``email_unverified``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'bad_member'
def is_cant_share_outside_team(self):
"""
Check if the union tag is ``cant_share_outside_team``.
:rtype: bool
"""
return self._tag == 'cant_share_outside_team'
def is_too_many_members(self):
"""
Check if the union tag is ``too_many_members``.
:rtype: bool
"""
return self._tag == 'too_many_members'
def is_too_many_pending_invites(self):
"""
Check if the union tag is ``too_many_pending_invites``.
:rtype: bool
"""
return self._tag == 'too_many_pending_invites'
def is_rate_limit(self):
"""
Check if the union tag is ``rate_limit``.
:rtype: bool
"""
return self._tag == 'rate_limit'
def is_too_many_invitees(self):
"""
Check if the union tag is ``too_many_invitees``.
:rtype: bool
"""
return self._tag == 'too_many_invitees'
def is_insufficient_plan(self):
"""
Check if the union tag is ``insufficient_plan``.
:rtype: bool
"""
return self._tag == 'insufficient_plan'
def is_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
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 get_bad_member(self):
"""
``AddFolderMemberArg.members`` contains a bad invitation recipient.
Only call this if :meth:`is_bad_member` is true.
:rtype: AddMemberSelectorError
"""
if not self.is_bad_member():
raise AttributeError("tag 'bad_member' not set")
return self._value
def get_too_many_members(self):
"""
The value is the member limit that was reached.
Only call this if :meth:`is_too_many_members` is true.
:rtype: int
"""
if not self.is_too_many_members():
raise AttributeError("tag 'too_many_members' not set")
return self._value
def get_too_many_pending_invites(self):
"""
The value is the pending invite limit that was reached.
Only call this if :meth:`is_too_many_pending_invites` is true.
: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(bb.Struct):
"""
The member and type of access the member should have when added to a shared
folder.
: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__ = [
'_member_value',
'_member_present',
'_access_level_value',
'_access_level_present',
]
_has_required_fields = True
def __init__(self,
member=None,
access_level=None):
self._member_value = None
self._member_present = False
self._access_level_value = None
self._access_level_present = False
if member is not None:
self.member = member
if access_level is not None:
self.access_level = access_level
@property
def member(self):
"""
The member to add to the shared folder.
:rtype: MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
self._member_value = None
self._member_present = False
@property
def access_level(self):
"""
The access level to grant ``member`` to the shared folder.
``AccessLevel.owner`` is disallowed.
:rtype: AccessLevel
"""
if self._access_level_present:
return self._access_level_value
else:
return AccessLevel.viewer
@access_level.setter
def access_level(self, val):
self._access_level_validator.validate_type_only(val)
self._access_level_value = val
self._access_level_present = True
@access_level.deleter
def access_level(self):
self._access_level_value = None
self._access_level_present = False
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,
self._access_level_value,
)
AddMember_validator = bv.Struct(AddMember)
class AddMemberSelectorError(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.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'
# Attribute is overwritten below the class definition
automatic_group = None
# Attribute is overwritten below the class definition
group_deleted = None
# Attribute is overwritten below the class definition
group_not_on_team = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def invalid_dropbox_id(cls, val):
"""
Create an instance of this class set to the ``invalid_dropbox_id`` tag
with value ``val``.
:param str val:
:rtype: AddMemberSelectorError
"""
return cls('invalid_dropbox_id', val)
@classmethod
def invalid_email(cls, val):
"""
Create an instance of this class set to the ``invalid_email`` tag with
value ``val``.
:param str val:
:rtype: AddMemberSelectorError
"""
return cls('invalid_email', val)
@classmethod
def unverified_dropbox_id(cls, val):
"""
Create an instance of this class set to the ``unverified_dropbox_id``
tag with value ``val``.
:param str val:
:rtype: AddMemberSelectorError
"""
return cls('unverified_dropbox_id', val)
def is_automatic_group(self):
"""
Check if the union tag is ``automatic_group``.
:rtype: bool
"""
return self._tag == 'automatic_group'
def is_invalid_dropbox_id(self):
"""
Check if the union tag is ``invalid_dropbox_id``.
:rtype: bool
"""
return self._tag == 'invalid_dropbox_id'
def is_invalid_email(self):
"""
Check if the union tag is ``invalid_email``.
:rtype: bool
"""
return self._tag == 'invalid_email'
def is_unverified_dropbox_id(self):
"""
Check if the union tag is ``unverified_dropbox_id``.
:rtype: bool
"""
return self._tag == 'unverified_dropbox_id'
def is_group_deleted(self):
"""
Check if the union tag is ``group_deleted``.
:rtype: bool
"""
return self._tag == 'group_deleted'
def is_group_not_on_team(self):
"""
Check if the union tag is ``group_not_on_team``.
:rtype: bool
"""
return self._tag == 'group_not_on_team'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_invalid_dropbox_id(self):
"""
The value is the ID that could not be identified.
Only call this if :meth:`is_invalid_dropbox_id` is true.
:rtype: str
"""
if not self.is_invalid_dropbox_id():
raise AttributeError("tag 'invalid_dropbox_id' not set")
return self._value
def get_invalid_email(self):
"""
The value is the e-email address that is malformed.
Only call this if :meth:`is_invalid_email` is true.
:rtype: str
"""
if not self.is_invalid_email():
raise AttributeError("tag 'invalid_email' not set")
return self._value
def get_unverified_dropbox_id(self):
"""
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.
Only call this if :meth:`is_unverified_dropbox_id` is true.
:rtype: str
"""
if not self.is_unverified_dropbox_id():
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(bb.Struct):
"""
Information about the content that has a link audience different than that
of this folder.
:ivar sharing.AudienceExceptionContentInfo.name: The name of the content,
which is either a file or a folder.
"""
__slots__ = [
'_name_value',
'_name_present',
]
_has_required_fields = True
def __init__(self,
name=None):
self._name_value = None
self._name_present = False
if name is not None:
self.name = name
@property
def name(self):
"""
The name of the content, which is either a file or a folder.
:rtype: str
"""
if self._name_present:
return self._name_value
else:
raise AttributeError("missing required field 'name'")
@name.setter
def name(self, val):
val = self._name_validator.validate(val)
self._name_value = val
self._name_present = True
@name.deleter
def name(self):
self._name_value = None
self._name_present = False
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,
)
AudienceExceptionContentInfo_validator = bv.Struct(AudienceExceptionContentInfo)
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 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__ = [
'_count_value',
'_count_present',
'_exceptions_value',
'_exceptions_present',
]
_has_required_fields = True
def __init__(self,
count=None,
exceptions=None):
self._count_value = None
self._count_present = False
self._exceptions_value = None
self._exceptions_present = False
if count is not None:
self.count = count
if exceptions is not None:
self.exceptions = exceptions
@property
def count(self):
"""
:rtype: int
"""
if self._count_present:
return self._count_value
else:
raise AttributeError("missing required field 'count'")
@count.setter
def count(self, val):
val = self._count_validator.validate(val)
self._count_value = val
self._count_present = True
@count.deleter
def count(self):
self._count_value = None
self._count_present = False
@property
def exceptions(self):
"""
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.
:rtype: list of [AudienceExceptionContentInfo]
"""
if self._exceptions_present:
return self._exceptions_value
else:
raise AttributeError("missing required field 'exceptions'")
@exceptions.setter
def exceptions(self, val):
val = self._exceptions_validator.validate(val)
self._exceptions_value = val
self._exceptions_present = True
@exceptions.deleter
def exceptions(self):
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,
self._exceptions_value,
)
AudienceExceptions_validator = bv.Struct(AudienceExceptions)
class AudienceRestrictingSharedFolder(bb.Struct):
"""
Information about the shared folder that prevents the link audience for this
link from being more restrictive.
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_name_value',
'_name_present',
'_audience_value',
'_audience_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
name=None,
audience=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._name_value = None
self._name_present = False
self._audience_value = None
self._audience_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if name is not None:
self.name = name
if audience is not None:
self.audience = audience
@property
def shared_folder_id(self):
"""
The ID of the shared folder.
:rtype: str
"""
if self._shared_folder_id_present:
return self._shared_folder_id_value
else:
raise AttributeError("missing required field 'shared_folder_id'")
@shared_folder_id.setter
def shared_folder_id(self, val):
val = self._shared_folder_id_validator.validate(val)
self._shared_folder_id_value = val
self._shared_folder_id_present = True
@shared_folder_id.deleter
def shared_folder_id(self):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
@property
def name(self):
"""
The name of the shared folder.
:rtype: str
"""
if self._name_present:
return self._name_value
else:
raise AttributeError("missing required field 'name'")
@name.setter
def name(self, val):
val = self._name_validator.validate(val)
self._name_value = val
self._name_present = True
@name.deleter
def name(self):
self._name_value = None
self._name_present = False
@property
def audience(self):
"""
The link audience of the shared folder.
:rtype: LinkAudience
"""
if self._audience_present:
return self._audience_value
else:
raise AttributeError("missing required field 'audience'")
@audience.setter
def audience(self, val):
self._audience_validator.validate_type_only(val)
self._audience_value = val
self._audience_present = True
@audience.deleter
def audience(self):
self._audience_value = None
self._audience_present = False
def _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,
self._name_value,
self._audience_value,
)
AudienceRestrictingSharedFolder_validator = bv.Struct(AudienceRestrictingSharedFolder)
class ChangeFileMemberAccessArgs(bb.Struct):
"""
Arguments for
:meth:`dropbox.dropbox.Dropbox.sharing_change_file_member_access`.
: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__ = [
'_file_value',
'_file_present',
'_member_value',
'_member_present',
'_access_level_value',
'_access_level_present',
]
_has_required_fields = True
def __init__(self,
file=None,
member=None,
access_level=None):
self._file_value = None
self._file_present = False
self._member_value = None
self._member_present = False
self._access_level_value = None
self._access_level_present = False
if file is not None:
self.file = file
if member is not None:
self.member = member
if access_level is not None:
self.access_level = access_level
@property
def file(self):
"""
File for which we are changing a member's access.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
self._file_value = None
self._file_present = False
@property
def member(self):
"""
The member whose access we are changing.
:rtype: MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
self._member_value = None
self._member_present = False
@property
def access_level(self):
"""
The new access level for the member.
:rtype: AccessLevel
"""
if self._access_level_present:
return self._access_level_value
else:
raise AttributeError("missing required field 'access_level'")
@access_level.setter
def access_level(self, val):
self._access_level_validator.validate_type_only(val)
self._access_level_value = val
self._access_level_present = True
@access_level.deleter
def access_level(self):
self._access_level_value = None
self._access_level_present = False
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,
self._member_value,
self._access_level_value,
)
ChangeFileMemberAccessArgs_validator = bv.Struct(ChangeFileMemberAccessArgs)
class LinkMetadata(bb.Struct):
"""
Metadata for a shared link. This can be either a :class:`PathLinkMetadata`
or :class:`CollectionLinkMetadata`.
: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__ = [
'_url_value',
'_url_present',
'_visibility_value',
'_visibility_present',
'_expires_value',
'_expires_present',
]
_has_required_fields = True
def __init__(self,
url=None,
visibility=None,
expires=None):
self._url_value = None
self._url_present = False
self._visibility_value = None
self._visibility_present = False
self._expires_value = None
self._expires_present = False
if url is not None:
self.url = url
if visibility is not None:
self.visibility = visibility
if expires is not None:
self.expires = expires
@property
def url(self):
"""
URL of the shared link.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
@property
def visibility(self):
"""
Who can access the link.
:rtype: Visibility
"""
if self._visibility_present:
return self._visibility_value
else:
raise AttributeError("missing required field 'visibility'")
@visibility.setter
def visibility(self, val):
self._visibility_validator.validate_type_only(val)
self._visibility_value = val
self._visibility_present = True
@visibility.deleter
def visibility(self):
self._visibility_value = None
self._visibility_present = False
@property
def expires(self):
"""
Expiration time, if set. By default the link won't expire.
:rtype: datetime.datetime
"""
if self._expires_present:
return self._expires_value
else:
return None
@expires.setter
def expires(self, val):
if val is None:
del self.expires
return
val = self._expires_validator.validate(val)
self._expires_value = val
self._expires_present = True
@expires.deleter
def expires(self):
self._expires_value = None
self._expires_present = False
def _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,
self._visibility_value,
self._expires_value,
)
LinkMetadata_validator = bv.StructTree(LinkMetadata)
class CollectionLinkMetadata(LinkMetadata):
"""
Metadata for a collection-based shared link.
"""
__slots__ = [
]
_has_required_fields = True
def __init__(self,
url=None,
visibility=None,
expires=None):
super(CollectionLinkMetadata, self).__init__(url,
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,
self._visibility_value,
self._expires_value,
)
CollectionLinkMetadata_validator = bv.Struct(CollectionLinkMetadata)
class CreateSharedLinkArg(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_short_url_value',
'_short_url_present',
'_pending_upload_value',
'_pending_upload_present',
]
_has_required_fields = True
def __init__(self,
path=None,
short_url=None,
pending_upload=None):
self._path_value = None
self._path_present = False
self._short_url_value = None
self._short_url_present = False
self._pending_upload_value = None
self._pending_upload_present = False
if path is not None:
self.path = path
if short_url is not None:
self.short_url = short_url
if pending_upload is not None:
self.pending_upload = pending_upload
@property
def path(self):
"""
The path to share.
: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
@property
def short_url(self):
"""
Whether to return a shortened URL.
:rtype: bool
"""
if self._short_url_present:
return self._short_url_value
else:
return False
@short_url.setter
def short_url(self, val):
val = self._short_url_validator.validate(val)
self._short_url_value = val
self._short_url_present = True
@short_url.deleter
def short_url(self):
self._short_url_value = None
self._short_url_present = False
@property
def pending_upload(self):
"""
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.
:rtype: PendingUploadMode
"""
if self._pending_upload_present:
return self._pending_upload_value
else:
return None
@pending_upload.setter
def pending_upload(self, val):
if val is None:
del self.pending_upload
return
self._pending_upload_validator.validate_type_only(val)
self._pending_upload_value = val
self._pending_upload_present = True
@pending_upload.deleter
def pending_upload(self):
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,
self._short_url_value,
self._pending_upload_value,
)
CreateSharedLinkArg_validator = bv.Struct(CreateSharedLinkArg)
class CreateSharedLinkError(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 files.LookupError val:
:rtype: CreateSharedLinkError
"""
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: 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(bb.Struct):
"""
: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__ = [
'_path_value',
'_path_present',
'_settings_value',
'_settings_present',
]
_has_required_fields = True
def __init__(self,
path=None,
settings=None):
self._path_value = None
self._path_present = False
self._settings_value = None
self._settings_present = False
if path is not None:
self.path = path
if settings is not None:
self.settings = settings
@property
def path(self):
"""
The path to be shared by the shared link.
: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
@property
def settings(self):
"""
The requested settings for the newly created shared link.
:rtype: SharedLinkSettings
"""
if self._settings_present:
return self._settings_value
else:
return None
@settings.setter
def settings(self, val):
if val is None:
del self.settings
return
self._settings_validator.validate_type_only(val)
self._settings_value = val
self._settings_present = True
@settings.deleter
def settings(self):
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,
self._settings_value,
)
CreateSharedLinkWithSettingsArg_validator = bv.Struct(CreateSharedLinkWithSettingsArg)
class CreateSharedLinkWithSettingsError(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.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
access_denied = None
@classmethod
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``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):
"""
Create an instance of this class set to the ``settings_error`` tag with
value ``val``.
:param SharedLinkSettingsError val:
:rtype: CreateSharedLinkWithSettingsError
"""
return cls('settings_error', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
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_shared_link_already_exists(self):
"""
Check if the union tag is ``shared_link_already_exists``.
:rtype: bool
"""
return self._tag == 'shared_link_already_exists'
def is_settings_error(self):
"""
Check if the union tag is ``settings_error``.
:rtype: bool
"""
return self._tag == 'settings_error'
def is_access_denied(self):
"""
Check if the union tag is ``access_denied``.
:rtype: bool
"""
return self._tag == 'access_denied'
def get_path(self):
"""
Only call this if :meth:`is_path` is true.
: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.
Only call this if :meth:`is_settings_error` is true.
:rtype: SharedLinkSettingsError
"""
if not self.is_settings_error():
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(bb.Struct):
"""
: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__ = [
'_access_level_value',
'_access_level_present',
'_audience_options_value',
'_audience_options_present',
'_audience_restricting_shared_folder_value',
'_audience_restricting_shared_folder_present',
'_current_audience_value',
'_current_audience_present',
'_expiry_value',
'_expiry_present',
'_link_permissions_value',
'_link_permissions_present',
'_password_protected_value',
'_password_protected_present',
]
_has_required_fields = True
def __init__(self,
audience_options=None,
current_audience=None,
link_permissions=None,
password_protected=None,
access_level=None,
audience_restricting_shared_folder=None,
expiry=None):
self._access_level_value = None
self._access_level_present = False
self._audience_options_value = None
self._audience_options_present = False
self._audience_restricting_shared_folder_value = None
self._audience_restricting_shared_folder_present = False
self._current_audience_value = None
self._current_audience_present = False
self._expiry_value = None
self._expiry_present = False
self._link_permissions_value = None
self._link_permissions_present = False
self._password_protected_value = None
self._password_protected_present = False
if access_level is not None:
self.access_level = access_level
if audience_options is not None:
self.audience_options = audience_options
if audience_restricting_shared_folder is not None:
self.audience_restricting_shared_folder = audience_restricting_shared_folder
if current_audience is not None:
self.current_audience = current_audience
if expiry is not None:
self.expiry = expiry
if link_permissions is not None:
self.link_permissions = link_permissions
if password_protected is not None:
self.password_protected = password_protected
@property
def access_level(self):
"""
The access level on the link for this file.
:rtype: AccessLevel
"""
if self._access_level_present:
return self._access_level_value
else:
return None
@access_level.setter
def access_level(self, val):
if val is None:
del self.access_level
return
self._access_level_validator.validate_type_only(val)
self._access_level_value = val
self._access_level_present = True
@access_level.deleter
def access_level(self):
self._access_level_value = None
self._access_level_present = False
@property
def audience_options(self):
"""
The audience options that are available for the content. Some audience
options may be unavailable. For example, team_only may be unavailable if
the content is not owned by a user on a team. The 'default' audience
option is always available if the user can modify link settings.
:rtype: list of [LinkAudience]
"""
if self._audience_options_present:
return self._audience_options_value
else:
raise AttributeError("missing required field 'audience_options'")
@audience_options.setter
def audience_options(self, val):
val = self._audience_options_validator.validate(val)
self._audience_options_value = val
self._audience_options_present = True
@audience_options.deleter
def audience_options(self):
self._audience_options_value = None
self._audience_options_present = False
@property
def audience_restricting_shared_folder(self):
"""
The shared folder that prevents the link audience for this link from
being more restrictive.
:rtype: AudienceRestrictingSharedFolder
"""
if self._audience_restricting_shared_folder_present:
return self._audience_restricting_shared_folder_value
else:
return None
@audience_restricting_shared_folder.setter
def audience_restricting_shared_folder(self, val):
if val is None:
del self.audience_restricting_shared_folder
return
self._audience_restricting_shared_folder_validator.validate_type_only(val)
self._audience_restricting_shared_folder_value = val
self._audience_restricting_shared_folder_present = True
@audience_restricting_shared_folder.deleter
def audience_restricting_shared_folder(self):
self._audience_restricting_shared_folder_value = None
self._audience_restricting_shared_folder_present = False
@property
def current_audience(self):
"""
The current audience of the link.
:rtype: LinkAudience
"""
if self._current_audience_present:
return self._current_audience_value
else:
raise AttributeError("missing required field 'current_audience'")
@current_audience.setter
def current_audience(self, val):
self._current_audience_validator.validate_type_only(val)
self._current_audience_value = val
self._current_audience_present = True
@current_audience.deleter
def current_audience(self):
self._current_audience_value = None
self._current_audience_present = False
@property
def expiry(self):
"""
Whether the link has an expiry set on it. A link with an expiry will
have its audience changed to members when the expiry is reached.
:rtype: datetime.datetime
"""
if self._expiry_present:
return self._expiry_value
else:
return None
@expiry.setter
def expiry(self, val):
if val is None:
del self.expiry
return
val = self._expiry_validator.validate(val)
self._expiry_value = val
self._expiry_present = True
@expiry.deleter
def expiry(self):
self._expiry_value = None
self._expiry_present = False
@property
def link_permissions(self):
"""
A list of permissions for actions you can perform on the link.
:rtype: list of [LinkPermission]
"""
if self._link_permissions_present:
return self._link_permissions_value
else:
raise AttributeError("missing required field 'link_permissions'")
@link_permissions.setter
def link_permissions(self, val):
val = self._link_permissions_validator.validate(val)
self._link_permissions_value = val
self._link_permissions_present = True
@link_permissions.deleter
def link_permissions(self):
self._link_permissions_value = None
self._link_permissions_present = False
@property
def password_protected(self):
"""
Whether the link is protected by a password.
:rtype: bool
"""
if self._password_protected_present:
return self._password_protected_value
else:
raise AttributeError("missing required field 'password_protected'")
@password_protected.setter
def password_protected(self, val):
val = self._password_protected_validator.validate(val)
self._password_protected_value = val
self._password_protected_present = True
@password_protected.deleter
def password_protected(self):
self._password_protected_value = None
self._password_protected_present = False
def _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,
self._current_audience_value,
self._link_permissions_value,
self._password_protected_value,
self._access_level_value,
self._audience_restricting_shared_folder_value,
self._expiry_value,
)
SharedContentLinkMetadataBase_validator = bv.Struct(SharedContentLinkMetadataBase)
class ExpectedSharedContentLinkMetadata(SharedContentLinkMetadataBase):
"""
The expected metadata of a shared link for a file or folder when a link is
first created for the content. Absent if the link already exists.
"""
__slots__ = [
]
_has_required_fields = True
def __init__(self,
audience_options=None,
current_audience=None,
link_permissions=None,
password_protected=None,
access_level=None,
audience_restricting_shared_folder=None,
expiry=None):
super(ExpectedSharedContentLinkMetadata, self).__init__(audience_options,
current_audience,
link_permissions,
password_protected,
access_level,
audience_restricting_shared_folder,
expiry)
def _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,
self._current_audience_value,
self._link_permissions_value,
self._password_protected_value,
self._access_level_value,
self._audience_restricting_shared_folder_value,
self._expiry_value,
)
ExpectedSharedContentLinkMetadata_validator = bv.Struct(ExpectedSharedContentLinkMetadata)
class FileAction(bb.Union):
"""
Sharing actions that may be taken on files.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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'
# Attribute is overwritten below the class definition
disable_viewer_info = None
# Attribute is overwritten below the class definition
edit_contents = None
# Attribute is overwritten below the class definition
enable_viewer_info = None
# Attribute is overwritten below the class definition
invite_viewer = None
# Attribute is overwritten below the class definition
invite_viewer_no_comment = None
# Attribute is overwritten below the class definition
invite_editor = None
# Attribute is overwritten below the class definition
unshare = None
# Attribute is overwritten below the class definition
relinquish_membership = None
# Attribute is overwritten below the class definition
share_link = None
# Attribute is overwritten below the class definition
create_link = None
# Attribute is overwritten below the class definition
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):
"""
Check if the union tag is ``disable_viewer_info``.
:rtype: bool
"""
return self._tag == 'disable_viewer_info'
def is_edit_contents(self):
"""
Check if the union tag is ``edit_contents``.
:rtype: bool
"""
return self._tag == 'edit_contents'
def is_enable_viewer_info(self):
"""
Check if the union tag is ``enable_viewer_info``.
:rtype: bool
"""
return self._tag == 'enable_viewer_info'
def is_invite_viewer(self):
"""
Check if the union tag is ``invite_viewer``.
:rtype: bool
"""
return self._tag == 'invite_viewer'
def is_invite_viewer_no_comment(self):
"""
Check if the union tag is ``invite_viewer_no_comment``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'unshare'
def is_relinquish_membership(self):
"""
Check if the union tag is ``relinquish_membership``.
:rtype: bool
"""
return self._tag == 'relinquish_membership'
def is_share_link(self):
"""
Check if the union tag is ``share_link``.
:rtype: bool
"""
return self._tag == 'share_link'
def is_create_link(self):
"""
Check if the union tag is ``create_link``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
FileAction_validator = bv.Union(FileAction)
class FileErrorResult(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 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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def file_not_found_error(cls, val):
"""
Create an instance of this class set to the ``file_not_found_error`` tag
with value ``val``.
:param str val:
:rtype: FileErrorResult
"""
return cls('file_not_found_error', val)
@classmethod
def invalid_file_action_error(cls, val):
"""
Create an instance of this class set to the
``invalid_file_action_error`` tag with value ``val``.
:param str val:
:rtype: FileErrorResult
"""
return cls('invalid_file_action_error', val)
@classmethod
def permission_denied_error(cls, val):
"""
Create an instance of this class set to the ``permission_denied_error``
tag with value ``val``.
:param str val:
:rtype: FileErrorResult
"""
return cls('permission_denied_error', val)
def is_file_not_found_error(self):
"""
Check if the union tag is ``file_not_found_error``.
:rtype: bool
"""
return self._tag == 'file_not_found_error'
def is_invalid_file_action_error(self):
"""
Check if the union tag is ``invalid_file_action_error``.
:rtype: bool
"""
return self._tag == 'invalid_file_action_error'
def is_permission_denied_error(self):
"""
Check if the union tag is ``permission_denied_error``.
:rtype: bool
"""
return self._tag == 'permission_denied_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_file_not_found_error(self):
"""
File specified by id was not found.
Only call this if :meth:`is_file_not_found_error` is true.
:rtype: str
"""
if not self.is_file_not_found_error():
raise AttributeError("tag 'file_not_found_error' not set")
return self._value
def get_invalid_file_action_error(self):
"""
User does not have permission to take the specified action on the file.
Only call this if :meth:`is_invalid_file_action_error` is true.
:rtype: str
"""
if not self.is_invalid_file_action_error():
raise AttributeError("tag 'invalid_file_action_error' not set")
return self._value
def get_permission_denied_error(self):
"""
User does not have permission to access file specified by file.Id.
Only call this if :meth:`is_permission_denied_error` is true.
:rtype: str
"""
if not self.is_permission_denied_error():
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(bb.Struct):
"""
The metadata of a shared link.
: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__ = [
'_url_value',
'_url_present',
'_id_value',
'_id_present',
'_name_value',
'_name_present',
'_expires_value',
'_expires_present',
'_path_lower_value',
'_path_lower_present',
'_link_permissions_value',
'_link_permissions_present',
'_team_member_info_value',
'_team_member_info_present',
'_content_owner_team_info_value',
'_content_owner_team_info_present',
]
_has_required_fields = True
def __init__(self,
url=None,
name=None,
link_permissions=None,
id=None,
expires=None,
path_lower=None,
team_member_info=None,
content_owner_team_info=None):
self._url_value = None
self._url_present = False
self._id_value = None
self._id_present = False
self._name_value = None
self._name_present = False
self._expires_value = None
self._expires_present = False
self._path_lower_value = None
self._path_lower_present = False
self._link_permissions_value = None
self._link_permissions_present = False
self._team_member_info_value = None
self._team_member_info_present = False
self._content_owner_team_info_value = None
self._content_owner_team_info_present = False
if url is not None:
self.url = url
if id is not None:
self.id = id
if name is not None:
self.name = name
if expires is not None:
self.expires = expires
if path_lower is not None:
self.path_lower = path_lower
if link_permissions is not None:
self.link_permissions = link_permissions
if team_member_info is not None:
self.team_member_info = team_member_info
if content_owner_team_info is not None:
self.content_owner_team_info = content_owner_team_info
@property
def url(self):
"""
URL of the shared link.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
@property
def id(self):
"""
A unique identifier for the linked file.
:rtype: str
"""
if self._id_present:
return self._id_value
else:
return None
@id.setter
def id(self, val):
if val is None:
del self.id
return
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 name(self):
"""
The linked file name (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 expires(self):
"""
Expiration time, if set. By default the link won't expire.
:rtype: datetime.datetime
"""
if self._expires_present:
return self._expires_value
else:
return None
@expires.setter
def expires(self, val):
if val is None:
del self.expires
return
val = self._expires_validator.validate(val)
self._expires_value = val
self._expires_present = True
@expires.deleter
def expires(self):
self._expires_value = None
self._expires_present = False
@property
def path_lower(self):
"""
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.
:rtype: str
"""
if self._path_lower_present:
return self._path_lower_value
else:
return None
@path_lower.setter
def path_lower(self, val):
if val is None:
del self.path_lower
return
val = self._path_lower_validator.validate(val)
self._path_lower_value = val
self._path_lower_present = True
@path_lower.deleter
def path_lower(self):
self._path_lower_value = None
self._path_lower_present = False
@property
def link_permissions(self):
"""
The link's access permissions.
:rtype: LinkPermissions
"""
if self._link_permissions_present:
return self._link_permissions_value
else:
raise AttributeError("missing required field 'link_permissions'")
@link_permissions.setter
def link_permissions(self, val):
self._link_permissions_validator.validate_type_only(val)
self._link_permissions_value = val
self._link_permissions_present = True
@link_permissions.deleter
def link_permissions(self):
self._link_permissions_value = None
self._link_permissions_present = False
@property
def team_member_info(self):
"""
The team membership information of the link's owner. This field will
only be present if the link's owner is a team member.
:rtype: TeamMemberInfo
"""
if self._team_member_info_present:
return self._team_member_info_value
else:
return None
@team_member_info.setter
def team_member_info(self, val):
if val is None:
del self.team_member_info
return
self._team_member_info_validator.validate_type_only(val)
self._team_member_info_value = val
self._team_member_info_present = True
@team_member_info.deleter
def team_member_info(self):
self._team_member_info_value = None
self._team_member_info_present = False
@property
def content_owner_team_info(self):
"""
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.
:rtype: users.Team
"""
if self._content_owner_team_info_present:
return self._content_owner_team_info_value
else:
return None
@content_owner_team_info.setter
def content_owner_team_info(self, val):
if val is None:
del self.content_owner_team_info
return
val = self._content_owner_team_info_validator.validate(val)
self._content_owner_team_info_value = val
self._content_owner_team_info_present = True
@content_owner_team_info.deleter
def content_owner_team_info(self):
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,
self._name_value,
self._link_permissions_value,
self._id_value,
self._expires_value,
self._path_lower_value,
self._team_member_info_value,
self._content_owner_team_info_value,
)
SharedLinkMetadata_validator = bv.StructTree(SharedLinkMetadata)
class FileLinkMetadata(SharedLinkMetadata):
"""
The metadata of a file shared link.
: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__ = [
'_client_modified_value',
'_client_modified_present',
'_server_modified_value',
'_server_modified_present',
'_rev_value',
'_rev_present',
'_size_value',
'_size_present',
]
_has_required_fields = True
def __init__(self,
url=None,
name=None,
link_permissions=None,
client_modified=None,
server_modified=None,
rev=None,
size=None,
id=None,
expires=None,
path_lower=None,
team_member_info=None,
content_owner_team_info=None):
super(FileLinkMetadata, self).__init__(url,
name,
link_permissions,
id,
expires,
path_lower,
team_member_info,
content_owner_team_info)
self._client_modified_value = None
self._client_modified_present = False
self._server_modified_value = None
self._server_modified_present = False
self._rev_value = None
self._rev_present = False
self._size_value = None
self._size_present = False
if client_modified is not None:
self.client_modified = client_modified
if server_modified is not None:
self.server_modified = server_modified
if rev is not None:
self.rev = rev
if size is not None:
self.size = size
@property
def client_modified(self):
"""
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.
:rtype: datetime.datetime
"""
if self._client_modified_present:
return self._client_modified_value
else:
raise AttributeError("missing required field 'client_modified'")
@client_modified.setter
def client_modified(self, val):
val = self._client_modified_validator.validate(val)
self._client_modified_value = val
self._client_modified_present = True
@client_modified.deleter
def client_modified(self):
self._client_modified_value = None
self._client_modified_present = False
@property
def server_modified(self):
"""
The last time the file was modified on Dropbox.
:rtype: datetime.datetime
"""
if self._server_modified_present:
return self._server_modified_value
else:
raise AttributeError("missing required field 'server_modified'")
@server_modified.setter
def server_modified(self, val):
val = self._server_modified_validator.validate(val)
self._server_modified_value = val
self._server_modified_present = True
@server_modified.deleter
def server_modified(self):
self._server_modified_value = None
self._server_modified_present = False
@property
def rev(self):
"""
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.
:rtype: str
"""
if self._rev_present:
return self._rev_value
else:
raise AttributeError("missing required field 'rev'")
@rev.setter
def rev(self, val):
val = self._rev_validator.validate(val)
self._rev_value = val
self._rev_present = True
@rev.deleter
def rev(self):
self._rev_value = None
self._rev_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
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,
self._name_value,
self._link_permissions_value,
self._client_modified_value,
self._server_modified_value,
self._rev_value,
self._size_value,
self._id_value,
self._expires_value,
self._path_lower_value,
self._team_member_info_value,
self._content_owner_team_info_value,
)
FileLinkMetadata_validator = bv.Struct(FileLinkMetadata)
class FileMemberActionError(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.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'
# Attribute is overwritten below the class definition
invalid_member = None
# 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 SharingFileAccessError val:
:rtype: FileMemberActionError
"""
return cls('access_error', val)
@classmethod
def no_explicit_access(cls, val):
"""
Create an instance of this class set to the ``no_explicit_access`` tag
with value ``val``.
:param MemberAccessLevelResult val:
:rtype: FileMemberActionError
"""
return cls('no_explicit_access', val)
def is_invalid_member(self):
"""
Check if the union tag is ``invalid_member``.
:rtype: bool
"""
return self._tag == 'invalid_member'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
return self._tag == 'no_permission'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_no_explicit_access(self):
"""
Check if the union tag is ``no_explicit_access``.
:rtype: bool
"""
return self._tag == 'no_explicit_access'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
Specified file was invalid or user does not have access.
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
if not self.is_access_error():
raise AttributeError("tag 'access_error' not set")
return self._value
def get_no_explicit_access(self):
"""
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.
Only call this if :meth:`is_no_explicit_access` is true.
:rtype: MemberAccessLevelResult
"""
if not self.is_no_explicit_access():
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)
FileMemberActionError_validator = bv.Union(FileMemberActionError)
class FileMemberActionIndividualResult(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 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
@classmethod
def success(cls, val):
"""
Create an instance of this class set to the ``success`` tag with value
``val``.
:param AccessLevel val:
:rtype: FileMemberActionIndividualResult
"""
return cls('success', val)
@classmethod
def member_error(cls, val):
"""
Create an instance of this class set to the ``member_error`` tag with
value ``val``.
:param FileMemberActionError val:
:rtype: FileMemberActionIndividualResult
"""
return cls('member_error', val)
def is_success(self):
"""
Check if the union tag is ``success``.
:rtype: bool
"""
return self._tag == 'success'
def is_member_error(self):
"""
Check if the union tag is ``member_error``.
:rtype: bool
"""
return self._tag == 'member_error'
def get_success(self):
"""
Member was successfully removed from this file. If AccessLevel is given,
the member still has access via a parent shared folder.
Only call this if :meth:`is_success` is true.
:rtype: AccessLevel
"""
if not self.is_success():
raise AttributeError("tag 'success' not set")
return self._value
def get_member_error(self):
"""
User was not able to perform this action.
Only call this if :meth:`is_member_error` is true.
:rtype: FileMemberActionError
"""
if not self.is_member_error():
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(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 sharing.FileMemberActionResult.member: One of specified input members.
:ivar sharing.FileMemberActionResult.result: The outcome of the action on
this member.
"""
__slots__ = [
'_member_value',
'_member_present',
'_result_value',
'_result_present',
]
_has_required_fields = True
def __init__(self,
member=None,
result=None):
self._member_value = None
self._member_present = False
self._result_value = None
self._result_present = False
if member is not None:
self.member = member
if result is not None:
self.result = result
@property
def member(self):
"""
One of specified input members.
:rtype: MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
self._member_value = None
self._member_present = False
@property
def result(self):
"""
The outcome of the action on this member.
:rtype: FileMemberActionIndividualResult
"""
if self._result_present:
return self._result_value
else:
raise AttributeError("missing required field 'result'")
@result.setter
def result(self, val):
self._result_validator.validate_type_only(val)
self._result_value = val
self._result_present = True
@result.deleter
def result(self):
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,
self._result_value,
)
FileMemberActionResult_validator = bv.Struct(FileMemberActionResult)
class FileMemberRemoveActionResult(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 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'
# 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 MemberAccessLevelResult val:
:rtype: FileMemberRemoveActionResult
"""
return cls('success', val)
@classmethod
def member_error(cls, val):
"""
Create an instance of this class set to the ``member_error`` tag with
value ``val``.
:param FileMemberActionError val:
:rtype: FileMemberRemoveActionResult
"""
return cls('member_error', val)
def is_success(self):
"""
Check if the union tag is ``success``.
:rtype: bool
"""
return self._tag == 'success'
def is_member_error(self):
"""
Check if the union tag is ``member_error``.
:rtype: bool
"""
return self._tag == 'member_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_success(self):
"""
Member was successfully removed from this file.
Only call this if :meth:`is_success` is true.
:rtype: MemberAccessLevelResult
"""
if not self.is_success():
raise AttributeError("tag 'success' not set")
return self._value
def get_member_error(self):
"""
User was not able to remove this member.
Only call this if :meth:`is_member_error` is true.
:rtype: FileMemberActionError
"""
if not self.is_member_error():
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(bb.Struct):
"""
Whether the user is allowed to take the sharing action on the file.
: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__ = [
'_action_value',
'_action_present',
'_allow_value',
'_allow_present',
'_reason_value',
'_reason_present',
]
_has_required_fields = True
def __init__(self,
action=None,
allow=None,
reason=None):
self._action_value = None
self._action_present = False
self._allow_value = None
self._allow_present = False
self._reason_value = None
self._reason_present = False
if action is not None:
self.action = action
if allow is not None:
self.allow = allow
if reason is not None:
self.reason = reason
@property
def action(self):
"""
The action that the user may wish to take on the file.
:rtype: FileAction
"""
if self._action_present:
return self._action_value
else:
raise AttributeError("missing required field 'action'")
@action.setter
def action(self, val):
self._action_validator.validate_type_only(val)
self._action_value = val
self._action_present = True
@action.deleter
def action(self):
self._action_value = None
self._action_present = False
@property
def allow(self):
"""
True if the user is allowed to take the action.
:rtype: bool
"""
if self._allow_present:
return self._allow_value
else:
raise AttributeError("missing required field 'allow'")
@allow.setter
def allow(self, val):
val = self._allow_validator.validate(val)
self._allow_value = val
self._allow_present = True
@allow.deleter
def allow(self):
self._allow_value = None
self._allow_present = False
@property
def reason(self):
"""
The reason why the user is denied the permission. Not present if the
action is allowed.
:rtype: PermissionDeniedReason
"""
if self._reason_present:
return self._reason_value
else:
return None
@reason.setter
def reason(self, val):
if val is None:
del self.reason
return
self._reason_validator.validate_type_only(val)
self._reason_value = val
self._reason_present = True
@reason.deleter
def reason(self):
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,
self._allow_value,
self._reason_value,
)
FilePermission_validator = bv.Struct(FilePermission)
class FolderAction(bb.Union):
"""
Actions that may be taken on shared 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.
: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'
# Attribute is overwritten below the class definition
change_options = None
# Attribute is overwritten below the class definition
disable_viewer_info = None
# Attribute is overwritten below the class definition
edit_contents = None
# Attribute is overwritten below the class definition
enable_viewer_info = None
# Attribute is overwritten below the class definition
invite_editor = None
# Attribute is overwritten below the class definition
invite_viewer = None
# Attribute is overwritten below the class definition
invite_viewer_no_comment = None
# Attribute is overwritten below the class definition
relinquish_membership = None
# Attribute is overwritten below the class definition
unmount = None
# Attribute is overwritten below the class definition
unshare = None
# Attribute is overwritten below the class definition
leave_a_copy = None
# Attribute is overwritten below the class definition
share_link = None
# Attribute is overwritten below the class definition
create_link = None
# Attribute is overwritten below the class definition
set_access_inheritance = None
# Attribute is overwritten below the class definition
other = None
def is_change_options(self):
"""
Check if the union tag is ``change_options``.
:rtype: bool
"""
return self._tag == 'change_options'
def is_disable_viewer_info(self):
"""
Check if the union tag is ``disable_viewer_info``.
:rtype: bool
"""
return self._tag == 'disable_viewer_info'
def is_edit_contents(self):
"""
Check if the union tag is ``edit_contents``.
:rtype: bool
"""
return self._tag == 'edit_contents'
def is_enable_viewer_info(self):
"""
Check if the union tag is ``enable_viewer_info``.
:rtype: bool
"""
return self._tag == 'enable_viewer_info'
def is_invite_editor(self):
"""
Check if the union tag is ``invite_editor``.
:rtype: bool
"""
return self._tag == 'invite_editor'
def is_invite_viewer(self):
"""
Check if the union tag is ``invite_viewer``.
:rtype: bool
"""
return self._tag == 'invite_viewer'
def is_invite_viewer_no_comment(self):
"""
Check if the union tag is ``invite_viewer_no_comment``.
:rtype: bool
"""
return self._tag == 'invite_viewer_no_comment'
def is_relinquish_membership(self):
"""
Check if the union tag is ``relinquish_membership``.
:rtype: bool
"""
return self._tag == 'relinquish_membership'
def is_unmount(self):
"""
Check if the union tag is ``unmount``.
:rtype: bool
"""
return self._tag == 'unmount'
def is_unshare(self):
"""
Check if the union tag is ``unshare``.
:rtype: bool
"""
return self._tag == 'unshare'
def is_leave_a_copy(self):
"""
Check if the union tag is ``leave_a_copy``.
:rtype: bool
"""
return self._tag == 'leave_a_copy'
def is_share_link(self):
"""
Check if the union tag is ``share_link``.
:rtype: bool
"""
return self._tag == 'share_link'
def is_create_link(self):
"""
Check if the union tag is ``create_link``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
FolderAction_validator = bv.Union(FolderAction)
class FolderLinkMetadata(SharedLinkMetadata):
"""
The metadata of a folder shared link.
"""
__slots__ = [
]
_has_required_fields = True
def __init__(self,
url=None,
name=None,
link_permissions=None,
id=None,
expires=None,
path_lower=None,
team_member_info=None,
content_owner_team_info=None):
super(FolderLinkMetadata, self).__init__(url,
name,
link_permissions,
id,
expires,
path_lower,
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,
self._name_value,
self._link_permissions_value,
self._id_value,
self._expires_value,
self._path_lower_value,
self._team_member_info_value,
self._content_owner_team_info_value,
)
FolderLinkMetadata_validator = bv.Struct(FolderLinkMetadata)
class FolderPermission(bb.Struct):
"""
Whether the user is allowed to take the action on the shared folder.
: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__ = [
'_action_value',
'_action_present',
'_allow_value',
'_allow_present',
'_reason_value',
'_reason_present',
]
_has_required_fields = True
def __init__(self,
action=None,
allow=None,
reason=None):
self._action_value = None
self._action_present = False
self._allow_value = None
self._allow_present = False
self._reason_value = None
self._reason_present = False
if action is not None:
self.action = action
if allow is not None:
self.allow = allow
if reason is not None:
self.reason = reason
@property
def action(self):
"""
The action that the user may wish to take on the folder.
:rtype: FolderAction
"""
if self._action_present:
return self._action_value
else:
raise AttributeError("missing required field 'action'")
@action.setter
def action(self, val):
self._action_validator.validate_type_only(val)
self._action_value = val
self._action_present = True
@action.deleter
def action(self):
self._action_value = None
self._action_present = False
@property
def allow(self):
"""
True if the user is allowed to take the action.
:rtype: bool
"""
if self._allow_present:
return self._allow_value
else:
raise AttributeError("missing required field 'allow'")
@allow.setter
def allow(self, val):
val = self._allow_validator.validate(val)
self._allow_value = val
self._allow_present = True
@allow.deleter
def allow(self):
self._allow_value = None
self._allow_present = False
@property
def reason(self):
"""
The reason why the user is denied the permission. Not present if the
action is allowed, or if no reason is available.
:rtype: PermissionDeniedReason
"""
if self._reason_present:
return self._reason_value
else:
return None
@reason.setter
def reason(self, val):
if val is None:
del self.reason
return
self._reason_validator.validate_type_only(val)
self._reason_value = val
self._reason_present = True
@reason.deleter
def reason(self):
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,
self._allow_value,
self._reason_value,
)
FolderPermission_validator = bv.Struct(FolderPermission)
class FolderPolicy(bb.Struct):
"""
A set of policies governing membership and privileges for a 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__ = [
'_member_policy_value',
'_member_policy_present',
'_resolved_member_policy_value',
'_resolved_member_policy_present',
'_acl_update_policy_value',
'_acl_update_policy_present',
'_shared_link_policy_value',
'_shared_link_policy_present',
'_viewer_info_policy_value',
'_viewer_info_policy_present',
]
_has_required_fields = True
def __init__(self,
acl_update_policy=None,
shared_link_policy=None,
member_policy=None,
resolved_member_policy=None,
viewer_info_policy=None):
self._member_policy_value = None
self._member_policy_present = False
self._resolved_member_policy_value = None
self._resolved_member_policy_present = False
self._acl_update_policy_value = None
self._acl_update_policy_present = False
self._shared_link_policy_value = None
self._shared_link_policy_present = False
self._viewer_info_policy_value = None
self._viewer_info_policy_present = False
if member_policy is not None:
self.member_policy = member_policy
if resolved_member_policy is not None:
self.resolved_member_policy = resolved_member_policy
if acl_update_policy is not None:
self.acl_update_policy = acl_update_policy
if shared_link_policy is not None:
self.shared_link_policy = shared_link_policy
if viewer_info_policy is not None:
self.viewer_info_policy = viewer_info_policy
@property
def member_policy(self):
"""
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.
:rtype: MemberPolicy
"""
if self._member_policy_present:
return self._member_policy_value
else:
return None
@member_policy.setter
def member_policy(self, val):
if val is None:
del self.member_policy
return
self._member_policy_validator.validate_type_only(val)
self._member_policy_value = val
self._member_policy_present = True
@member_policy.deleter
def member_policy(self):
self._member_policy_value = None
self._member_policy_present = False
@property
def resolved_member_policy(self):
"""
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.
:rtype: MemberPolicy
"""
if self._resolved_member_policy_present:
return self._resolved_member_policy_value
else:
return None
@resolved_member_policy.setter
def resolved_member_policy(self, val):
if val is None:
del self.resolved_member_policy
return
self._resolved_member_policy_validator.validate_type_only(val)
self._resolved_member_policy_value = val
self._resolved_member_policy_present = True
@resolved_member_policy.deleter
def resolved_member_policy(self):
self._resolved_member_policy_value = None
self._resolved_member_policy_present = False
@property
def acl_update_policy(self):
"""
Who can add and remove members from this shared folder.
:rtype: AclUpdatePolicy
"""
if self._acl_update_policy_present:
return self._acl_update_policy_value
else:
raise AttributeError("missing required field 'acl_update_policy'")
@acl_update_policy.setter
def acl_update_policy(self, val):
self._acl_update_policy_validator.validate_type_only(val)
self._acl_update_policy_value = val
self._acl_update_policy_present = True
@acl_update_policy.deleter
def acl_update_policy(self):
self._acl_update_policy_value = None
self._acl_update_policy_present = False
@property
def shared_link_policy(self):
"""
Who links can be shared with.
:rtype: SharedLinkPolicy
"""
if self._shared_link_policy_present:
return self._shared_link_policy_value
else:
raise AttributeError("missing required field 'shared_link_policy'")
@shared_link_policy.setter
def shared_link_policy(self, val):
self._shared_link_policy_validator.validate_type_only(val)
self._shared_link_policy_value = val
self._shared_link_policy_present = True
@shared_link_policy.deleter
def shared_link_policy(self):
self._shared_link_policy_value = None
self._shared_link_policy_present = False
@property
def viewer_info_policy(self):
"""
Who can enable/disable viewer info for this shared folder.
:rtype: ViewerInfoPolicy
"""
if self._viewer_info_policy_present:
return self._viewer_info_policy_value
else:
return None
@viewer_info_policy.setter
def viewer_info_policy(self, val):
if val is None:
del self.viewer_info_policy
return
self._viewer_info_policy_validator.validate_type_only(val)
self._viewer_info_policy_value = val
self._viewer_info_policy_present = True
@viewer_info_policy.deleter
def viewer_info_policy(self):
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,
self._shared_link_policy_value,
self._member_policy_value,
self._resolved_member_policy_value,
self._viewer_info_policy_value,
)
FolderPolicy_validator = bv.Struct(FolderPolicy)
class GetFileMetadataArg(bb.Struct):
"""
Arguments of :meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata`.
: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__ = [
'_file_value',
'_file_present',
'_actions_value',
'_actions_present',
]
_has_required_fields = True
def __init__(self,
file=None,
actions=None):
self._file_value = None
self._file_present = False
self._actions_value = None
self._actions_present = False
if file is not None:
self.file = file
if actions is not None:
self.actions = actions
@property
def file(self):
"""
The file to query.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
self._file_value = None
self._file_present = False
@property
def actions(self):
"""
A list of `FileAction`s corresponding to `FilePermission`s that should
appear in the response's ``SharedFileMetadata.permissions`` field
describing the actions the authenticated user can perform on the file.
:rtype: list of [FileAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
def _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,
self._actions_value,
)
GetFileMetadataArg_validator = bv.Struct(GetFileMetadataArg)
class GetFileMetadataBatchArg(bb.Struct):
"""
Arguments of
:meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata_batch`.
: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__ = [
'_files_value',
'_files_present',
'_actions_value',
'_actions_present',
]
_has_required_fields = True
def __init__(self,
files=None,
actions=None):
self._files_value = None
self._files_present = False
self._actions_value = None
self._actions_present = False
if files is not None:
self.files = files
if actions is not None:
self.actions = actions
@property
def files(self):
"""
The files to query.
:rtype: list of [str]
"""
if self._files_present:
return self._files_value
else:
raise AttributeError("missing required field 'files'")
@files.setter
def files(self, val):
val = self._files_validator.validate(val)
self._files_value = val
self._files_present = True
@files.deleter
def files(self):
self._files_value = None
self._files_present = False
@property
def actions(self):
"""
A list of `FileAction`s corresponding to `FilePermission`s that should
appear in the response's ``SharedFileMetadata.permissions`` field
describing the actions the authenticated user can perform on the file.
:rtype: list of [FileAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
def _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,
self._actions_value,
)
GetFileMetadataBatchArg_validator = bv.Struct(GetFileMetadataBatchArg)
class GetFileMetadataBatchResult(bb.Struct):
"""
Per file results of
:meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata_batch`.
: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__ = [
'_file_value',
'_file_present',
'_result_value',
'_result_present',
]
_has_required_fields = True
def __init__(self,
file=None,
result=None):
self._file_value = None
self._file_present = False
self._result_value = None
self._result_present = False
if file is not None:
self.file = file
if result is not None:
self.result = result
@property
def file(self):
"""
This is the input file identifier corresponding to one of
``GetFileMetadataBatchArg.files``.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
self._file_value = None
self._file_present = False
@property
def result(self):
"""
The result for this particular file.
:rtype: GetFileMetadataIndividualResult
"""
if self._result_present:
return self._result_value
else:
raise AttributeError("missing required field 'result'")
@result.setter
def result(self, val):
self._result_validator.validate_type_only(val)
self._result_value = val
self._result_present = True
@result.deleter
def result(self):
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,
self._result_value,
)
GetFileMetadataBatchResult_validator = bv.Struct(GetFileMetadataBatchResult)
class GetFileMetadataError(bb.Union):
"""
Error result for :meth:`dropbox.dropbox.Dropbox.sharing_get_file_metadata`.
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 user_error(cls, val):
"""
Create an instance of this class set to the ``user_error`` tag with
value ``val``.
:param SharingUserError val:
:rtype: GetFileMetadataError
"""
return cls('user_error', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: GetFileMetadataError
"""
return cls('access_error', val)
def is_user_error(self):
"""
Check if the union tag is ``user_error``.
:rtype: bool
"""
return self._tag == 'user_error'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_user_error(self):
"""
Only call this if :meth:`is_user_error` is true.
:rtype: SharingUserError
"""
if not self.is_user_error():
raise AttributeError("tag 'user_error' not set")
return self._value
def get_access_error(self):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(GetFileMetadataError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetFileMetadataError(%r, %r)' % (self._tag, self._value)
GetFileMetadataError_validator = bv.Union(GetFileMetadataError)
class GetFileMetadataIndividualResult(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 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'
# 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 SharedFileMetadata val:
:rtype: GetFileMetadataIndividualResult
"""
return cls('metadata', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: GetFileMetadataIndividualResult
"""
return cls('access_error', val)
def is_metadata(self):
"""
Check if the union tag is ``metadata``.
:rtype: bool
"""
return self._tag == 'metadata'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_metadata(self):
"""
The result for this file if it was successful.
Only call this if :meth:`is_metadata` is true.
:rtype: SharedFileMetadata
"""
if not self.is_metadata():
raise AttributeError("tag 'metadata' not set")
return self._value
def get_access_error(self):
"""
The result for this file if it was an error.
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(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(bb.Struct):
"""
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_actions_value',
'_actions_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
actions=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._actions_value = None
self._actions_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if actions is not None:
self.actions = actions
@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
@property
def actions(self):
"""
A list of `FolderAction`s corresponding to `FolderPermission`s that
should appear in the response's ``SharedFolderMetadata.permissions``
field describing the actions the authenticated user can perform on the
folder.
:rtype: list of [FolderAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
def _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,
self._actions_value,
)
GetMetadataArgs_validator = bv.Struct(GetMetadataArgs)
class SharedLinkError(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.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'
# Attribute is overwritten below the class definition
shared_link_not_found = None
# Attribute is overwritten below the class definition
shared_link_access_denied = None
# Attribute is overwritten below the class definition
unsupported_link_type = None
# Attribute is overwritten below the class definition
other = None
def is_shared_link_not_found(self):
"""
Check if the union tag is ``shared_link_not_found``.
:rtype: bool
"""
return self._tag == 'shared_link_not_found'
def is_shared_link_access_denied(self):
"""
Check if the union tag is ``shared_link_access_denied``.
:rtype: bool
"""
return self._tag == 'shared_link_access_denied'
def is_unsupported_link_type(self):
"""
Check if the union tag is ``unsupported_link_type``.
:rtype: bool
"""
return self._tag == 'unsupported_link_type'
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(SharedLinkError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedLinkError(%r, %r)' % (self._tag, self._value)
SharedLinkError_validator = bv.Union(SharedLinkError)
class GetSharedLinkFileError(SharedLinkError):
"""
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.GetSharedLinkFileError.shared_link_is_directory: Directories
cannot be retrieved by this endpoint.
"""
# Attribute is overwritten below the class definition
shared_link_is_directory = None
def is_shared_link_is_directory(self):
"""
Check if the union tag is ``shared_link_is_directory``.
:rtype: bool
"""
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(bb.Struct):
"""
: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__ = [
'_url_value',
'_url_present',
'_path_value',
'_path_present',
'_link_password_value',
'_link_password_present',
]
_has_required_fields = True
def __init__(self,
url=None,
path=None,
link_password=None):
self._url_value = None
self._url_present = False
self._path_value = None
self._path_present = False
self._link_password_value = None
self._link_password_present = False
if url is not None:
self.url = url
if path is not None:
self.path = path
if link_password is not None:
self.link_password = link_password
@property
def url(self):
"""
URL of the shared link.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
@property
def path(self):
"""
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.
:rtype: str
"""
if self._path_present:
return self._path_value
else:
return None
@path.setter
def path(self, val):
if val is None:
del self.path
return
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
@property
def link_password(self):
"""
If the shared link has a password, this parameter can be used.
:rtype: str
"""
if self._link_password_present:
return self._link_password_value
else:
return None
@link_password.setter
def link_password(self, val):
if val is None:
del self.link_password
return
val = self._link_password_validator.validate(val)
self._link_password_value = val
self._link_password_present = True
@link_password.deleter
def link_password(self):
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,
self._path_value,
self._link_password_value,
)
GetSharedLinkMetadataArg_validator = bv.Struct(GetSharedLinkMetadataArg)
class GetSharedLinksArg(bb.Struct):
"""
:ivar sharing.GetSharedLinksArg.path: See
:meth:`dropbox.dropbox.Dropbox.sharing_get_shared_links` description.
"""
__slots__ = [
'_path_value',
'_path_present',
]
_has_required_fields = False
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):
"""
See :meth:`dropbox.dropbox.Dropbox.sharing_get_shared_links`
description.
:rtype: str
"""
if self._path_present:
return self._path_value
else:
return None
@path.setter
def path(self, val):
if val is None:
del self.path
return
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(GetSharedLinksArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GetSharedLinksArg(path={!r})'.format(
self._path_value,
)
GetSharedLinksArg_validator = bv.Struct(GetSharedLinksArg)
class GetSharedLinksError(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 Optional[str] val:
:rtype: GetSharedLinksError
"""
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: Optional[str]
"""
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(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(bb.Struct):
"""
:ivar sharing.GetSharedLinksResult.links: Shared links applicable to the
path argument.
"""
__slots__ = [
'_links_value',
'_links_present',
]
_has_required_fields = True
def __init__(self,
links=None):
self._links_value = None
self._links_present = False
if links is not None:
self.links = links
@property
def links(self):
"""
Shared links applicable to the path argument.
:rtype: list of [LinkMetadata]
"""
if self._links_present:
return self._links_value
else:
raise AttributeError("missing required field 'links'")
@links.setter
def links(self, val):
val = self._links_validator.validate(val)
self._links_value = val
self._links_present = True
@links.deleter
def links(self):
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,
)
GetSharedLinksResult_validator = bv.Struct(GetSharedLinksResult)
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 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__ = [
'_group_type_value',
'_group_type_present',
'_is_member_value',
'_is_member_present',
'_is_owner_value',
'_is_owner_present',
'_same_team_value',
'_same_team_present',
]
_has_required_fields = True
def __init__(self,
group_name=None,
group_id=None,
group_management_type=None,
group_type=None,
is_member=None,
is_owner=None,
same_team=None,
group_external_id=None,
member_count=None):
super(GroupInfo, self).__init__(group_name,
group_id,
group_management_type,
group_external_id,
member_count)
self._group_type_value = None
self._group_type_present = False
self._is_member_value = None
self._is_member_present = False
self._is_owner_value = None
self._is_owner_present = False
self._same_team_value = None
self._same_team_present = False
if group_type is not None:
self.group_type = group_type
if is_member is not None:
self.is_member = is_member
if is_owner is not None:
self.is_owner = is_owner
if same_team is not None:
self.same_team = same_team
@property
def group_type(self):
"""
The type of group.
:rtype: team_common.GroupType
"""
if self._group_type_present:
return self._group_type_value
else:
raise AttributeError("missing required field 'group_type'")
@group_type.setter
def group_type(self, val):
self._group_type_validator.validate_type_only(val)
self._group_type_value = val
self._group_type_present = True
@group_type.deleter
def group_type(self):
self._group_type_value = None
self._group_type_present = False
@property
def is_member(self):
"""
If the current user is a member of the group.
:rtype: bool
"""
if self._is_member_present:
return self._is_member_value
else:
raise AttributeError("missing required field 'is_member'")
@is_member.setter
def is_member(self, val):
val = self._is_member_validator.validate(val)
self._is_member_value = val
self._is_member_present = True
@is_member.deleter
def is_member(self):
self._is_member_value = None
self._is_member_present = False
@property
def is_owner(self):
"""
If the current user is an owner of the group.
:rtype: bool
"""
if self._is_owner_present:
return self._is_owner_value
else:
raise AttributeError("missing required field 'is_owner'")
@is_owner.setter
def is_owner(self, val):
val = self._is_owner_validator.validate(val)
self._is_owner_value = val
self._is_owner_present = True
@is_owner.deleter
def is_owner(self):
self._is_owner_value = None
self._is_owner_present = False
@property
def same_team(self):
"""
If the group is owned by the current user's team.
:rtype: bool
"""
if self._same_team_present:
return self._same_team_value
else:
raise AttributeError("missing required field 'same_team'")
@same_team.setter
def same_team(self, val):
val = self._same_team_validator.validate(val)
self._same_team_value = val
self._same_team_present = True
@same_team.deleter
def same_team(self):
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,
self._group_id_value,
self._group_management_type_value,
self._group_type_value,
self._is_member_value,
self._is_owner_value,
self._same_team_value,
self._group_external_id_value,
self._member_count_value,
)
GroupInfo_validator = bv.Struct(GroupInfo)
class MembershipInfo(bb.Struct):
"""
The information about a member of the shared content.
: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__ = [
'_access_type_value',
'_access_type_present',
'_permissions_value',
'_permissions_present',
'_initials_value',
'_initials_present',
'_is_inherited_value',
'_is_inherited_present',
]
_has_required_fields = True
def __init__(self,
access_type=None,
permissions=None,
initials=None,
is_inherited=None):
self._access_type_value = None
self._access_type_present = False
self._permissions_value = None
self._permissions_present = False
self._initials_value = None
self._initials_present = False
self._is_inherited_value = None
self._is_inherited_present = False
if access_type is not None:
self.access_type = access_type
if permissions is not None:
self.permissions = permissions
if initials is not None:
self.initials = initials
if is_inherited is not None:
self.is_inherited = is_inherited
@property
def access_type(self):
"""
The access type for this member. It contains inherited access type from
parent folder, and acquired access type from this folder.
:rtype: AccessLevel
"""
if self._access_type_present:
return self._access_type_value
else:
raise AttributeError("missing required field 'access_type'")
@access_type.setter
def access_type(self, val):
self._access_type_validator.validate_type_only(val)
self._access_type_value = val
self._access_type_present = True
@access_type.deleter
def access_type(self):
self._access_type_value = None
self._access_type_present = False
@property
def permissions(self):
"""
The permissions that requesting user has on this member. The set of
permissions corresponds to the MemberActions in the request.
:rtype: list of [MemberPermission]
"""
if self._permissions_present:
return self._permissions_value
else:
return None
@permissions.setter
def permissions(self, val):
if val is None:
del self.permissions
return
val = self._permissions_validator.validate(val)
self._permissions_value = val
self._permissions_present = True
@permissions.deleter
def permissions(self):
self._permissions_value = None
self._permissions_present = False
@property
def initials(self):
"""
Never set.
:rtype: str
"""
if self._initials_present:
return self._initials_value
else:
return None
@initials.setter
def initials(self, val):
if val is None:
del self.initials
return
val = self._initials_validator.validate(val)
self._initials_value = val
self._initials_present = True
@initials.deleter
def initials(self):
self._initials_value = None
self._initials_present = False
@property
def is_inherited(self):
"""
True if the member has access from a parent folder.
:rtype: bool
"""
if self._is_inherited_present:
return self._is_inherited_value
else:
return False
@is_inherited.setter
def is_inherited(self, val):
val = self._is_inherited_validator.validate(val)
self._is_inherited_value = val
self._is_inherited_present = True
@is_inherited.deleter
def is_inherited(self):
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,
self._permissions_value,
self._initials_value,
self._is_inherited_value,
)
MembershipInfo_validator = bv.Struct(MembershipInfo)
class GroupMembershipInfo(MembershipInfo):
"""
The information about a group member of the shared content.
:ivar sharing.GroupMembershipInfo.group: The information about the
membership group.
"""
__slots__ = [
'_group_value',
'_group_present',
]
_has_required_fields = True
def __init__(self,
access_type=None,
group=None,
permissions=None,
initials=None,
is_inherited=None):
super(GroupMembershipInfo, self).__init__(access_type,
permissions,
initials,
is_inherited)
self._group_value = None
self._group_present = False
if group is not None:
self.group = group
@property
def group(self):
"""
The information about the membership group.
:rtype: GroupInfo
"""
if self._group_present:
return self._group_value
else:
raise AttributeError("missing required field 'group'")
@group.setter
def group(self, val):
self._group_validator.validate_type_only(val)
self._group_value = val
self._group_present = True
@group.deleter
def group(self):
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,
self._group_value,
self._permissions_value,
self._initials_value,
self._is_inherited_value,
)
GroupMembershipInfo_validator = bv.Struct(GroupMembershipInfo)
class InsufficientPlan(bb.Struct):
"""
: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__ = [
'_message_value',
'_message_present',
'_upsell_url_value',
'_upsell_url_present',
]
_has_required_fields = True
def __init__(self,
message=None,
upsell_url=None):
self._message_value = None
self._message_present = False
self._upsell_url_value = None
self._upsell_url_present = False
if message is not None:
self.message = message
if upsell_url is not None:
self.upsell_url = upsell_url
@property
def message(self):
"""
A message to tell the user to upgrade in order to support expected
action.
:rtype: str
"""
if self._message_present:
return self._message_value
else:
raise AttributeError("missing required field 'message'")
@message.setter
def message(self, val):
val = self._message_validator.validate(val)
self._message_value = val
self._message_present = True
@message.deleter
def message(self):
self._message_value = None
self._message_present = False
@property
def upsell_url(self):
"""
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.
:rtype: str
"""
if self._upsell_url_present:
return self._upsell_url_value
else:
return None
@upsell_url.setter
def upsell_url(self, val):
if val is None:
del self.upsell_url
return
val = self._upsell_url_validator.validate(val)
self._upsell_url_value = val
self._upsell_url_present = True
@upsell_url.deleter
def upsell_url(self):
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,
self._upsell_url_value,
)
InsufficientPlan_validator = bv.Struct(InsufficientPlan)
class InsufficientQuotaAmounts(bb.Struct):
"""
: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__ = [
'_space_needed_value',
'_space_needed_present',
'_space_shortage_value',
'_space_shortage_present',
'_space_left_value',
'_space_left_present',
]
_has_required_fields = True
def __init__(self,
space_needed=None,
space_shortage=None,
space_left=None):
self._space_needed_value = None
self._space_needed_present = False
self._space_shortage_value = None
self._space_shortage_present = False
self._space_left_value = None
self._space_left_present = False
if space_needed is not None:
self.space_needed = space_needed
if space_shortage is not None:
self.space_shortage = space_shortage
if space_left is not None:
self.space_left = space_left
@property
def space_needed(self):
"""
The amount of space needed to add the item (the size of the item).
:rtype: int
"""
if self._space_needed_present:
return self._space_needed_value
else:
raise AttributeError("missing required field 'space_needed'")
@space_needed.setter
def space_needed(self, val):
val = self._space_needed_validator.validate(val)
self._space_needed_value = val
self._space_needed_present = True
@space_needed.deleter
def space_needed(self):
self._space_needed_value = None
self._space_needed_present = False
@property
def space_shortage(self):
"""
The amount of extra space needed to add the item.
:rtype: int
"""
if self._space_shortage_present:
return self._space_shortage_value
else:
raise AttributeError("missing required field 'space_shortage'")
@space_shortage.setter
def space_shortage(self, val):
val = self._space_shortage_validator.validate(val)
self._space_shortage_value = val
self._space_shortage_present = True
@space_shortage.deleter
def space_shortage(self):
self._space_shortage_value = None
self._space_shortage_present = False
@property
def space_left(self):
"""
The amount of space left in the user's Dropbox, less than space_needed.
:rtype: int
"""
if self._space_left_present:
return self._space_left_value
else:
raise AttributeError("missing required field 'space_left'")
@space_left.setter
def space_left(self, val):
val = self._space_left_validator.validate(val)
self._space_left_value = val
self._space_left_present = True
@space_left.deleter
def space_left(self):
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,
self._space_shortage_value,
self._space_left_value,
)
InsufficientQuotaAmounts_validator = bv.Struct(InsufficientQuotaAmounts)
class InviteeInfo(bb.Union):
"""
Information about the recipient of a shared content invitation.
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 sharing.InviteeInfo.email: E-mail address of invited user.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def email(cls, val):
"""
Create an instance of this class set to the ``email`` tag with value
``val``.
:param str val:
:rtype: InviteeInfo
"""
return cls('email', val)
def is_email(self):
"""
Check if the union tag is ``email``.
:rtype: bool
"""
return self._tag == 'email'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_email(self):
"""
E-mail address of invited user.
Only call this if :meth:`is_email` is true.
:rtype: str
"""
if not self.is_email():
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)
InviteeInfo_validator = bv.Union(InviteeInfo)
class InviteeMembershipInfo(MembershipInfo):
"""
Information about an invited member of a shared content.
:ivar sharing.InviteeMembershipInfo.invitee: Recipient of the invitation.
:ivar sharing.InviteeMembershipInfo.user: The user this invitation is tied
to, if available.
"""
__slots__ = [
'_invitee_value',
'_invitee_present',
'_user_value',
'_user_present',
]
_has_required_fields = True
def __init__(self,
access_type=None,
invitee=None,
permissions=None,
initials=None,
is_inherited=None,
user=None):
super(InviteeMembershipInfo, self).__init__(access_type,
permissions,
initials,
is_inherited)
self._invitee_value = None
self._invitee_present = False
self._user_value = None
self._user_present = False
if invitee is not None:
self.invitee = invitee
if user is not None:
self.user = user
@property
def invitee(self):
"""
Recipient of the invitation.
:rtype: InviteeInfo
"""
if self._invitee_present:
return self._invitee_value
else:
raise AttributeError("missing required field 'invitee'")
@invitee.setter
def invitee(self, val):
self._invitee_validator.validate_type_only(val)
self._invitee_value = val
self._invitee_present = True
@invitee.deleter
def invitee(self):
self._invitee_value = None
self._invitee_present = False
@property
def user(self):
"""
The user this invitation is tied to, if available.
:rtype: UserInfo
"""
if self._user_present:
return self._user_value
else:
return None
@user.setter
def user(self, val):
if val is None:
del self.user
return
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
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,
self._invitee_value,
self._permissions_value,
self._initials_value,
self._is_inherited_value,
self._user_value,
)
InviteeMembershipInfo_validator = bv.Struct(InviteeMembershipInfo)
class JobError(bb.Union):
"""
Error occurred while performing an asynchronous job from
:meth:`dropbox.dropbox.Dropbox.sharing_unshare_folder` or
:meth:`dropbox.dropbox.Dropbox.sharing_remove_folder_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 UnshareFolderError JobError.unshare_folder_error: Error occurred while
performing :meth:`dropbox.dropbox.Dropbox.sharing_unshare_folder`
action.
:ivar RemoveFolderMemberError JobError.remove_folder_member_error: Error
occurred while performing
:meth:`dropbox.dropbox.Dropbox.sharing_remove_folder_member` action.
:ivar RelinquishFolderMembershipError
JobError.relinquish_folder_membership_error: Error occurred while
performing
:meth:`dropbox.dropbox.Dropbox.sharing_relinquish_folder_membership`
action.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def unshare_folder_error(cls, val):
"""
Create an instance of this class set to the ``unshare_folder_error`` tag
with value ``val``.
:param UnshareFolderError val:
:rtype: JobError
"""
return cls('unshare_folder_error', val)
@classmethod
def remove_folder_member_error(cls, val):
"""
Create an instance of this class set to the
``remove_folder_member_error`` tag with value ``val``.
:param RemoveFolderMemberError val:
:rtype: JobError
"""
return cls('remove_folder_member_error', val)
@classmethod
def relinquish_folder_membership_error(cls, val):
"""
Create an instance of this class set to the
``relinquish_folder_membership_error`` tag with value ``val``.
:param RelinquishFolderMembershipError val:
:rtype: JobError
"""
return cls('relinquish_folder_membership_error', val)
def is_unshare_folder_error(self):
"""
Check if the union tag is ``unshare_folder_error``.
:rtype: bool
"""
return self._tag == 'unshare_folder_error'
def is_remove_folder_member_error(self):
"""
Check if the union tag is ``remove_folder_member_error``.
:rtype: bool
"""
return self._tag == 'remove_folder_member_error'
def is_relinquish_folder_membership_error(self):
"""
Check if the union tag is ``relinquish_folder_membership_error``.
:rtype: bool
"""
return self._tag == 'relinquish_folder_membership_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_unshare_folder_error(self):
"""
Error occurred while performing
:meth:`dropbox.dropbox.Dropbox.sharing_unshare_folder` action.
Only call this if :meth:`is_unshare_folder_error` is true.
:rtype: UnshareFolderError
"""
if not self.is_unshare_folder_error():
raise AttributeError("tag 'unshare_folder_error' not set")
return self._value
def get_remove_folder_member_error(self):
"""
Error occurred while performing
:meth:`dropbox.dropbox.Dropbox.sharing_remove_folder_member` action.
Only call this if :meth:`is_remove_folder_member_error` is true.
:rtype: RemoveFolderMemberError
"""
if not self.is_remove_folder_member_error():
raise AttributeError("tag 'remove_folder_member_error' not set")
return self._value
def get_relinquish_folder_membership_error(self):
"""
Error occurred while performing
:meth:`dropbox.dropbox.Dropbox.sharing_relinquish_folder_membership`
action.
Only call this if :meth:`is_relinquish_folder_membership_error` is true.
:rtype: RelinquishFolderMembershipError
"""
if not self.is_relinquish_folder_membership_error():
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):
"""
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.JobStatus.complete: The asynchronous job has finished.
:ivar JobError JobStatus.failed: The asynchronous job returned an error.
"""
# Attribute is overwritten below the class definition
complete = None
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param JobError val:
:rtype: JobStatus
"""
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 get_failed(self):
"""
The asynchronous job returned an error.
Only call this if :meth:`is_failed` is true.
:rtype: JobError
"""
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(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.
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.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'
# Attribute is overwritten below the class definition
change_access_level = None
# Attribute is overwritten below the class definition
change_audience = None
# Attribute is overwritten below the class definition
remove_expiry = None
# Attribute is overwritten below the class definition
remove_password = None
# Attribute is overwritten below the class definition
set_expiry = None
# Attribute is overwritten below the class definition
set_password = None
# Attribute is overwritten below the class definition
other = None
def is_change_access_level(self):
"""
Check if the union tag is ``change_access_level``.
:rtype: bool
"""
return self._tag == 'change_access_level'
def is_change_audience(self):
"""
Check if the union tag is ``change_audience``.
:rtype: bool
"""
return self._tag == 'change_audience'
def is_remove_expiry(self):
"""
Check if the union tag is ``remove_expiry``.
:rtype: bool
"""
return self._tag == 'remove_expiry'
def is_remove_password(self):
"""
Check if the union tag is ``remove_password``.
:rtype: bool
"""
return self._tag == 'remove_password'
def is_set_expiry(self):
"""
Check if the union tag is ``set_expiry``.
:rtype: bool
"""
return self._tag == 'set_expiry'
def is_set_password(self):
"""
Check if the union tag is ``set_password``.
:rtype: bool
"""
return self._tag == 'set_password'
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(LinkAction, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'LinkAction(%r, %r)' % (self._tag, self._value)
LinkAction_validator = bv.Union(LinkAction)
class LinkAudience(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
: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'
# 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
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
def is_public(self):
"""
Check if the union tag is ``public``.
:rtype: bool
"""
return self._tag == 'public'
def is_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == 'team'
def is_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``.
:rtype: bool
"""
return self._tag == '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(LinkAudience, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'LinkAudience(%r, %r)' % (self._tag, self._value)
LinkAudience_validator = bv.Union(LinkAudience)
class LinkExpiry(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.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'
# Attribute is overwritten below the class definition
remove_expiry = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def set_expiry(cls, val):
"""
Create an instance of this class set to the ``set_expiry`` tag with
value ``val``.
:param datetime.datetime val:
:rtype: LinkExpiry
"""
return cls('set_expiry', val)
def is_remove_expiry(self):
"""
Check if the union tag is ``remove_expiry``.
:rtype: bool
"""
return self._tag == 'remove_expiry'
def is_set_expiry(self):
"""
Check if the union tag is ``set_expiry``.
:rtype: bool
"""
return self._tag == 'set_expiry'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_set_expiry(self):
"""
Set a new expiry or change an existing expiry.
Only call this if :meth:`is_set_expiry` is true.
:rtype: datetime.datetime
"""
if not self.is_set_expiry():
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)
LinkExpiry_validator = bv.Union(LinkExpiry)
class LinkPassword(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.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'
# Attribute is overwritten below the class definition
remove_password = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def set_password(cls, val):
"""
Create an instance of this class set to the ``set_password`` tag with
value ``val``.
:param str val:
:rtype: LinkPassword
"""
return cls('set_password', val)
def is_remove_password(self):
"""
Check if the union tag is ``remove_password``.
:rtype: bool
"""
return self._tag == 'remove_password'
def is_set_password(self):
"""
Check if the union tag is ``set_password``.
:rtype: bool
"""
return self._tag == 'set_password'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_set_password(self):
"""
Set a new password or change an existing password.
Only call this if :meth:`is_set_password` is true.
:rtype: str
"""
if not self.is_set_password():
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(bb.Struct):
"""
Permissions for actions that can be performed on a link.
"""
__slots__ = [
'_action_value',
'_action_present',
'_allow_value',
'_allow_present',
'_reason_value',
'_reason_present',
]
_has_required_fields = True
def __init__(self,
action=None,
allow=None,
reason=None):
self._action_value = None
self._action_present = False
self._allow_value = None
self._allow_present = False
self._reason_value = None
self._reason_present = False
if action is not None:
self.action = action
if allow is not None:
self.allow = allow
if reason is not None:
self.reason = reason
@property
def action(self):
"""
:rtype: LinkAction
"""
if self._action_present:
return self._action_value
else:
raise AttributeError("missing required field 'action'")
@action.setter
def action(self, val):
self._action_validator.validate_type_only(val)
self._action_value = val
self._action_present = True
@action.deleter
def action(self):
self._action_value = None
self._action_present = False
@property
def allow(self):
"""
:rtype: bool
"""
if self._allow_present:
return self._allow_value
else:
raise AttributeError("missing required field 'allow'")
@allow.setter
def allow(self, val):
val = self._allow_validator.validate(val)
self._allow_value = val
self._allow_present = True
@allow.deleter
def allow(self):
self._allow_value = None
self._allow_present = False
@property
def reason(self):
"""
:rtype: PermissionDeniedReason
"""
if self._reason_present:
return self._reason_value
else:
return None
@reason.setter
def reason(self, val):
if val is None:
del self.reason
return
self._reason_validator.validate_type_only(val)
self._reason_value = val
self._reason_present = True
@reason.deleter
def reason(self):
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,
self._allow_value,
self._reason_value,
)
LinkPermission_validator = bv.Struct(LinkPermission)
class LinkPermissions(bb.Struct):
"""
: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__ = [
'_resolved_visibility_value',
'_resolved_visibility_present',
'_requested_visibility_value',
'_requested_visibility_present',
'_can_revoke_value',
'_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
def __init__(self,
can_revoke=None,
resolved_visibility=None,
requested_visibility=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
self._requested_visibility_present = False
self._can_revoke_value = None
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:
self.requested_visibility = requested_visibility
if can_revoke is not None:
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):
"""
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.
:rtype: ResolvedVisibility
"""
if self._resolved_visibility_present:
return self._resolved_visibility_value
else:
return None
@resolved_visibility.setter
def resolved_visibility(self, val):
if val is None:
del self.resolved_visibility
return
self._resolved_visibility_validator.validate_type_only(val)
self._resolved_visibility_value = val
self._resolved_visibility_present = True
@resolved_visibility.deleter
def resolved_visibility(self):
self._resolved_visibility_value = None
self._resolved_visibility_present = False
@property
def requested_visibility(self):
"""
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.
:rtype: RequestedVisibility
"""
if self._requested_visibility_present:
return self._requested_visibility_value
else:
return None
@requested_visibility.setter
def requested_visibility(self, val):
if val is None:
del self.requested_visibility
return
self._requested_visibility_validator.validate_type_only(val)
self._requested_visibility_value = val
self._requested_visibility_present = True
@requested_visibility.deleter
def requested_visibility(self):
self._requested_visibility_value = None
self._requested_visibility_present = False
@property
def can_revoke(self):
"""
Whether the caller can revoke the shared link.
:rtype: bool
"""
if self._can_revoke_present:
return self._can_revoke_value
else:
raise AttributeError("missing required field 'can_revoke'")
@can_revoke.setter
def can_revoke(self, val):
val = self._can_revoke_validator.validate(val)
self._can_revoke_value = val
self._can_revoke_present = True
@can_revoke.deleter
def can_revoke(self):
self._can_revoke_value = None
self._can_revoke_present = False
@property
def revoke_failure_reason(self):
"""
The failure reason for revoking the link. This field will only be
present if the ``can_revoke`` is ``False``.
:rtype: SharedLinkAccessFailureReason
"""
if self._revoke_failure_reason_present:
return self._revoke_failure_reason_value
else:
return None
@revoke_failure_reason.setter
def revoke_failure_reason(self, val):
if val is None:
del self.revoke_failure_reason
return
self._revoke_failure_reason_validator.validate_type_only(val)
self._revoke_failure_reason_value = val
self._revoke_failure_reason_present = True
@revoke_failure_reason.deleter
def revoke_failure_reason(self):
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}, 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(bb.Struct):
"""
Settings that apply to a 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__ = [
'_access_level_value',
'_access_level_present',
'_audience_value',
'_audience_present',
'_expiry_value',
'_expiry_present',
'_password_value',
'_password_present',
]
_has_required_fields = False
def __init__(self,
access_level=None,
audience=None,
expiry=None,
password=None):
self._access_level_value = None
self._access_level_present = False
self._audience_value = None
self._audience_present = False
self._expiry_value = None
self._expiry_present = False
self._password_value = None
self._password_present = False
if access_level is not None:
self.access_level = access_level
if audience is not None:
self.audience = audience
if expiry is not None:
self.expiry = expiry
if password is not None:
self.password = password
@property
def access_level(self):
"""
The access level on the link for this file. Currently, it only accepts
'viewer' and 'viewer_no_comment'.
:rtype: AccessLevel
"""
if self._access_level_present:
return self._access_level_value
else:
return None
@access_level.setter
def access_level(self, val):
if val is None:
del self.access_level
return
self._access_level_validator.validate_type_only(val)
self._access_level_value = val
self._access_level_present = True
@access_level.deleter
def access_level(self):
self._access_level_value = None
self._access_level_present = False
@property
def audience(self):
"""
The type of audience on the link for this file.
:rtype: LinkAudience
"""
if self._audience_present:
return self._audience_value
else:
return None
@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 expiry(self):
"""
An expiry timestamp to set on a link.
:rtype: LinkExpiry
"""
if self._expiry_present:
return self._expiry_value
else:
return None
@expiry.setter
def expiry(self, val):
if val is None:
del self.expiry
return
self._expiry_validator.validate_type_only(val)
self._expiry_value = val
self._expiry_present = True
@expiry.deleter
def expiry(self):
self._expiry_value = None
self._expiry_present = False
@property
def password(self):
"""
The password for the link.
:rtype: LinkPassword
"""
if self._password_present:
return self._password_value
else:
return None
@password.setter
def password(self, val):
if val is None:
del self.password
return
self._password_validator.validate_type_only(val)
self._password_value = val
self._password_present = True
@password.deleter
def password(self):
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,
self._audience_value,
self._expiry_value,
self._password_value,
)
LinkSettings_validator = bv.Struct(LinkSettings)
class ListFileMembersArg(bb.Struct):
"""
Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_list_file_members`.
: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__ = [
'_file_value',
'_file_present',
'_actions_value',
'_actions_present',
'_include_inherited_value',
'_include_inherited_present',
'_limit_value',
'_limit_present',
]
_has_required_fields = True
def __init__(self,
file=None,
actions=None,
include_inherited=None,
limit=None):
self._file_value = None
self._file_present = False
self._actions_value = None
self._actions_present = False
self._include_inherited_value = None
self._include_inherited_present = False
self._limit_value = None
self._limit_present = False
if file is not None:
self.file = file
if actions is not None:
self.actions = actions
if include_inherited is not None:
self.include_inherited = include_inherited
if limit is not None:
self.limit = limit
@property
def file(self):
"""
The file for which you want to see members.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
self._file_value = None
self._file_present = False
@property
def actions(self):
"""
The actions for which to return permissions on a member.
:rtype: list of [MemberAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
@property
def include_inherited(self):
"""
Whether to include members who only have access from a parent shared
folder.
:rtype: bool
"""
if self._include_inherited_present:
return self._include_inherited_value
else:
return True
@include_inherited.setter
def include_inherited(self, val):
val = self._include_inherited_validator.validate(val)
self._include_inherited_value = val
self._include_inherited_present = True
@include_inherited.deleter
def include_inherited(self):
self._include_inherited_value = None
self._include_inherited_present = False
@property
def limit(self):
"""
Number of members to return max per query. Defaults to 100 if no limit
is specified.
:rtype: int
"""
if self._limit_present:
return self._limit_value
else:
return 100
@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(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,
self._actions_value,
self._include_inherited_value,
self._limit_value,
)
ListFileMembersArg_validator = bv.Struct(ListFileMembersArg)
class ListFileMembersBatchArg(bb.Struct):
"""
Arguments for
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`.
: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__ = [
'_files_value',
'_files_present',
'_limit_value',
'_limit_present',
]
_has_required_fields = True
def __init__(self,
files=None,
limit=None):
self._files_value = None
self._files_present = False
self._limit_value = None
self._limit_present = False
if files is not None:
self.files = files
if limit is not None:
self.limit = limit
@property
def files(self):
"""
Files for which to return members.
:rtype: list of [str]
"""
if self._files_present:
return self._files_value
else:
raise AttributeError("missing required field 'files'")
@files.setter
def files(self, val):
val = self._files_validator.validate(val)
self._files_value = val
self._files_present = True
@files.deleter
def files(self):
self._files_value = None
self._files_present = False
@property
def limit(self):
"""
Number of members to return max per query. Defaults to 10 if no limit is
specified.
:rtype: int
"""
if self._limit_present:
return self._limit_value
else:
return 10
@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(ListFileMembersBatchArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFileMembersBatchArg(files={!r}, limit={!r})'.format(
self._files_value,
self._limit_value,
)
ListFileMembersBatchArg_validator = bv.Struct(ListFileMembersBatchArg)
class ListFileMembersBatchResult(bb.Struct):
"""
Per-file result for
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`.
: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__ = [
'_file_value',
'_file_present',
'_result_value',
'_result_present',
]
_has_required_fields = True
def __init__(self,
file=None,
result=None):
self._file_value = None
self._file_present = False
self._result_value = None
self._result_present = False
if file is not None:
self.file = file
if result is not None:
self.result = result
@property
def file(self):
"""
This is the input file identifier, whether an ID or a path.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
self._file_value = None
self._file_present = False
@property
def result(self):
"""
The result for this particular file.
:rtype: ListFileMembersIndividualResult
"""
if self._result_present:
return self._result_value
else:
raise AttributeError("missing required field 'result'")
@result.setter
def result(self, val):
self._result_validator.validate_type_only(val)
self._result_value = val
self._result_present = True
@result.deleter
def result(self):
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,
self._result_value,
)
ListFileMembersBatchResult_validator = bv.Struct(ListFileMembersBatchResult)
class ListFileMembersContinueArg(bb.Struct):
"""
Arguments for
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`.
: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`.
"""
__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.sharing_list_file_members`,
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`, or
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`.
: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(ListFileMembersContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFileMembersContinueArg(cursor={!r})'.format(
self._cursor_value,
)
ListFileMembersContinueArg_validator = bv.Struct(ListFileMembersContinueArg)
class ListFileMembersContinueError(bb.Union):
"""
Error for
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar sharing.ListFileMembersContinueError.invalid_cursor:
``ListFileMembersContinueArg.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
@classmethod
def user_error(cls, val):
"""
Create an instance of this class set to the ``user_error`` tag with
value ``val``.
:param SharingUserError val:
:rtype: ListFileMembersContinueError
"""
return cls('user_error', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: ListFileMembersContinueError
"""
return cls('access_error', val)
def is_user_error(self):
"""
Check if the union tag is ``user_error``.
:rtype: bool
"""
return self._tag == 'user_error'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
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 get_user_error(self):
"""
Only call this if :meth:`is_user_error` is true.
:rtype: SharingUserError
"""
if not self.is_user_error():
raise AttributeError("tag 'user_error' not set")
return self._value
def get_access_error(self):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(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(bb.Struct):
"""
: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__ = [
'_members_value',
'_members_present',
'_member_count_value',
'_member_count_present',
]
_has_required_fields = True
def __init__(self,
members=None,
member_count=None):
self._members_value = None
self._members_present = False
self._member_count_value = None
self._member_count_present = False
if members is not None:
self.members = members
if member_count is not None:
self.member_count = member_count
@property
def members(self):
"""
A list of members on this file.
:rtype: SharedFileMembers
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
self._members_validator.validate_type_only(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
self._members_value = None
self._members_present = False
@property
def member_count(self):
"""
The number of members on this file. This does not include inherited
members.
:rtype: int
"""
if self._member_count_present:
return self._member_count_value
else:
raise AttributeError("missing required field 'member_count'")
@member_count.setter
def member_count(self, val):
val = self._member_count_validator.validate(val)
self._member_count_value = val
self._member_count_present = True
@member_count.deleter
def member_count(self):
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,
self._member_count_value,
)
ListFileMembersCountResult_validator = bv.Struct(ListFileMembersCountResult)
class ListFileMembersError(bb.Union):
"""
Error for :meth:`dropbox.dropbox.Dropbox.sharing_list_file_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
other = None
@classmethod
def user_error(cls, val):
"""
Create an instance of this class set to the ``user_error`` tag with
value ``val``.
:param SharingUserError val:
:rtype: ListFileMembersError
"""
return cls('user_error', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: ListFileMembersError
"""
return cls('access_error', val)
def is_user_error(self):
"""
Check if the union tag is ``user_error``.
:rtype: bool
"""
return self._tag == 'user_error'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_user_error(self):
"""
Only call this if :meth:`is_user_error` is true.
:rtype: SharingUserError
"""
if not self.is_user_error():
raise AttributeError("tag 'user_error' not set")
return self._value
def get_access_error(self):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(ListFileMembersError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFileMembersError(%r, %r)' % (self._tag, self._value)
ListFileMembersError_validator = bv.Union(ListFileMembersError)
class ListFileMembersIndividualResult(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 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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def result(cls, val):
"""
Create an instance of this class set to the ``result`` tag with value
``val``.
:param ListFileMembersCountResult val:
:rtype: ListFileMembersIndividualResult
"""
return cls('result', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: ListFileMembersIndividualResult
"""
return cls('access_error', val)
def is_result(self):
"""
Check if the union tag is ``result``.
:rtype: bool
"""
return self._tag == 'result'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_result(self):
"""
The results of the query for this file if it was successful.
Only call this if :meth:`is_result` is true.
:rtype: ListFileMembersCountResult
"""
if not self.is_result():
raise AttributeError("tag 'result' not set")
return self._value
def get_access_error(self):
"""
The result of the query for this file if it was an error.
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(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(bb.Struct):
"""
Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_list_received_files`.
: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__ = [
'_limit_value',
'_limit_present',
'_actions_value',
'_actions_present',
]
_has_required_fields = False
def __init__(self,
limit=None,
actions=None):
self._limit_value = None
self._limit_present = False
self._actions_value = None
self._actions_present = False
if limit is not None:
self.limit = limit
if actions is not None:
self.actions = actions
@property
def limit(self):
"""
Number of files to return max per query. Defaults to 100 if no limit is
specified.
:rtype: int
"""
if self._limit_present:
return self._limit_value
else:
return 100
@limit.setter
def limit(self, val):
val = self._limit_validator.validate(val)
self._limit_value = val
self._limit_present = True
@limit.deleter
def limit(self):
self._limit_value = None
self._limit_present = False
@property
def actions(self):
"""
A list of `FileAction`s corresponding to `FilePermission`s that should
appear in the response's ``SharedFileMetadata.permissions`` field
describing the actions the authenticated user can perform on the file.
:rtype: list of [FileAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
def _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,
self._actions_value,
)
ListFilesArg_validator = bv.Struct(ListFilesArg)
class ListFilesContinueArg(bb.Struct):
"""
Arguments for
:meth:`dropbox.dropbox.Dropbox.sharing_list_received_files_continue`.
:ivar sharing.ListFilesContinueArg.cursor: Cursor in
``ListFilesResult.cursor``.
"""
__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):
"""
Cursor in ``ListFilesResult.cursor``.
: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(ListFilesContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFilesContinueArg(cursor={!r})'.format(
self._cursor_value,
)
ListFilesContinueArg_validator = bv.Struct(ListFilesContinueArg)
class ListFilesContinueError(bb.Union):
"""
Error results for
:meth:`dropbox.dropbox.Dropbox.sharing_list_received_files_continue`.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar SharingUserError ListFilesContinueError.user_error: User account had a
problem.
:ivar sharing.ListFilesContinueError.invalid_cursor:
``ListFilesContinueArg.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
@classmethod
def user_error(cls, val):
"""
Create an instance of this class set to the ``user_error`` tag with
value ``val``.
:param SharingUserError val:
:rtype: ListFilesContinueError
"""
return cls('user_error', val)
def is_user_error(self):
"""
Check if the union tag is ``user_error``.
:rtype: bool
"""
return self._tag == 'user_error'
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 get_user_error(self):
"""
User account had a problem.
Only call this if :meth:`is_user_error` is true.
:rtype: SharingUserError
"""
if not self.is_user_error():
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(bb.Struct):
"""
Success results for
:meth:`dropbox.dropbox.Dropbox.sharing_list_received_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__ = [
'_entries_value',
'_entries_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
entries=None,
cursor=None):
self._entries_value = None
self._entries_present = False
self._cursor_value = None
self._cursor_present = False
if entries is not None:
self.entries = entries
if cursor is not None:
self.cursor = cursor
@property
def entries(self):
"""
Information about the files shared with current user.
:rtype: list of [SharedFileMetadata]
"""
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 cursor(self):
"""
Cursor used to obtain additional shared files.
: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(ListFilesResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFilesResult(entries={!r}, cursor={!r})'.format(
self._entries_value,
self._cursor_value,
)
ListFilesResult_validator = bv.Struct(ListFilesResult)
class ListFolderMembersCursorArg(bb.Struct):
"""
: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__ = [
'_actions_value',
'_actions_present',
'_limit_value',
'_limit_present',
]
_has_required_fields = False
def __init__(self,
actions=None,
limit=None):
self._actions_value = None
self._actions_present = False
self._limit_value = None
self._limit_present = False
if actions is not None:
self.actions = actions
if limit is not None:
self.limit = limit
@property
def actions(self):
"""
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.
:rtype: list of [MemberAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
@property
def limit(self):
"""
The maximum number of results that include members, groups and invitees
to return 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(ListFolderMembersCursorArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFolderMembersCursorArg(actions={!r}, limit={!r})'.format(
self._actions_value,
self._limit_value,
)
ListFolderMembersCursorArg_validator = bv.Struct(ListFolderMembersCursorArg)
class ListFolderMembersArgs(ListFolderMembersCursorArg):
"""
:ivar sharing.ListFolderMembersArgs.shared_folder_id: The ID for the shared
folder.
"""
__slots__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
actions=None,
limit=None):
super(ListFolderMembersArgs, self).__init__(actions,
limit)
self._shared_folder_id_value = None
self._shared_folder_id_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
@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(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,
self._actions_value,
self._limit_value,
)
ListFolderMembersArgs_validator = bv.Struct(ListFolderMembersArgs)
class ListFolderMembersContinueArg(bb.Struct):
"""
: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`.
"""
__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.sharing_list_folder_members` or
:meth:`dropbox.dropbox.Dropbox.sharing_list_folder_members_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(ListFolderMembersContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFolderMembersContinueArg(cursor={!r})'.format(
self._cursor_value,
)
ListFolderMembersContinueArg_validator = bv.Struct(ListFolderMembersContinueArg)
class ListFolderMembersContinueError(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.ListFolderMembersContinueError.invalid_cursor:
``ListFolderMembersContinueArg.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
@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: ListFolderMembersContinueError
"""
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_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 get_access_error(self):
"""
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(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(bb.Struct):
"""
: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__ = [
'_limit_value',
'_limit_present',
'_actions_value',
'_actions_present',
]
_has_required_fields = False
def __init__(self,
limit=None,
actions=None):
self._limit_value = None
self._limit_present = False
self._actions_value = None
self._actions_present = False
if limit is not None:
self.limit = limit
if actions is not None:
self.actions = actions
@property
def limit(self):
"""
The maximum number of results to return 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
@property
def actions(self):
"""
A list of `FolderAction`s corresponding to `FolderPermission`s that
should appear in the response's ``SharedFolderMetadata.permissions``
field describing the actions the authenticated user can perform on the
folder.
:rtype: list of [FolderAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
def _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,
self._actions_value,
)
ListFoldersArgs_validator = bv.Struct(ListFoldersArgs)
class ListFoldersContinueArg(bb.Struct):
"""
:ivar sharing.ListFoldersContinueArg.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(ListFoldersContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFoldersContinueArg(cursor={!r})'.format(
self._cursor_value,
)
ListFoldersContinueArg_validator = bv.Struct(ListFoldersContinueArg)
class ListFoldersContinueError(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.ListFoldersContinueError.invalid_cursor:
``ListFoldersContinueArg.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(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(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 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.
"""
__slots__ = [
'_entries_value',
'_entries_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
entries=None,
cursor=None):
self._entries_value = None
self._entries_present = False
self._cursor_value = None
self._cursor_present = False
if entries is not None:
self.entries = entries
if cursor is not None:
self.cursor = cursor
@property
def entries(self):
"""
List of all shared folders the authenticated user has access to.
:rtype: list of [SharedFolderMetadata]
"""
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 cursor(self):
"""
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.
: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(ListFoldersResult, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListFoldersResult(entries={!r}, cursor={!r})'.format(
self._entries_value,
self._cursor_value,
)
ListFoldersResult_validator = bv.Struct(ListFoldersResult)
class ListSharedLinksArg(bb.Struct):
"""
: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.
"""
__slots__ = [
'_path_value',
'_path_present',
'_cursor_value',
'_cursor_present',
'_direct_only_value',
'_direct_only_present',
]
_has_required_fields = False
def __init__(self,
path=None,
cursor=None,
direct_only=None):
self._path_value = None
self._path_present = False
self._cursor_value = None
self._cursor_present = False
self._direct_only_value = None
self._direct_only_present = False
if path is not None:
self.path = path
if cursor is not None:
self.cursor = cursor
if direct_only is not None:
self.direct_only = direct_only
@property
def path(self):
"""
See :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links`
description.
:rtype: str
"""
if self._path_present:
return self._path_value
else:
return None
@path.setter
def path(self, val):
if val is None:
del self.path
return
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
@property
def cursor(self):
"""
The cursor returned by your last call to
:meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links`.
: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 direct_only(self):
"""
See :meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links`
description.
:rtype: bool
"""
if self._direct_only_present:
return self._direct_only_value
else:
return None
@direct_only.setter
def direct_only(self, val):
if val is None:
del self.direct_only
return
val = self._direct_only_validator.validate(val)
self._direct_only_value = val
self._direct_only_present = True
@direct_only.deleter
def direct_only(self):
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,
self._cursor_value,
self._direct_only_value,
)
ListSharedLinksArg_validator = bv.Struct(ListSharedLinksArg)
class ListSharedLinksError(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.ListSharedLinksError.reset: Indicates that the cursor has been
invalidated. Call
:meth:`dropbox.dropbox.Dropbox.sharing_list_shared_links` 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
@classmethod
def path(cls, val):
"""
Create an instance of this class set to the ``path`` tag with value
``val``.
:param files.LookupError val:
:rtype: ListSharedLinksError
"""
return cls('path', val)
def is_path(self):
"""
Check if the union tag is ``path``.
:rtype: bool
"""
return self._tag == 'path'
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 get_path(self):
"""
Only call this if :meth:`is_path` is true.
: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(bb.Struct):
"""
: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.
"""
__slots__ = [
'_links_value',
'_links_present',
'_has_more_value',
'_has_more_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
links=None,
has_more=None,
cursor=None):
self._links_value = None
self._links_present = False
self._has_more_value = None
self._has_more_present = False
self._cursor_value = None
self._cursor_present = False
if links is not None:
self.links = links
if has_more is not None:
self.has_more = has_more
if cursor is not None:
self.cursor = cursor
@property
def links(self):
"""
Shared links applicable to the path argument.
:rtype: list of [SharedLinkMetadata]
"""
if self._links_present:
return self._links_value
else:
raise AttributeError("missing required field 'links'")
@links.setter
def links(self, val):
val = self._links_validator.validate(val)
self._links_value = val
self._links_present = True
@links.deleter
def links(self):
self._links_value = None
self._links_present = False
@property
def has_more(self):
"""
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.
: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
@property
def cursor(self):
"""
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.
: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(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,
self._has_more_value,
self._cursor_value,
)
ListSharedLinksResult_validator = bv.Struct(ListSharedLinksResult)
class MemberAccessLevelResult(bb.Struct):
"""
Contains information about a member's access level to content after an
operation.
: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__ = [
'_access_level_value',
'_access_level_present',
'_warning_value',
'_warning_present',
'_access_details_value',
'_access_details_present',
]
_has_required_fields = False
def __init__(self,
access_level=None,
warning=None,
access_details=None):
self._access_level_value = None
self._access_level_present = False
self._warning_value = None
self._warning_present = False
self._access_details_value = None
self._access_details_present = False
if access_level is not None:
self.access_level = access_level
if warning is not None:
self.warning = warning
if access_details is not None:
self.access_details = access_details
@property
def access_level(self):
"""
The member still has this level of access to the content through a
parent folder.
:rtype: AccessLevel
"""
if self._access_level_present:
return self._access_level_value
else:
return None
@access_level.setter
def access_level(self, val):
if val is None:
del self.access_level
return
self._access_level_validator.validate_type_only(val)
self._access_level_value = val
self._access_level_present = True
@access_level.deleter
def access_level(self):
self._access_level_value = None
self._access_level_present = False
@property
def warning(self):
"""
A localized string with additional information about why the user has
this access level to the content.
:rtype: str
"""
if self._warning_present:
return self._warning_value
else:
return None
@warning.setter
def warning(self, val):
if val is None:
del self.warning
return
val = self._warning_validator.validate(val)
self._warning_value = val
self._warning_present = True
@warning.deleter
def warning(self):
self._warning_value = None
self._warning_present = False
@property
def access_details(self):
"""
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.
:rtype: list of [ParentFolderAccessInfo]
"""
if self._access_details_present:
return self._access_details_value
else:
return None
@access_details.setter
def access_details(self, val):
if val is None:
del self.access_details
return
val = self._access_details_validator.validate(val)
self._access_details_value = val
self._access_details_present = True
@access_details.deleter
def access_details(self):
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,
self._warning_value,
self._access_details_value,
)
MemberAccessLevelResult_validator = bv.Struct(MemberAccessLevelResult)
class MemberAction(bb.Union):
"""
Actions that may be taken on members 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.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'
# Attribute is overwritten below the class definition
leave_a_copy = None
# Attribute is overwritten below the class definition
make_editor = None
# Attribute is overwritten below the class definition
make_owner = None
# Attribute is overwritten below the class definition
make_viewer = None
# Attribute is overwritten below the class definition
make_viewer_no_comment = None
# Attribute is overwritten below the class definition
remove = None
# Attribute is overwritten below the class definition
other = None
def is_leave_a_copy(self):
"""
Check if the union tag is ``leave_a_copy``.
:rtype: bool
"""
return self._tag == 'leave_a_copy'
def is_make_editor(self):
"""
Check if the union tag is ``make_editor``.
:rtype: bool
"""
return self._tag == 'make_editor'
def is_make_owner(self):
"""
Check if the union tag is ``make_owner``.
:rtype: bool
"""
return self._tag == 'make_owner'
def is_make_viewer(self):
"""
Check if the union tag is ``make_viewer``.
:rtype: bool
"""
return self._tag == 'make_viewer'
def is_make_viewer_no_comment(self):
"""
Check if the union tag is ``make_viewer_no_comment``.
:rtype: bool
"""
return self._tag == 'make_viewer_no_comment'
def is_remove(self):
"""
Check if the union tag is ``remove``.
:rtype: bool
"""
return self._tag == 'remove'
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(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(bb.Struct):
"""
Whether the user is allowed to take the action on the associated member.
: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__ = [
'_action_value',
'_action_present',
'_allow_value',
'_allow_present',
'_reason_value',
'_reason_present',
]
_has_required_fields = True
def __init__(self,
action=None,
allow=None,
reason=None):
self._action_value = None
self._action_present = False
self._allow_value = None
self._allow_present = False
self._reason_value = None
self._reason_present = False
if action is not None:
self.action = action
if allow is not None:
self.allow = allow
if reason is not None:
self.reason = reason
@property
def action(self):
"""
The action that the user may wish to take on the member.
:rtype: MemberAction
"""
if self._action_present:
return self._action_value
else:
raise AttributeError("missing required field 'action'")
@action.setter
def action(self, val):
self._action_validator.validate_type_only(val)
self._action_value = val
self._action_present = True
@action.deleter
def action(self):
self._action_value = None
self._action_present = False
@property
def allow(self):
"""
True if the user is allowed to take the action.
:rtype: bool
"""
if self._allow_present:
return self._allow_value
else:
raise AttributeError("missing required field 'allow'")
@allow.setter
def allow(self, val):
val = self._allow_validator.validate(val)
self._allow_value = val
self._allow_present = True
@allow.deleter
def allow(self):
self._allow_value = None
self._allow_present = False
@property
def reason(self):
"""
The reason why the user is denied the permission. Not present if the
action is allowed.
:rtype: PermissionDeniedReason
"""
if self._reason_present:
return self._reason_value
else:
return None
@reason.setter
def reason(self, val):
if val is None:
del self.reason
return
self._reason_validator.validate_type_only(val)
self._reason_value = val
self._reason_present = True
@reason.deleter
def reason(self):
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,
self._allow_value,
self._reason_value,
)
MemberPermission_validator = bv.Struct(MemberPermission)
class MemberPolicy(bb.Union):
"""
Policy governing who can be a member of a shared folder. Only applicable to
folders owned by a user on a 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.
:ivar sharing.MemberPolicy.team: Only a teammate can become a member.
:ivar sharing.MemberPolicy.anyone: Anyone can become a member.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
team = None
# Attribute is overwritten below the class definition
anyone = None
# Attribute is overwritten below the class definition
other = None
def is_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == '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 _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)
MemberPolicy_validator = bv.Union(MemberPolicy)
class MemberSelector(bb.Union):
"""
Includes different ways to identify 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.
: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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def dropbox_id(cls, val):
"""
Create an instance of this class set to the ``dropbox_id`` tag with
value ``val``.
:param str val:
:rtype: MemberSelector
"""
return cls('dropbox_id', val)
@classmethod
def email(cls, val):
"""
Create an instance of this class set to the ``email`` tag with value
``val``.
:param str val:
:rtype: MemberSelector
"""
return cls('email', val)
def is_dropbox_id(self):
"""
Check if the union tag is ``dropbox_id``.
:rtype: bool
"""
return self._tag == 'dropbox_id'
def is_email(self):
"""
Check if the union tag is ``email``.
:rtype: bool
"""
return self._tag == 'email'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_dropbox_id(self):
"""
Dropbox account, team member, or group ID of member.
Only call this if :meth:`is_dropbox_id` is true.
:rtype: str
"""
if not self.is_dropbox_id():
raise AttributeError("tag 'dropbox_id' not set")
return self._value
def get_email(self):
"""
E-mail address of member.
Only call this if :meth:`is_email` is true.
:rtype: str
"""
if not self.is_email():
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(bb.Struct):
"""
: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__ = [
'_url_value',
'_url_present',
'_settings_value',
'_settings_present',
'_remove_expiration_value',
'_remove_expiration_present',
]
_has_required_fields = True
def __init__(self,
url=None,
settings=None,
remove_expiration=None):
self._url_value = None
self._url_present = False
self._settings_value = None
self._settings_present = False
self._remove_expiration_value = None
self._remove_expiration_present = False
if url is not None:
self.url = url
if settings is not None:
self.settings = settings
if remove_expiration is not None:
self.remove_expiration = remove_expiration
@property
def url(self):
"""
URL of the shared link to change its settings.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
@property
def settings(self):
"""
Set of settings for the shared link.
:rtype: SharedLinkSettings
"""
if self._settings_present:
return self._settings_value
else:
raise AttributeError("missing required field 'settings'")
@settings.setter
def settings(self, val):
self._settings_validator.validate_type_only(val)
self._settings_value = val
self._settings_present = True
@settings.deleter
def settings(self):
self._settings_value = None
self._settings_present = False
@property
def remove_expiration(self):
"""
If set to true, removes the expiration of the shared link.
:rtype: bool
"""
if self._remove_expiration_present:
return self._remove_expiration_value
else:
return False
@remove_expiration.setter
def remove_expiration(self, val):
val = self._remove_expiration_validator.validate(val)
self._remove_expiration_value = val
self._remove_expiration_present = True
@remove_expiration.deleter
def remove_expiration(self):
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,
self._settings_value,
self._remove_expiration_value,
)
ModifySharedLinkSettingsArgs_validator = bv.Struct(ModifySharedLinkSettingsArgs)
class ModifySharedLinkSettingsError(SharedLinkError):
"""
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 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
email_not_verified = None
@classmethod
def settings_error(cls, val):
"""
Create an instance of this class set to the ``settings_error`` tag with
value ``val``.
:param SharedLinkSettingsError val:
:rtype: ModifySharedLinkSettingsError
"""
return cls('settings_error', val)
def is_settings_error(self):
"""
Check if the union tag is ``settings_error``.
:rtype: bool
"""
return self._tag == 'settings_error'
def is_email_not_verified(self):
"""
Check if the union tag is ``email_not_verified``.
:rtype: bool
"""
return self._tag == 'email_not_verified'
def get_settings_error(self):
"""
There is an error with the given settings.
Only call this if :meth:`is_settings_error` is true.
:rtype: SharedLinkSettingsError
"""
if not self.is_settings_error():
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(bb.Struct):
"""
:ivar sharing.MountFolderArg.shared_folder_id: The ID of the shared folder
to mount.
"""
__slots__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
@property
def shared_folder_id(self):
"""
The ID of the shared folder to mount.
: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(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,
)
MountFolderArg_validator = bv.Struct(MountFolderArg)
class MountFolderError(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.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'
# Attribute is overwritten below the class definition
inside_shared_folder = None
# Attribute is overwritten below the class definition
already_mounted = None
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
not_mountable = 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: MountFolderError
"""
return cls('access_error', val)
@classmethod
def insufficient_quota(cls, val):
"""
Create an instance of this class set to the ``insufficient_quota`` tag
with value ``val``.
:param InsufficientQuotaAmounts val:
:rtype: MountFolderError
"""
return cls('insufficient_quota', val)
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_inside_shared_folder(self):
"""
Check if the union tag is ``inside_shared_folder``.
:rtype: bool
"""
return self._tag == 'inside_shared_folder'
def is_insufficient_quota(self):
"""
Check if the union tag is ``insufficient_quota``.
:rtype: bool
"""
return self._tag == 'insufficient_quota'
def is_already_mounted(self):
"""
Check if the union tag is ``already_mounted``.
:rtype: bool
"""
return self._tag == 'already_mounted'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
return self._tag == 'no_permission'
def is_not_mountable(self):
"""
Check if the union tag is ``not_mountable``.
:rtype: bool
"""
return self._tag == 'not_mountable'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
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 get_insufficient_quota(self):
"""
The current user does not have enough space to mount the shared folder.
Only call this if :meth:`is_insufficient_quota` is true.
:rtype: InsufficientQuotaAmounts
"""
if not self.is_insufficient_quota():
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(bb.Struct):
"""
Contains information about a parent folder that a member has access to.
: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__ = [
'_folder_name_value',
'_folder_name_present',
'_shared_folder_id_value',
'_shared_folder_id_present',
'_permissions_value',
'_permissions_present',
'_path_value',
'_path_present',
]
_has_required_fields = True
def __init__(self,
folder_name=None,
shared_folder_id=None,
permissions=None,
path=None):
self._folder_name_value = None
self._folder_name_present = False
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._permissions_value = None
self._permissions_present = False
self._path_value = None
self._path_present = False
if folder_name is not None:
self.folder_name = folder_name
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if permissions is not None:
self.permissions = permissions
if path is not None:
self.path = path
@property
def folder_name(self):
"""
Display name for the folder.
:rtype: str
"""
if self._folder_name_present:
return self._folder_name_value
else:
raise AttributeError("missing required field 'folder_name'")
@folder_name.setter
def folder_name(self, val):
val = self._folder_name_validator.validate(val)
self._folder_name_value = val
self._folder_name_present = True
@folder_name.deleter
def folder_name(self):
self._folder_name_value = None
self._folder_name_present = False
@property
def shared_folder_id(self):
"""
The identifier of the parent shared folder.
:rtype: str
"""
if self._shared_folder_id_present:
return self._shared_folder_id_value
else:
raise AttributeError("missing required field 'shared_folder_id'")
@shared_folder_id.setter
def shared_folder_id(self, val):
val = self._shared_folder_id_validator.validate(val)
self._shared_folder_id_value = val
self._shared_folder_id_present = True
@shared_folder_id.deleter
def shared_folder_id(self):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
@property
def permissions(self):
"""
The user's permissions for the parent shared folder.
:rtype: list of [MemberPermission]
"""
if self._permissions_present:
return self._permissions_value
else:
raise AttributeError("missing required field 'permissions'")
@permissions.setter
def permissions(self, val):
val = self._permissions_validator.validate(val)
self._permissions_value = val
self._permissions_present = True
@permissions.deleter
def permissions(self):
self._permissions_value = None
self._permissions_present = False
@property
def path(self):
"""
The full path to the parent shared folder relative to the acting user's
root.
:rtype: str
"""
if self._path_present:
return self._path_value
else:
raise AttributeError("missing required field 'path'")
@path.setter
def path(self, val):
val = self._path_validator.validate(val)
self._path_value = val
self._path_present = True
@path.deleter
def path(self):
self._path_value = None
self._path_present = False
def _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,
self._shared_folder_id_value,
self._permissions_value,
self._path_value,
)
ParentFolderAccessInfo_validator = bv.Struct(ParentFolderAccessInfo)
class PathLinkMetadata(LinkMetadata):
"""
Metadata for a path-based shared link.
:ivar sharing.PathLinkMetadata.path: Path in user's Dropbox.
"""
__slots__ = [
'_path_value',
'_path_present',
]
_has_required_fields = True
def __init__(self,
url=None,
visibility=None,
path=None,
expires=None):
super(PathLinkMetadata, self).__init__(url,
visibility,
expires)
self._path_value = None
self._path_present = False
if path is not None:
self.path = path
@property
def path(self):
"""
Path in user's Dropbox.
: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(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,
self._visibility_value,
self._path_value,
self._expires_value,
)
PathLinkMetadata_validator = bv.Struct(PathLinkMetadata)
class PendingUploadMode(bb.Union):
"""
Flag to indicate pending upload default (for linking to not-yet-existing
paths).
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.PendingUploadMode.file: Assume pending uploads are files.
:ivar sharing.PendingUploadMode.folder: Assume pending uploads are folders.
"""
_catch_all = None
# Attribute is overwritten below the class definition
file = None
# Attribute is overwritten below the class definition
folder = None
def is_file(self):
"""
Check if the union tag is ``file``.
:rtype: bool
"""
return self._tag == 'file'
def is_folder(self):
"""
Check if the union tag is ``folder``.
:rtype: bool
"""
return self._tag == 'folder'
def _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)
PendingUploadMode_validator = bv.Union(PendingUploadMode)
class PermissionDeniedReason(bb.Union):
"""
Possible reasons the user is denied a permission.
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.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'
# Attribute is overwritten below the class definition
user_not_same_team_as_owner = None
# Attribute is overwritten below the class definition
user_not_allowed_by_owner = None
# Attribute is overwritten below the class definition
target_is_indirect_member = None
# Attribute is overwritten below the class definition
target_is_owner = None
# Attribute is overwritten below the class definition
target_is_self = None
# Attribute is overwritten below the class definition
target_not_active = None
# Attribute is overwritten below the class definition
folder_is_limited_team_folder = None
# Attribute is overwritten below the class definition
owner_not_on_team = None
# Attribute is overwritten below the class definition
permission_denied = None
# Attribute is overwritten below the class definition
restricted_by_team = None
# Attribute is overwritten below the class definition
user_account_type = None
# Attribute is overwritten below the class definition
user_not_on_team = None
# Attribute is overwritten below the class definition
folder_is_inside_shared_folder = None
# Attribute is overwritten below the class definition
restricted_by_parent_folder = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def insufficient_plan(cls, val):
"""
Create an instance of this class set to the ``insufficient_plan`` tag
with value ``val``.
:param InsufficientPlan val:
:rtype: PermissionDeniedReason
"""
return cls('insufficient_plan', val)
def is_user_not_same_team_as_owner(self):
"""
Check if the union tag is ``user_not_same_team_as_owner``.
:rtype: bool
"""
return self._tag == 'user_not_same_team_as_owner'
def is_user_not_allowed_by_owner(self):
"""
Check if the union tag is ``user_not_allowed_by_owner``.
:rtype: bool
"""
return self._tag == 'user_not_allowed_by_owner'
def is_target_is_indirect_member(self):
"""
Check if the union tag is ``target_is_indirect_member``.
:rtype: bool
"""
return self._tag == 'target_is_indirect_member'
def is_target_is_owner(self):
"""
Check if the union tag is ``target_is_owner``.
:rtype: bool
"""
return self._tag == 'target_is_owner'
def is_target_is_self(self):
"""
Check if the union tag is ``target_is_self``.
:rtype: bool
"""
return self._tag == 'target_is_self'
def is_target_not_active(self):
"""
Check if the union tag is ``target_not_active``.
:rtype: bool
"""
return self._tag == 'target_not_active'
def is_folder_is_limited_team_folder(self):
"""
Check if the union tag is ``folder_is_limited_team_folder``.
:rtype: bool
"""
return self._tag == 'folder_is_limited_team_folder'
def is_owner_not_on_team(self):
"""
Check if the union tag is ``owner_not_on_team``.
:rtype: bool
"""
return self._tag == 'owner_not_on_team'
def is_permission_denied(self):
"""
Check if the union tag is ``permission_denied``.
:rtype: bool
"""
return self._tag == 'permission_denied'
def is_restricted_by_team(self):
"""
Check if the union tag is ``restricted_by_team``.
:rtype: bool
"""
return self._tag == 'restricted_by_team'
def is_user_account_type(self):
"""
Check if the union tag is ``user_account_type``.
:rtype: bool
"""
return self._tag == 'user_account_type'
def is_user_not_on_team(self):
"""
Check if the union tag is ``user_not_on_team``.
:rtype: bool
"""
return self._tag == 'user_not_on_team'
def is_folder_is_inside_shared_folder(self):
"""
Check if the union tag is ``folder_is_inside_shared_folder``.
:rtype: bool
"""
return self._tag == 'folder_is_inside_shared_folder'
def is_restricted_by_parent_folder(self):
"""
Check if the union tag is ``restricted_by_parent_folder``.
:rtype: bool
"""
return self._tag == 'restricted_by_parent_folder'
def is_insufficient_plan(self):
"""
Check if the union tag is ``insufficient_plan``.
:rtype: bool
"""
return self._tag == 'insufficient_plan'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_insufficient_plan(self):
"""
Only call this if :meth:`is_insufficient_plan` is true.
:rtype: InsufficientPlan
"""
if not self.is_insufficient_plan():
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(bb.Struct):
"""
:ivar sharing.RelinquishFileMembershipArg.file: The path or id for the file.
"""
__slots__ = [
'_file_value',
'_file_present',
]
_has_required_fields = True
def __init__(self,
file=None):
self._file_value = None
self._file_present = False
if file is not None:
self.file = file
@property
def file(self):
"""
The path or id for the file.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
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,
)
RelinquishFileMembershipArg_validator = bv.Struct(RelinquishFileMembershipArg)
class RelinquishFileMembershipError(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.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'
# Attribute is overwritten below the class definition
group_access = None
# 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 SharingFileAccessError val:
:rtype: RelinquishFileMembershipError
"""
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_group_access(self):
"""
Check if the union tag is ``group_access``.
:rtype: bool
"""
return self._tag == 'group_access'
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):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(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(bb.Struct):
"""
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_leave_a_copy_value',
'_leave_a_copy_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
leave_a_copy=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._leave_a_copy_value = None
self._leave_a_copy_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if leave_a_copy is not None:
self.leave_a_copy = leave_a_copy
@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
@property
def leave_a_copy(self):
"""
Keep a copy of the folder's contents upon relinquishing membership.
:rtype: bool
"""
if self._leave_a_copy_present:
return self._leave_a_copy_value
else:
return False
@leave_a_copy.setter
def leave_a_copy(self, val):
val = self._leave_a_copy_validator.validate(val)
self._leave_a_copy_value = val
self._leave_a_copy_present = True
@leave_a_copy.deleter
def leave_a_copy(self):
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,
self._leave_a_copy_value,
)
RelinquishFolderMembershipArg_validator = bv.Struct(RelinquishFolderMembershipArg)
class RelinquishFolderMembershipError(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.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'
# Attribute is overwritten below the class definition
folder_owner = None
# Attribute is overwritten below the class definition
mounted = None
# Attribute is overwritten below the class definition
group_access = None
# Attribute is overwritten below the class definition
team_folder = None
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
no_explicit_access = 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: RelinquishFolderMembershipError
"""
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_folder_owner(self):
"""
Check if the union tag is ``folder_owner``.
:rtype: bool
"""
return self._tag == 'folder_owner'
def is_mounted(self):
"""
Check if the union tag is ``mounted``.
:rtype: bool
"""
return self._tag == 'mounted'
def is_group_access(self):
"""
Check if the union tag is ``group_access``.
:rtype: bool
"""
return self._tag == 'group_access'
def is_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
return self._tag == 'no_permission'
def is_no_explicit_access(self):
"""
Check if the union tag is ``no_explicit_access``.
:rtype: bool
"""
return self._tag == 'no_explicit_access'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
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(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(bb.Struct):
"""
Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_remove_file_member_2`.
: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__ = [
'_file_value',
'_file_present',
'_member_value',
'_member_present',
]
_has_required_fields = True
def __init__(self,
file=None,
member=None):
self._file_value = None
self._file_present = False
self._member_value = None
self._member_present = False
if file is not None:
self.file = file
if member is not None:
self.member = member
@property
def file(self):
"""
File from which to remove members.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
self._file_value = None
self._file_present = False
@property
def member(self):
"""
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.
:rtype: MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
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,
self._member_value,
)
RemoveFileMemberArg_validator = bv.Struct(RemoveFileMemberArg)
class RemoveFileMemberError(bb.Union):
"""
Errors for :meth:`dropbox.dropbox.Dropbox.sharing_remove_file_member_2`.
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 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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def user_error(cls, val):
"""
Create an instance of this class set to the ``user_error`` tag with
value ``val``.
:param SharingUserError val:
:rtype: RemoveFileMemberError
"""
return cls('user_error', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: RemoveFileMemberError
"""
return cls('access_error', val)
@classmethod
def no_explicit_access(cls, val):
"""
Create an instance of this class set to the ``no_explicit_access`` tag
with value ``val``.
:param MemberAccessLevelResult val:
:rtype: RemoveFileMemberError
"""
return cls('no_explicit_access', val)
def is_user_error(self):
"""
Check if the union tag is ``user_error``.
:rtype: bool
"""
return self._tag == 'user_error'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_no_explicit_access(self):
"""
Check if the union tag is ``no_explicit_access``.
:rtype: bool
"""
return self._tag == 'no_explicit_access'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_user_error(self):
"""
Only call this if :meth:`is_user_error` is true.
:rtype: SharingUserError
"""
if not self.is_user_error():
raise AttributeError("tag 'user_error' not set")
return self._value
def get_access_error(self):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
if not self.is_access_error():
raise AttributeError("tag 'access_error' not set")
return self._value
def get_no_explicit_access(self):
"""
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.
Only call this if :meth:`is_no_explicit_access` is true.
:rtype: MemberAccessLevelResult
"""
if not self.is_no_explicit_access():
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(bb.Struct):
"""
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_member_value',
'_member_present',
'_leave_a_copy_value',
'_leave_a_copy_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
member=None,
leave_a_copy=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._member_value = None
self._member_present = False
self._leave_a_copy_value = None
self._leave_a_copy_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if member is not None:
self.member = member
if leave_a_copy is not None:
self.leave_a_copy = leave_a_copy
@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
@property
def member(self):
"""
The member to remove from the folder.
:rtype: MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
self._member_value = None
self._member_present = False
@property
def leave_a_copy(self):
"""
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.
:rtype: bool
"""
if self._leave_a_copy_present:
return self._leave_a_copy_value
else:
raise AttributeError("missing required field 'leave_a_copy'")
@leave_a_copy.setter
def leave_a_copy(self, val):
val = self._leave_a_copy_validator.validate(val)
self._leave_a_copy_value = val
self._leave_a_copy_present = True
@leave_a_copy.deleter
def leave_a_copy(self):
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,
self._member_value,
self._leave_a_copy_value,
)
RemoveFolderMemberArg_validator = bv.Struct(RemoveFolderMemberArg)
class RemoveFolderMemberError(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.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'
# Attribute is overwritten below the class definition
folder_owner = None
# Attribute is overwritten below the class definition
group_access = None
# Attribute is overwritten below the class definition
team_folder = None
# 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
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharedFolderAccessError val:
:rtype: RemoveFolderMemberError
"""
return cls('access_error', val)
@classmethod
def member_error(cls, val):
"""
Create an instance of this class set to the ``member_error`` tag with
value ``val``.
:param SharedFolderMemberError val:
:rtype: RemoveFolderMemberError
"""
return cls('member_error', val)
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_member_error(self):
"""
Check if the union tag is ``member_error``.
:rtype: bool
"""
return self._tag == 'member_error'
def is_folder_owner(self):
"""
Check if the union tag is ``folder_owner``.
:rtype: bool
"""
return self._tag == 'folder_owner'
def is_group_access(self):
"""
Check if the union tag is ``group_access``.
:rtype: bool
"""
return self._tag == 'group_access'
def is_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
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 get_member_error(self):
"""
Only call this if :meth:`is_member_error` is true.
:rtype: SharedFolderMemberError
"""
if not self.is_member_error():
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):
"""
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 RemoveMemberJobStatus.complete: Removing the
folder member has finished. The value is information about whether the
member has another form of access.
"""
@classmethod
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param MemberAccessLevelResult val:
:rtype: RemoveMemberJobStatus
"""
return cls('complete', val)
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param RemoveFolderMemberError val:
:rtype: RemoveMemberJobStatus
"""
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 get_complete(self):
"""
Removing the folder member has finished. The value is information about
whether the member has another form of access.
Only call this if :meth:`is_complete` is true.
:rtype: MemberAccessLevelResult
"""
if not self.is_complete():
raise AttributeError("tag 'complete' not set")
return self._value
def get_failed(self):
"""
Only call this if :meth:`is_failed` is true.
:rtype: RemoveFolderMemberError
"""
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(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
link. Note that the final resolved visibility of the shared link takes into
account other aspects, such as team and shared folder settings. Check the
:class:`ResolvedVisibility` for more info on the possible resolved
visibility values of shared links.
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.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
# 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
password = None
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_password(self):
"""
Check if the union tag is ``password``.
:rtype: bool
"""
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)
RequestedVisibility_validator = bv.Union(RequestedVisibility)
class ResolvedVisibility(RequestedVisibility):
"""
The actual access permissions values of shared links after taking into
account user preferences and the team and shared folder settings. Check the
:class:`RequestedVisibility` for more info on the possible visibility values
that can be set by the shared link's owner.
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.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'
# Attribute is overwritten below the class definition
team_and_password = None
# Attribute is overwritten below the class definition
shared_folder_only = None
# Attribute is overwritten below the class definition
other = None
def is_team_and_password(self):
"""
Check if the union tag is ``team_and_password``.
:rtype: bool
"""
return self._tag == 'team_and_password'
def is_shared_folder_only(self):
"""
Check if the union tag is ``shared_folder_only``.
:rtype: bool
"""
return self._tag == 'shared_folder_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(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(bb.Struct):
"""
:ivar sharing.RevokeSharedLinkArg.url: URL of the shared link.
"""
__slots__ = [
'_url_value',
'_url_present',
]
_has_required_fields = True
def __init__(self,
url=None):
self._url_value = None
self._url_present = False
if url is not None:
self.url = url
@property
def url(self):
"""
URL of the shared link.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
def _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,
)
RevokeSharedLinkArg_validator = bv.Struct(RevokeSharedLinkArg)
class RevokeSharedLinkError(SharedLinkError):
"""
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.RevokeSharedLinkError.shared_link_malformed: Shared link is
malformed.
"""
# Attribute is overwritten below the class definition
shared_link_malformed = None
def is_shared_link_malformed(self):
"""
Check if the union tag is ``shared_link_malformed``.
:rtype: bool
"""
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 SetAccessInheritanceArg(bb.Struct):
"""
: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__ = [
'_acl_update_policy_value',
'_acl_update_policy_present',
'_force_async_value',
'_force_async_present',
'_member_policy_value',
'_member_policy_present',
'_path_value',
'_path_present',
'_shared_link_policy_value',
'_shared_link_policy_present',
'_viewer_info_policy_value',
'_viewer_info_policy_present',
'_access_inheritance_value',
'_access_inheritance_present',
]
_has_required_fields = True
def __init__(self,
path=None,
acl_update_policy=None,
force_async=None,
member_policy=None,
shared_link_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
self._force_async_present = False
self._member_policy_value = None
self._member_policy_present = False
self._path_value = None
self._path_present = False
self._shared_link_policy_value = None
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:
self.force_async = force_async
if member_policy is not None:
self.member_policy = member_policy
if path is not None:
self.path = path
if shared_link_policy is not None:
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):
"""
Who can add and remove members of this shared folder.
:rtype: AclUpdatePolicy
"""
if self._acl_update_policy_present:
return self._acl_update_policy_value
else:
return None
@acl_update_policy.setter
def acl_update_policy(self, val):
if val is None:
del self.acl_update_policy
return
self._acl_update_policy_validator.validate_type_only(val)
self._acl_update_policy_value = val
self._acl_update_policy_present = True
@acl_update_policy.deleter
def acl_update_policy(self):
self._acl_update_policy_value = None
self._acl_update_policy_present = False
@property
def force_async(self):
"""
Whether to force the share 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
@property
def member_policy(self):
"""
Who can be a member of this shared folder. Only applicable if the
current user is on a team.
:rtype: MemberPolicy
"""
if self._member_policy_present:
return self._member_policy_value
else:
return None
@member_policy.setter
def member_policy(self, val):
if val is None:
del self.member_policy
return
self._member_policy_validator.validate_type_only(val)
self._member_policy_value = val
self._member_policy_present = True
@member_policy.deleter
def member_policy(self):
self._member_policy_value = None
self._member_policy_present = False
@property
def path(self):
"""
The path to the folder to share. If it does not exist, then a new one is
created.
: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
@property
def shared_link_policy(self):
"""
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``.
:rtype: SharedLinkPolicy
"""
if self._shared_link_policy_present:
return self._shared_link_policy_value
else:
return None
@shared_link_policy.setter
def shared_link_policy(self, val):
if val is None:
del self.shared_link_policy
return
self._shared_link_policy_validator.validate_type_only(val)
self._shared_link_policy_value = val
self._shared_link_policy_present = True
@shared_link_policy.deleter
def shared_link_policy(self):
self._shared_link_policy_value = None
self._shared_link_policy_present = False
@property
def viewer_info_policy(self):
"""
Who can enable/disable viewer info for this shared folder.
:rtype: ViewerInfoPolicy
"""
if self._viewer_info_policy_present:
return self._viewer_info_policy_value
else:
return None
@viewer_info_policy.setter
def viewer_info_policy(self, val):
if val is None:
del self.viewer_info_policy
return
self._viewer_info_policy_validator.validate_type_only(val)
self._viewer_info_policy_value = val
self._viewer_info_policy_present = True
@viewer_info_policy.deleter
def viewer_info_policy(self):
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}, 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 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__ = [
'_actions_value',
'_actions_present',
'_link_settings_value',
'_link_settings_present',
]
_has_required_fields = True
def __init__(self,
path=None,
acl_update_policy=None,
force_async=None,
member_policy=None,
shared_link_policy=None,
viewer_info_policy=None,
access_inheritance=None,
actions=None,
link_settings=None):
super(ShareFolderArg, self).__init__(path,
acl_update_policy,
force_async,
member_policy,
shared_link_policy,
viewer_info_policy,
access_inheritance)
self._actions_value = None
self._actions_present = False
self._link_settings_value = None
self._link_settings_present = False
if actions is not None:
self.actions = actions
if link_settings is not None:
self.link_settings = link_settings
@property
def actions(self):
"""
A list of `FolderAction`s corresponding to `FolderPermission`s that
should appear in the response's ``SharedFolderMetadata.permissions``
field describing the actions the authenticated user can perform on the
folder.
:rtype: list of [FolderAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
@property
def link_settings(self):
"""
Settings on the link for this folder.
:rtype: LinkSettings
"""
if self._link_settings_present:
return self._link_settings_value
else:
return None
@link_settings.setter
def link_settings(self, val):
if val is None:
del self.link_settings
return
self._link_settings_validator.validate_type_only(val)
self._link_settings_value = val
self._link_settings_present = True
@link_settings.deleter
def link_settings(self):
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}, 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,
)
ShareFolderArg_validator = bv.Struct(ShareFolderArg)
class ShareFolderErrorBase(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.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'
# Attribute is overwritten below the class definition
email_unverified = None
# Attribute is overwritten below the class definition
team_policy_disallows_member_policy = None
# Attribute is overwritten below the class definition
disallowed_shared_link_policy = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def bad_path(cls, val):
"""
Create an instance of this class set to the ``bad_path`` tag with value
``val``.
:param SharePathError val:
:rtype: ShareFolderErrorBase
"""
return cls('bad_path', val)
def is_email_unverified(self):
"""
Check if the union tag is ``email_unverified``.
:rtype: bool
"""
return self._tag == 'email_unverified'
def is_bad_path(self):
"""
Check if the union tag is ``bad_path``.
:rtype: bool
"""
return self._tag == 'bad_path'
def is_team_policy_disallows_member_policy(self):
"""
Check if the union tag is ``team_policy_disallows_member_policy``.
:rtype: bool
"""
return self._tag == 'team_policy_disallows_member_policy'
def is_disallowed_shared_link_policy(self):
"""
Check if the union tag is ``disallowed_shared_link_policy``.
:rtype: bool
"""
return self._tag == 'disallowed_shared_link_policy'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_bad_path(self):
"""
``ShareFolderArg.path`` is invalid.
Only call this if :meth:`is_bad_path` is true.
:rtype: SharePathError
"""
if not self.is_bad_path():
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)
ShareFolderErrorBase_validator = bv.Union(ShareFolderErrorBase)
class ShareFolderError(ShareFolderErrorBase):
"""
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.ShareFolderError.no_permission: The current user does not have
permission to perform this action.
"""
# Attribute is overwritten below the class definition
no_permission = None
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
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):
"""
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 ShareFolderJobStatus.complete: The share job has
finished. The value is the metadata for the folder.
"""
@classmethod
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param SharedFolderMetadata val:
:rtype: ShareFolderJobStatus
"""
return cls('complete', val)
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param ShareFolderError val:
:rtype: ShareFolderJobStatus
"""
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 get_complete(self):
"""
The share job has finished. The value is the metadata for the folder.
Only call this if :meth:`is_complete` is true.
:rtype: SharedFolderMetadata
"""
if not self.is_complete():
raise AttributeError("tag 'complete' not set")
return self._value
def get_failed(self):
"""
Only call this if :meth:`is_failed` is true.
:rtype: ShareFolderError
"""
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(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):
"""
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 SharedFolderMetadata val:
:rtype: ShareFolderLaunch
"""
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: SharedFolderMetadata
"""
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(ShareFolderLaunch, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ShareFolderLaunch(%r, %r)' % (self._tag, self._value)
ShareFolderLaunch_validator = bv.Union(ShareFolderLaunch)
class SharePathError(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.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 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'
# Attribute is overwritten below the class definition
is_file = None
# Attribute is overwritten below the class definition
inside_shared_folder = None
# Attribute is overwritten below the class definition
contains_shared_folder = None
# Attribute is overwritten below the class definition
contains_app_folder = None
# Attribute is overwritten below the class definition
contains_team_folder = None
# Attribute is overwritten below the class definition
is_app_folder = None
# Attribute is overwritten below the class definition
inside_app_folder = None
# Attribute is overwritten below the class definition
is_public_folder = None
# Attribute is overwritten below the class definition
inside_public_folder = None
# Attribute is overwritten below the class definition
invalid_path = None
# Attribute is overwritten below the class definition
is_osx_package = None
# Attribute is overwritten below the class definition
inside_osx_package = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def already_shared(cls, val):
"""
Create an instance of this class set to the ``already_shared`` tag with
value ``val``.
:param SharedFolderMetadata val:
:rtype: SharePathError
"""
return cls('already_shared', val)
def is_is_file(self):
"""
Check if the union tag is ``is_file``.
:rtype: bool
"""
return self._tag == 'is_file'
def is_inside_shared_folder(self):
"""
Check if the union tag is ``inside_shared_folder``.
:rtype: bool
"""
return self._tag == 'inside_shared_folder'
def is_contains_shared_folder(self):
"""
Check if the union tag is ``contains_shared_folder``.
:rtype: bool
"""
return self._tag == 'contains_shared_folder'
def is_contains_app_folder(self):
"""
Check if the union tag is ``contains_app_folder``.
:rtype: bool
"""
return self._tag == 'contains_app_folder'
def is_contains_team_folder(self):
"""
Check if the union tag is ``contains_team_folder``.
:rtype: bool
"""
return self._tag == 'contains_team_folder'
def is_is_app_folder(self):
"""
Check if the union tag is ``is_app_folder``.
:rtype: bool
"""
return self._tag == 'is_app_folder'
def is_inside_app_folder(self):
"""
Check if the union tag is ``inside_app_folder``.
:rtype: bool
"""
return self._tag == 'inside_app_folder'
def is_is_public_folder(self):
"""
Check if the union tag is ``is_public_folder``.
:rtype: bool
"""
return self._tag == 'is_public_folder'
def is_inside_public_folder(self):
"""
Check if the union tag is ``inside_public_folder``.
:rtype: bool
"""
return self._tag == 'inside_public_folder'
def is_already_shared(self):
"""
Check if the union tag is ``already_shared``.
:rtype: bool
"""
return self._tag == 'already_shared'
def is_invalid_path(self):
"""
Check if the union tag is ``invalid_path``.
:rtype: bool
"""
return self._tag == 'invalid_path'
def is_is_osx_package(self):
"""
Check if the union tag is ``is_osx_package``.
:rtype: bool
"""
return self._tag == 'is_osx_package'
def is_inside_osx_package(self):
"""
Check if the union tag is ``inside_osx_package``.
:rtype: bool
"""
return self._tag == 'inside_osx_package'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_already_shared(self):
"""
Folder is already shared. Contains metadata about the existing shared
folder.
Only call this if :meth:`is_already_shared` is true.
:rtype: SharedFolderMetadata
"""
if not self.is_already_shared():
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)
SharePathError_validator = bv.Union(SharePathError)
class SharedContentLinkMetadata(SharedContentLinkMetadataBase):
"""
Metadata of a shared link for a file or folder.
: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__ = [
'_audience_exceptions_value',
'_audience_exceptions_present',
'_url_value',
'_url_present',
]
_has_required_fields = True
def __init__(self,
audience_options=None,
current_audience=None,
link_permissions=None,
password_protected=None,
url=None,
access_level=None,
audience_restricting_shared_folder=None,
expiry=None,
audience_exceptions=None):
super(SharedContentLinkMetadata, self).__init__(audience_options,
current_audience,
link_permissions,
password_protected,
access_level,
audience_restricting_shared_folder,
expiry)
self._audience_exceptions_value = None
self._audience_exceptions_present = False
self._url_value = None
self._url_present = False
if audience_exceptions is not None:
self.audience_exceptions = audience_exceptions
if url is not None:
self.url = url
@property
def audience_exceptions(self):
"""
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.
:rtype: AudienceExceptions
"""
if self._audience_exceptions_present:
return self._audience_exceptions_value
else:
return None
@audience_exceptions.setter
def audience_exceptions(self, val):
if val is None:
del self.audience_exceptions
return
self._audience_exceptions_validator.validate_type_only(val)
self._audience_exceptions_value = val
self._audience_exceptions_present = True
@audience_exceptions.deleter
def audience_exceptions(self):
self._audience_exceptions_value = None
self._audience_exceptions_present = False
@property
def url(self):
"""
The URL of the link.
:rtype: str
"""
if self._url_present:
return self._url_value
else:
raise AttributeError("missing required field 'url'")
@url.setter
def url(self, val):
val = self._url_validator.validate(val)
self._url_value = val
self._url_present = True
@url.deleter
def url(self):
self._url_value = None
self._url_present = False
def _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,
self._current_audience_value,
self._link_permissions_value,
self._password_protected_value,
self._url_value,
self._access_level_value,
self._audience_restricting_shared_folder_value,
self._expiry_value,
self._audience_exceptions_value,
)
SharedContentLinkMetadata_validator = bv.Struct(SharedContentLinkMetadata)
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
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_continue`, and used
as part of the results for
:meth:`dropbox.dropbox.Dropbox.sharing_list_file_members_batch`.
:ivar 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__ = [
'_users_value',
'_users_present',
'_groups_value',
'_groups_present',
'_invitees_value',
'_invitees_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
users=None,
groups=None,
invitees=None,
cursor=None):
self._users_value = None
self._users_present = False
self._groups_value = None
self._groups_present = False
self._invitees_value = None
self._invitees_present = False
self._cursor_value = None
self._cursor_present = False
if users is not None:
self.users = users
if groups is not None:
self.groups = groups
if invitees is not None:
self.invitees = invitees
if cursor is not None:
self.cursor = cursor
@property
def users(self):
"""
The list of user members of the shared file.
:rtype: list of [UserFileMembershipInfo]
"""
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 groups(self):
"""
The list of group members of the shared file.
:rtype: list of [GroupMembershipInfo]
"""
if self._groups_present:
return self._groups_value
else:
raise AttributeError("missing required field 'groups'")
@groups.setter
def groups(self, val):
val = self._groups_validator.validate(val)
self._groups_value = val
self._groups_present = True
@groups.deleter
def groups(self):
self._groups_value = None
self._groups_present = False
@property
def invitees(self):
"""
The list of invited members of a file, but have not logged in and
claimed this.
:rtype: list of [InviteeMembershipInfo]
"""
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
@property
def cursor(self):
"""
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.
: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(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,
self._groups_value,
self._invitees_value,
self._cursor_value,
)
SharedFileMembers_validator = bv.Struct(SharedFileMembers)
class SharedFileMetadata(bb.Struct):
"""
Properties of the shared file.
: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__ = [
'_access_type_value',
'_access_type_present',
'_id_value',
'_id_present',
'_expected_link_metadata_value',
'_expected_link_metadata_present',
'_link_metadata_value',
'_link_metadata_present',
'_name_value',
'_name_present',
'_owner_display_names_value',
'_owner_display_names_present',
'_owner_team_value',
'_owner_team_present',
'_parent_shared_folder_id_value',
'_parent_shared_folder_id_present',
'_path_display_value',
'_path_display_present',
'_path_lower_value',
'_path_lower_present',
'_permissions_value',
'_permissions_present',
'_policy_value',
'_policy_present',
'_preview_url_value',
'_preview_url_present',
'_time_invited_value',
'_time_invited_present',
]
_has_required_fields = True
def __init__(self,
id=None,
name=None,
policy=None,
preview_url=None,
access_type=None,
expected_link_metadata=None,
link_metadata=None,
owner_display_names=None,
owner_team=None,
parent_shared_folder_id=None,
path_display=None,
path_lower=None,
permissions=None,
time_invited=None):
self._access_type_value = None
self._access_type_present = False
self._id_value = None
self._id_present = False
self._expected_link_metadata_value = None
self._expected_link_metadata_present = False
self._link_metadata_value = None
self._link_metadata_present = False
self._name_value = None
self._name_present = False
self._owner_display_names_value = None
self._owner_display_names_present = False
self._owner_team_value = None
self._owner_team_present = False
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
self._path_display_value = None
self._path_display_present = False
self._path_lower_value = None
self._path_lower_present = False
self._permissions_value = None
self._permissions_present = False
self._policy_value = None
self._policy_present = False
self._preview_url_value = None
self._preview_url_present = False
self._time_invited_value = None
self._time_invited_present = False
if access_type is not None:
self.access_type = access_type
if id is not None:
self.id = id
if expected_link_metadata is not None:
self.expected_link_metadata = expected_link_metadata
if link_metadata is not None:
self.link_metadata = link_metadata
if name is not None:
self.name = name
if owner_display_names is not None:
self.owner_display_names = owner_display_names
if owner_team is not None:
self.owner_team = owner_team
if parent_shared_folder_id is not None:
self.parent_shared_folder_id = parent_shared_folder_id
if path_display is not None:
self.path_display = path_display
if path_lower is not None:
self.path_lower = path_lower
if permissions is not None:
self.permissions = permissions
if policy is not None:
self.policy = policy
if preview_url is not None:
self.preview_url = preview_url
if time_invited is not None:
self.time_invited = time_invited
@property
def access_type(self):
"""
The current user's access level for this shared file.
:rtype: AccessLevel
"""
if self._access_type_present:
return self._access_type_value
else:
return None
@access_type.setter
def access_type(self, val):
if val is None:
del self.access_type
return
self._access_type_validator.validate_type_only(val)
self._access_type_value = val
self._access_type_present = True
@access_type.deleter
def access_type(self):
self._access_type_value = None
self._access_type_present = False
@property
def id(self):
"""
The ID of the file.
:rtype: str
"""
if self._id_present:
return self._id_value
else:
raise AttributeError("missing required field 'id'")
@id.setter
def id(self, val):
val = self._id_validator.validate(val)
self._id_value = val
self._id_present = True
@id.deleter
def id(self):
self._id_value = None
self._id_present = False
@property
def expected_link_metadata(self):
"""
The expected metadata of the link associated for the file when it is
first shared. Absent if the link already exists. This is for an
unreleased feature so it may not be returned yet.
:rtype: ExpectedSharedContentLinkMetadata
"""
if self._expected_link_metadata_present:
return self._expected_link_metadata_value
else:
return None
@expected_link_metadata.setter
def expected_link_metadata(self, val):
if val is None:
del self.expected_link_metadata
return
self._expected_link_metadata_validator.validate_type_only(val)
self._expected_link_metadata_value = val
self._expected_link_metadata_present = True
@expected_link_metadata.deleter
def expected_link_metadata(self):
self._expected_link_metadata_value = None
self._expected_link_metadata_present = False
@property
def link_metadata(self):
"""
The metadata of the link associated for the file. This is for an
unreleased feature so it may not be returned yet.
:rtype: SharedContentLinkMetadata
"""
if self._link_metadata_present:
return self._link_metadata_value
else:
return None
@link_metadata.setter
def link_metadata(self, val):
if val is None:
del self.link_metadata
return
self._link_metadata_validator.validate_type_only(val)
self._link_metadata_value = val
self._link_metadata_present = True
@link_metadata.deleter
def link_metadata(self):
self._link_metadata_value = None
self._link_metadata_present = False
@property
def name(self):
"""
The name of this file.
: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 owner_display_names(self):
"""
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.
:rtype: list of [str]
"""
if self._owner_display_names_present:
return self._owner_display_names_value
else:
return None
@owner_display_names.setter
def owner_display_names(self, val):
if val is None:
del self.owner_display_names
return
val = self._owner_display_names_validator.validate(val)
self._owner_display_names_value = val
self._owner_display_names_present = True
@owner_display_names.deleter
def owner_display_names(self):
self._owner_display_names_value = None
self._owner_display_names_present = False
@property
def owner_team(self):
"""
The team that owns the file. This field is not present if the file is
not owned by a team.
:rtype: users.Team
"""
if self._owner_team_present:
return self._owner_team_value
else:
return None
@owner_team.setter
def owner_team(self, val):
if val is None:
del self.owner_team
return
self._owner_team_validator.validate_type_only(val)
self._owner_team_value = val
self._owner_team_present = True
@owner_team.deleter
def owner_team(self):
self._owner_team_value = None
self._owner_team_present = False
@property
def parent_shared_folder_id(self):
"""
The ID of the parent shared folder. This field is present only if the
file is contained within a shared folder.
:rtype: str
"""
if self._parent_shared_folder_id_present:
return self._parent_shared_folder_id_value
else:
return None
@parent_shared_folder_id.setter
def parent_shared_folder_id(self, val):
if val is None:
del self.parent_shared_folder_id
return
val = self._parent_shared_folder_id_validator.validate(val)
self._parent_shared_folder_id_value = val
self._parent_shared_folder_id_present = True
@parent_shared_folder_id.deleter
def parent_shared_folder_id(self):
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
@property
def path_display(self):
"""
The cased path to be used for display purposes only. In rare instances
the casing will not correctly match the user's filesystem, but this
behavior will match the path provided in the Core API v1. Absent for
unmounted files.
:rtype: str
"""
if self._path_display_present:
return self._path_display_value
else:
return None
@path_display.setter
def path_display(self, val):
if val is None:
del self.path_display
return
val = self._path_display_validator.validate(val)
self._path_display_value = val
self._path_display_present = True
@path_display.deleter
def path_display(self):
self._path_display_value = None
self._path_display_present = False
@property
def path_lower(self):
"""
The lower-case full path of this file. Absent for unmounted files.
:rtype: str
"""
if self._path_lower_present:
return self._path_lower_value
else:
return None
@path_lower.setter
def path_lower(self, val):
if val is None:
del self.path_lower
return
val = self._path_lower_validator.validate(val)
self._path_lower_value = val
self._path_lower_present = True
@path_lower.deleter
def path_lower(self):
self._path_lower_value = None
self._path_lower_present = False
@property
def permissions(self):
"""
The sharing permissions that requesting user has on this file. This
corresponds to the entries given in ``GetFileMetadataBatchArg.actions``
or ``GetFileMetadataArg.actions``.
:rtype: list of [FilePermission]
"""
if self._permissions_present:
return self._permissions_value
else:
return None
@permissions.setter
def permissions(self, val):
if val is None:
del self.permissions
return
val = self._permissions_validator.validate(val)
self._permissions_value = val
self._permissions_present = True
@permissions.deleter
def permissions(self):
self._permissions_value = None
self._permissions_present = False
@property
def policy(self):
"""
Policies governing this shared file.
:rtype: FolderPolicy
"""
if self._policy_present:
return self._policy_value
else:
raise AttributeError("missing required field 'policy'")
@policy.setter
def policy(self, val):
self._policy_validator.validate_type_only(val)
self._policy_value = val
self._policy_present = True
@policy.deleter
def policy(self):
self._policy_value = None
self._policy_present = False
@property
def preview_url(self):
"""
URL for displaying a web preview of the shared file.
:rtype: str
"""
if self._preview_url_present:
return self._preview_url_value
else:
raise AttributeError("missing required field 'preview_url'")
@preview_url.setter
def preview_url(self, val):
val = self._preview_url_validator.validate(val)
self._preview_url_value = val
self._preview_url_present = True
@preview_url.deleter
def preview_url(self):
self._preview_url_value = None
self._preview_url_present = False
@property
def time_invited(self):
"""
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.
:rtype: datetime.datetime
"""
if self._time_invited_present:
return self._time_invited_value
else:
return None
@time_invited.setter
def time_invited(self, val):
if val is None:
del self.time_invited
return
val = self._time_invited_validator.validate(val)
self._time_invited_value = val
self._time_invited_present = True
@time_invited.deleter
def time_invited(self):
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,
self._name_value,
self._policy_value,
self._preview_url_value,
self._access_type_value,
self._expected_link_metadata_value,
self._link_metadata_value,
self._owner_display_names_value,
self._owner_team_value,
self._parent_shared_folder_id_value,
self._path_display_value,
self._path_lower_value,
self._permissions_value,
self._time_invited_value,
)
SharedFileMetadata_validator = bv.Struct(SharedFileMetadata)
class SharedFolderAccessError(bb.Union):
"""
There is an error accessing the 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.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'
# Attribute is overwritten below the class definition
invalid_id = None
# Attribute is overwritten below the class definition
not_a_member = None
# Attribute is overwritten below the class definition
email_unverified = None
# Attribute is overwritten below the class definition
unmounted = None
# Attribute is overwritten below the class definition
other = None
def is_invalid_id(self):
"""
Check if the union tag is ``invalid_id``.
:rtype: bool
"""
return self._tag == 'invalid_id'
def is_not_a_member(self):
"""
Check if the union tag is ``not_a_member``.
:rtype: bool
"""
return self._tag == 'not_a_member'
def is_email_unverified(self):
"""
Check if the union tag is ``email_unverified``.
:rtype: bool
"""
return self._tag == 'email_unverified'
def is_unmounted(self):
"""
Check if the union tag is ``unmounted``.
:rtype: bool
"""
return self._tag == 'unmounted'
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(SharedFolderAccessError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedFolderAccessError(%r, %r)' % (self._tag, self._value)
SharedFolderAccessError_validator = bv.Union(SharedFolderAccessError)
class SharedFolderMemberError(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.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'
# Attribute is overwritten below the class definition
invalid_dropbox_id = None
# Attribute is overwritten below the class definition
not_a_member = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def no_explicit_access(cls, val):
"""
Create an instance of this class set to the ``no_explicit_access`` tag
with value ``val``.
:param MemberAccessLevelResult val:
:rtype: SharedFolderMemberError
"""
return cls('no_explicit_access', val)
def is_invalid_dropbox_id(self):
"""
Check if the union tag is ``invalid_dropbox_id``.
:rtype: bool
"""
return self._tag == 'invalid_dropbox_id'
def is_not_a_member(self):
"""
Check if the union tag is ``not_a_member``.
:rtype: bool
"""
return self._tag == 'not_a_member'
def is_no_explicit_access(self):
"""
Check if the union tag is ``no_explicit_access``.
:rtype: bool
"""
return self._tag == 'no_explicit_access'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_no_explicit_access(self):
"""
The target member only has inherited access to the shared folder.
Only call this if :meth:`is_no_explicit_access` is true.
:rtype: MemberAccessLevelResult
"""
if not self.is_no_explicit_access():
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(bb.Struct):
"""
Shared folder user and group membership.
: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.
"""
__slots__ = [
'_users_value',
'_users_present',
'_groups_value',
'_groups_present',
'_invitees_value',
'_invitees_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
users=None,
groups=None,
invitees=None,
cursor=None):
self._users_value = None
self._users_present = False
self._groups_value = None
self._groups_present = False
self._invitees_value = None
self._invitees_present = False
self._cursor_value = None
self._cursor_present = False
if users is not None:
self.users = users
if groups is not None:
self.groups = groups
if invitees is not None:
self.invitees = invitees
if cursor is not None:
self.cursor = cursor
@property
def users(self):
"""
The list of user members of the shared folder.
:rtype: list of [UserMembershipInfo]
"""
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 groups(self):
"""
The list of group members of the shared folder.
:rtype: list of [GroupMembershipInfo]
"""
if self._groups_present:
return self._groups_value
else:
raise AttributeError("missing required field 'groups'")
@groups.setter
def groups(self, val):
val = self._groups_validator.validate(val)
self._groups_value = val
self._groups_present = True
@groups.deleter
def groups(self):
self._groups_value = None
self._groups_present = False
@property
def invitees(self):
"""
The list of invitees to the shared folder.
:rtype: list of [InviteeMembershipInfo]
"""
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
@property
def cursor(self):
"""
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.
: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(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,
self._groups_value,
self._invitees_value,
self._cursor_value,
)
SharedFolderMembers_validator = bv.Struct(SharedFolderMembers)
class SharedFolderMetadataBase(bb.Struct):
"""
Properties of the shared folder.
: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__ = [
'_access_type_value',
'_access_type_present',
'_is_inside_team_folder_value',
'_is_inside_team_folder_present',
'_is_team_folder_value',
'_is_team_folder_present',
'_owner_display_names_value',
'_owner_display_names_present',
'_owner_team_value',
'_owner_team_present',
'_parent_shared_folder_id_value',
'_parent_shared_folder_id_present',
'_path_lower_value',
'_path_lower_present',
]
_has_required_fields = True
def __init__(self,
access_type=None,
is_inside_team_folder=None,
is_team_folder=None,
owner_display_names=None,
owner_team=None,
parent_shared_folder_id=None,
path_lower=None):
self._access_type_value = None
self._access_type_present = False
self._is_inside_team_folder_value = None
self._is_inside_team_folder_present = False
self._is_team_folder_value = None
self._is_team_folder_present = False
self._owner_display_names_value = None
self._owner_display_names_present = False
self._owner_team_value = None
self._owner_team_present = False
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
self._path_lower_value = None
self._path_lower_present = False
if access_type is not None:
self.access_type = access_type
if is_inside_team_folder is not None:
self.is_inside_team_folder = is_inside_team_folder
if is_team_folder is not None:
self.is_team_folder = is_team_folder
if owner_display_names is not None:
self.owner_display_names = owner_display_names
if owner_team is not None:
self.owner_team = owner_team
if parent_shared_folder_id is not None:
self.parent_shared_folder_id = parent_shared_folder_id
if path_lower is not None:
self.path_lower = path_lower
@property
def access_type(self):
"""
The current user's access level for this shared folder.
:rtype: AccessLevel
"""
if self._access_type_present:
return self._access_type_value
else:
raise AttributeError("missing required field 'access_type'")
@access_type.setter
def access_type(self, val):
self._access_type_validator.validate_type_only(val)
self._access_type_value = val
self._access_type_present = True
@access_type.deleter
def access_type(self):
self._access_type_value = None
self._access_type_present = False
@property
def is_inside_team_folder(self):
"""
Whether this folder is inside of a team folder.
:rtype: bool
"""
if self._is_inside_team_folder_present:
return self._is_inside_team_folder_value
else:
raise AttributeError("missing required field 'is_inside_team_folder'")
@is_inside_team_folder.setter
def is_inside_team_folder(self, val):
val = self._is_inside_team_folder_validator.validate(val)
self._is_inside_team_folder_value = val
self._is_inside_team_folder_present = True
@is_inside_team_folder.deleter
def is_inside_team_folder(self):
self._is_inside_team_folder_value = None
self._is_inside_team_folder_present = False
@property
def is_team_folder(self):
"""
Whether this folder is a `team folder
`_.
:rtype: bool
"""
if self._is_team_folder_present:
return self._is_team_folder_value
else:
raise AttributeError("missing required field 'is_team_folder'")
@is_team_folder.setter
def is_team_folder(self, val):
val = self._is_team_folder_validator.validate(val)
self._is_team_folder_value = val
self._is_team_folder_present = True
@is_team_folder.deleter
def is_team_folder(self):
self._is_team_folder_value = None
self._is_team_folder_present = False
@property
def owner_display_names(self):
"""
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.
:rtype: list of [str]
"""
if self._owner_display_names_present:
return self._owner_display_names_value
else:
return None
@owner_display_names.setter
def owner_display_names(self, val):
if val is None:
del self.owner_display_names
return
val = self._owner_display_names_validator.validate(val)
self._owner_display_names_value = val
self._owner_display_names_present = True
@owner_display_names.deleter
def owner_display_names(self):
self._owner_display_names_value = None
self._owner_display_names_present = False
@property
def owner_team(self):
"""
The team that owns the folder. This field is not present if the folder
is not owned by a team.
:rtype: users.Team
"""
if self._owner_team_present:
return self._owner_team_value
else:
return None
@owner_team.setter
def owner_team(self, val):
if val is None:
del self.owner_team
return
self._owner_team_validator.validate_type_only(val)
self._owner_team_value = val
self._owner_team_present = True
@owner_team.deleter
def owner_team(self):
self._owner_team_value = None
self._owner_team_present = False
@property
def parent_shared_folder_id(self):
"""
The ID of the parent shared folder. This field is present only if the
folder is contained within another shared folder.
:rtype: str
"""
if self._parent_shared_folder_id_present:
return self._parent_shared_folder_id_value
else:
return None
@parent_shared_folder_id.setter
def parent_shared_folder_id(self, val):
if val is None:
del self.parent_shared_folder_id
return
val = self._parent_shared_folder_id_validator.validate(val)
self._parent_shared_folder_id_value = val
self._parent_shared_folder_id_present = True
@parent_shared_folder_id.deleter
def parent_shared_folder_id(self):
self._parent_shared_folder_id_value = None
self._parent_shared_folder_id_present = False
@property
def path_lower(self):
"""
The lower-cased full path of this shared folder. Absent for unmounted
folders.
:rtype: str
"""
if self._path_lower_present:
return self._path_lower_value
else:
return None
@path_lower.setter
def path_lower(self, val):
if val is None:
del self.path_lower
return
val = self._path_lower_validator.validate(val)
self._path_lower_value = val
self._path_lower_present = True
@path_lower.deleter
def path_lower(self):
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,
self._is_inside_team_folder_value,
self._is_team_folder_value,
self._owner_display_names_value,
self._owner_team_value,
self._parent_shared_folder_id_value,
self._path_lower_value,
)
SharedFolderMetadataBase_validator = bv.Struct(SharedFolderMetadataBase)
class SharedFolderMetadata(SharedFolderMetadataBase):
"""
The metadata which includes basic information about the 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__ = [
'_link_metadata_value',
'_link_metadata_present',
'_name_value',
'_name_present',
'_permissions_value',
'_permissions_present',
'_policy_value',
'_policy_present',
'_preview_url_value',
'_preview_url_present',
'_shared_folder_id_value',
'_shared_folder_id_present',
'_time_invited_value',
'_time_invited_present',
'_access_inheritance_value',
'_access_inheritance_present',
]
_has_required_fields = True
def __init__(self,
access_type=None,
is_inside_team_folder=None,
is_team_folder=None,
name=None,
policy=None,
preview_url=None,
shared_folder_id=None,
time_invited=None,
owner_display_names=None,
owner_team=None,
parent_shared_folder_id=None,
path_lower=None,
link_metadata=None,
permissions=None,
access_inheritance=None):
super(SharedFolderMetadata, self).__init__(access_type,
is_inside_team_folder,
is_team_folder,
owner_display_names,
owner_team,
parent_shared_folder_id,
path_lower)
self._link_metadata_value = None
self._link_metadata_present = False
self._name_value = None
self._name_present = False
self._permissions_value = None
self._permissions_present = False
self._policy_value = None
self._policy_present = False
self._preview_url_value = None
self._preview_url_present = False
self._shared_folder_id_value = None
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:
self.name = name
if permissions is not None:
self.permissions = permissions
if policy is not None:
self.policy = policy
if preview_url is not None:
self.preview_url = preview_url
if shared_folder_id is not None:
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):
"""
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.
:rtype: SharedContentLinkMetadata
"""
if self._link_metadata_present:
return self._link_metadata_value
else:
return None
@link_metadata.setter
def link_metadata(self, val):
if val is None:
del self.link_metadata
return
self._link_metadata_validator.validate_type_only(val)
self._link_metadata_value = val
self._link_metadata_present = True
@link_metadata.deleter
def link_metadata(self):
self._link_metadata_value = None
self._link_metadata_present = False
@property
def name(self):
"""
The name of the this shared folder.
:rtype: str
"""
if self._name_present:
return self._name_value
else:
raise AttributeError("missing required field 'name'")
@name.setter
def name(self, val):
val = self._name_validator.validate(val)
self._name_value = val
self._name_present = True
@name.deleter
def name(self):
self._name_value = None
self._name_present = False
@property
def permissions(self):
"""
Actions the current user may perform on the folder and its contents. The
set of permissions corresponds to the FolderActions in the request.
:rtype: list of [FolderPermission]
"""
if self._permissions_present:
return self._permissions_value
else:
return None
@permissions.setter
def permissions(self, val):
if val is None:
del self.permissions
return
val = self._permissions_validator.validate(val)
self._permissions_value = val
self._permissions_present = True
@permissions.deleter
def permissions(self):
self._permissions_value = None
self._permissions_present = False
@property
def policy(self):
"""
Policies governing this shared folder.
:rtype: FolderPolicy
"""
if self._policy_present:
return self._policy_value
else:
raise AttributeError("missing required field 'policy'")
@policy.setter
def policy(self, val):
self._policy_validator.validate_type_only(val)
self._policy_value = val
self._policy_present = True
@policy.deleter
def policy(self):
self._policy_value = None
self._policy_present = False
@property
def preview_url(self):
"""
URL for displaying a web preview of the shared folder.
:rtype: str
"""
if self._preview_url_present:
return self._preview_url_value
else:
raise AttributeError("missing required field 'preview_url'")
@preview_url.setter
def preview_url(self, val):
val = self._preview_url_validator.validate(val)
self._preview_url_value = val
self._preview_url_present = True
@preview_url.deleter
def preview_url(self):
self._preview_url_value = None
self._preview_url_present = False
@property
def shared_folder_id(self):
"""
The ID of the shared folder.
:rtype: str
"""
if self._shared_folder_id_present:
return self._shared_folder_id_value
else:
raise AttributeError("missing required field 'shared_folder_id'")
@shared_folder_id.setter
def shared_folder_id(self, val):
val = self._shared_folder_id_validator.validate(val)
self._shared_folder_id_value = val
self._shared_folder_id_present = True
@shared_folder_id.deleter
def shared_folder_id(self):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
@property
def time_invited(self):
"""
Timestamp indicating when the current user was invited to this shared
folder.
:rtype: datetime.datetime
"""
if self._time_invited_present:
return self._time_invited_value
else:
raise AttributeError("missing required field 'time_invited'")
@time_invited.setter
def time_invited(self, val):
val = self._time_invited_validator.validate(val)
self._time_invited_value = val
self._time_invited_present = True
@time_invited.deleter
def time_invited(self):
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}, access_inheritance={!r})'.format(
self._access_type_value,
self._is_inside_team_folder_value,
self._is_team_folder_value,
self._name_value,
self._policy_value,
self._preview_url_value,
self._shared_folder_id_value,
self._time_invited_value,
self._owner_display_names_value,
self._owner_team_value,
self._parent_shared_folder_id_value,
self._path_lower_value,
self._link_metadata_value,
self._permissions_value,
self._access_inheritance_value,
)
SharedFolderMetadata_validator = bv.Struct(SharedFolderMetadata)
class SharedLinkAccessFailureReason(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.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'
# Attribute is overwritten below the class definition
login_required = None
# Attribute is overwritten below the class definition
email_verify_required = None
# Attribute is overwritten below the class definition
password_required = None
# Attribute is overwritten below the class definition
team_only = None
# Attribute is overwritten below the class definition
owner_only = None
# Attribute is overwritten below the class definition
other = None
def is_login_required(self):
"""
Check if the union tag is ``login_required``.
:rtype: bool
"""
return self._tag == 'login_required'
def is_email_verify_required(self):
"""
Check if the union tag is ``email_verify_required``.
:rtype: bool
"""
return self._tag == 'email_verify_required'
def is_password_required(self):
"""
Check if the union tag is ``password_required``.
:rtype: bool
"""
return self._tag == 'password_required'
def is_team_only(self):
"""
Check if the union tag is ``team_only``.
:rtype: bool
"""
return self._tag == 'team_only'
def is_owner_only(self):
"""
Check if the union tag is ``owner_only``.
:rtype: bool
"""
return self._tag == 'owner_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(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.
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.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'
# Attribute is overwritten below the class definition
anyone = 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_anyone(self):
"""
Check if the union tag is ``anyone``.
:rtype: bool
"""
return self._tag == 'anyone'
def is_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == 'team'
def is_members(self):
"""
Check if the union tag is ``members``.
:rtype: bool
"""
return self._tag == 'members'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
: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__ = [
'_requested_visibility_value',
'_requested_visibility_present',
'_link_password_value',
'_link_password_present',
'_expires_value',
'_expires_present',
'_audience_value',
'_audience_present',
'_access_value',
'_access_present',
]
_has_required_fields = False
def __init__(self,
requested_visibility=None,
link_password=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):
"""
The requested access for this shared link.
:rtype: RequestedVisibility
"""
if self._requested_visibility_present:
return self._requested_visibility_value
else:
return None
@requested_visibility.setter
def requested_visibility(self, val):
if val is None:
del self.requested_visibility
return
self._requested_visibility_validator.validate_type_only(val)
self._requested_visibility_value = val
self._requested_visibility_present = True
@requested_visibility.deleter
def requested_visibility(self):
self._requested_visibility_value = None
self._requested_visibility_present = False
@property
def link_password(self):
"""
If ``requested_visibility`` is ``RequestedVisibility.password`` this is
needed to specify the password to access the link.
:rtype: str
"""
if self._link_password_present:
return self._link_password_value
else:
return None
@link_password.setter
def link_password(self, val):
if val is None:
del self.link_password
return
val = self._link_password_validator.validate(val)
self._link_password_value = val
self._link_password_present = True
@link_password.deleter
def link_password(self):
self._link_password_value = None
self._link_password_present = False
@property
def expires(self):
"""
Expiration time of the shared link. By default the link won't expire.
:rtype: datetime.datetime
"""
if self._expires_present:
return self._expires_value
else:
return None
@expires.setter
def expires(self, val):
if val is None:
del self.expires
return
val = self._expires_validator.validate(val)
self._expires_value = val
self._expires_present = True
@expires.deleter
def expires(self):
self._expires_value = None
self._expires_present = False
@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}, 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)
class SharedLinkSettingsError(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.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 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``.
"""
_catch_all = None
# Attribute is overwritten below the class definition
invalid_settings = None
# Attribute is overwritten below the class definition
not_authorized = None
def is_invalid_settings(self):
"""
Check if the union tag is ``invalid_settings``.
:rtype: bool
"""
return self._tag == 'invalid_settings'
def is_not_authorized(self):
"""
Check if the union tag is ``not_authorized``.
:rtype: bool
"""
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)
SharedLinkSettingsError_validator = bv.Union(SharedLinkSettingsError)
class SharingFileAccessError(bb.Union):
"""
User could not access this file.
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.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'
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
invalid_file = None
# Attribute is overwritten below the class definition
is_folder = None
# Attribute is overwritten below the class definition
inside_public_folder = None
# Attribute is overwritten below the class definition
inside_osx_package = None
# Attribute is overwritten below the class definition
other = None
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
return self._tag == 'no_permission'
def is_invalid_file(self):
"""
Check if the union tag is ``invalid_file``.
:rtype: bool
"""
return self._tag == 'invalid_file'
def is_is_folder(self):
"""
Check if the union tag is ``is_folder``.
:rtype: bool
"""
return self._tag == 'is_folder'
def is_inside_public_folder(self):
"""
Check if the union tag is ``inside_public_folder``.
:rtype: bool
"""
return self._tag == 'inside_public_folder'
def is_inside_osx_package(self):
"""
Check if the union tag is ``inside_osx_package``.
:rtype: bool
"""
return self._tag == 'inside_osx_package'
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(SharingFileAccessError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharingFileAccessError(%r, %r)' % (self._tag, self._value)
SharingFileAccessError_validator = bv.Union(SharingFileAccessError)
class SharingUserError(bb.Union):
"""
User account had a problem preventing this action.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar sharing.SharingUserError.email_unverified: The current user must
verify the account e-mail address before performing this action.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
email_unverified = None
# Attribute is overwritten below the class definition
other = None
def is_email_unverified(self):
"""
Check if the union tag is ``email_unverified``.
:rtype: bool
"""
return self._tag == 'email_unverified'
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(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(bb.Struct):
"""
Information about a team member.
: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__ = [
'_team_info_value',
'_team_info_present',
'_display_name_value',
'_display_name_present',
'_member_id_value',
'_member_id_present',
]
_has_required_fields = True
def __init__(self,
team_info=None,
display_name=None,
member_id=None):
self._team_info_value = None
self._team_info_present = False
self._display_name_value = None
self._display_name_present = False
self._member_id_value = None
self._member_id_present = False
if team_info is not None:
self.team_info = team_info
if display_name is not None:
self.display_name = display_name
if member_id is not None:
self.member_id = member_id
@property
def team_info(self):
"""
Information about the member's team.
:rtype: users.Team
"""
if self._team_info_present:
return self._team_info_value
else:
raise AttributeError("missing required field 'team_info'")
@team_info.setter
def team_info(self, val):
val = self._team_info_validator.validate(val)
self._team_info_value = val
self._team_info_present = True
@team_info.deleter
def team_info(self):
self._team_info_value = None
self._team_info_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 member_id(self):
"""
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.
:rtype: str
"""
if self._member_id_present:
return self._member_id_value
else:
return None
@member_id.setter
def member_id(self, val):
if val is None:
del self.member_id
return
val = self._member_id_validator.validate(val)
self._member_id_value = val
self._member_id_present = True
@member_id.deleter
def member_id(self):
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,
self._display_name_value,
self._member_id_value,
)
TeamMemberInfo_validator = bv.Struct(TeamMemberInfo)
class TransferFolderArg(bb.Struct):
"""
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_to_dropbox_id_value',
'_to_dropbox_id_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
to_dropbox_id=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._to_dropbox_id_value = None
self._to_dropbox_id_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if to_dropbox_id is not None:
self.to_dropbox_id = to_dropbox_id
@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
@property
def to_dropbox_id(self):
"""
A account or team member ID to transfer ownership to.
:rtype: str
"""
if self._to_dropbox_id_present:
return self._to_dropbox_id_value
else:
raise AttributeError("missing required field 'to_dropbox_id'")
@to_dropbox_id.setter
def to_dropbox_id(self, val):
val = self._to_dropbox_id_validator.validate(val)
self._to_dropbox_id_value = val
self._to_dropbox_id_present = True
@to_dropbox_id.deleter
def to_dropbox_id(self):
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,
self._to_dropbox_id_value,
)
TransferFolderArg_validator = bv.Struct(TransferFolderArg)
class TransferFolderError(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.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'
# Attribute is overwritten below the class definition
invalid_dropbox_id = None
# Attribute is overwritten below the class definition
new_owner_not_a_member = None
# Attribute is overwritten below the class definition
new_owner_unmounted = None
# Attribute is overwritten below the class definition
new_owner_email_unverified = None
# Attribute is overwritten below the class definition
team_folder = None
# 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: TransferFolderError
"""
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_invalid_dropbox_id(self):
"""
Check if the union tag is ``invalid_dropbox_id``.
:rtype: bool
"""
return self._tag == 'invalid_dropbox_id'
def is_new_owner_not_a_member(self):
"""
Check if the union tag is ``new_owner_not_a_member``.
:rtype: bool
"""
return self._tag == 'new_owner_not_a_member'
def is_new_owner_unmounted(self):
"""
Check if the union tag is ``new_owner_unmounted``.
:rtype: bool
"""
return self._tag == 'new_owner_unmounted'
def is_new_owner_email_unverified(self):
"""
Check if the union tag is ``new_owner_email_unverified``.
:rtype: bool
"""
return self._tag == 'new_owner_email_unverified'
def is_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
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):
"""
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(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(bb.Struct):
"""
:ivar sharing.UnmountFolderArg.shared_folder_id: The ID for the shared
folder.
"""
__slots__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
@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(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,
)
UnmountFolderArg_validator = bv.Struct(UnmountFolderArg)
class UnmountFolderError(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.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'
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
not_unmountable = 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: UnmountFolderError
"""
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_not_unmountable(self):
"""
Check if the union tag is ``not_unmountable``.
:rtype: bool
"""
return self._tag == 'not_unmountable'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
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(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(bb.Struct):
"""
Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_unshare_file`.
:ivar sharing.UnshareFileArg.file: The file to unshare.
"""
__slots__ = [
'_file_value',
'_file_present',
]
_has_required_fields = True
def __init__(self,
file=None):
self._file_value = None
self._file_present = False
if file is not None:
self.file = file
@property
def file(self):
"""
The file to unshare.
:rtype: str
"""
if self._file_present:
return self._file_value
else:
raise AttributeError("missing required field 'file'")
@file.setter
def file(self, val):
val = self._file_validator.validate(val)
self._file_value = val
self._file_present = True
@file.deleter
def file(self):
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,
)
UnshareFileArg_validator = bv.Struct(UnshareFileArg)
class UnshareFileError(bb.Union):
"""
Error result for :meth:`dropbox.dropbox.Dropbox.sharing_unshare_file`.
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 user_error(cls, val):
"""
Create an instance of this class set to the ``user_error`` tag with
value ``val``.
:param SharingUserError val:
:rtype: UnshareFileError
"""
return cls('user_error', val)
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharingFileAccessError val:
:rtype: UnshareFileError
"""
return cls('access_error', val)
def is_user_error(self):
"""
Check if the union tag is ``user_error``.
:rtype: bool
"""
return self._tag == 'user_error'
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_user_error(self):
"""
Only call this if :meth:`is_user_error` is true.
:rtype: SharingUserError
"""
if not self.is_user_error():
raise AttributeError("tag 'user_error' not set")
return self._value
def get_access_error(self):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: SharingFileAccessError
"""
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(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(bb.Struct):
"""
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_leave_a_copy_value',
'_leave_a_copy_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
leave_a_copy=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._leave_a_copy_value = None
self._leave_a_copy_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if leave_a_copy is not None:
self.leave_a_copy = leave_a_copy
@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
@property
def leave_a_copy(self):
"""
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.
:rtype: bool
"""
if self._leave_a_copy_present:
return self._leave_a_copy_value
else:
return False
@leave_a_copy.setter
def leave_a_copy(self, val):
val = self._leave_a_copy_validator.validate(val)
self._leave_a_copy_value = val
self._leave_a_copy_present = True
@leave_a_copy.deleter
def leave_a_copy(self):
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,
self._leave_a_copy_value,
)
UnshareFolderArg_validator = bv.Struct(UnshareFolderArg)
class UnshareFolderError(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.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'
# Attribute is overwritten below the class definition
team_folder = None
# 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
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharedFolderAccessError val:
:rtype: UnshareFolderError
"""
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_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
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(UnshareFolderError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UnshareFolderError(%r, %r)' % (self._tag, self._value)
UnshareFolderError_validator = bv.Union(UnshareFolderError)
class UpdateFileMemberArgs(ChangeFileMemberAccessArgs):
"""
Arguments for :meth:`dropbox.dropbox.Dropbox.sharing_update_file_member`.
"""
__slots__ = [
]
_has_required_fields = True
def __init__(self,
file=None,
member=None,
access_level=None):
super(UpdateFileMemberArgs, self).__init__(file,
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,
self._member_value,
self._access_level_value,
)
UpdateFileMemberArgs_validator = bv.Struct(UpdateFileMemberArgs)
class UpdateFolderMemberArg(bb.Struct):
"""
: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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_member_value',
'_member_present',
'_access_level_value',
'_access_level_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
member=None,
access_level=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._member_value = None
self._member_present = False
self._access_level_value = None
self._access_level_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if member is not None:
self.member = member
if access_level is not None:
self.access_level = access_level
@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
@property
def member(self):
"""
The member of the shared folder to update. Only the
``MemberSelector.dropbox_id`` may be set at this time.
:rtype: MemberSelector
"""
if self._member_present:
return self._member_value
else:
raise AttributeError("missing required field 'member'")
@member.setter
def member(self, val):
self._member_validator.validate_type_only(val)
self._member_value = val
self._member_present = True
@member.deleter
def member(self):
self._member_value = None
self._member_present = False
@property
def access_level(self):
"""
The new access level for ``member``. ``AccessLevel.owner`` is
disallowed.
:rtype: AccessLevel
"""
if self._access_level_present:
return self._access_level_value
else:
raise AttributeError("missing required field 'access_level'")
@access_level.setter
def access_level(self, val):
self._access_level_validator.validate_type_only(val)
self._access_level_value = val
self._access_level_present = True
@access_level.deleter
def access_level(self):
self._access_level_value = None
self._access_level_present = False
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,
self._member_value,
self._access_level_value,
)
UpdateFolderMemberArg_validator = bv.Struct(UpdateFolderMemberArg)
class UpdateFolderMemberError(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 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'
# Attribute is overwritten below the class definition
insufficient_plan = None
# 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: UpdateFolderMemberError
"""
return cls('access_error', val)
@classmethod
def member_error(cls, val):
"""
Create an instance of this class set to the ``member_error`` tag with
value ``val``.
:param SharedFolderMemberError val:
:rtype: UpdateFolderMemberError
"""
return cls('member_error', val)
@classmethod
def no_explicit_access(cls, val):
"""
Create an instance of this class set to the ``no_explicit_access`` tag
with value ``val``.
:param AddFolderMemberError val:
:rtype: UpdateFolderMemberError
"""
return cls('no_explicit_access', val)
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_member_error(self):
"""
Check if the union tag is ``member_error``.
:rtype: bool
"""
return self._tag == 'member_error'
def is_no_explicit_access(self):
"""
Check if the union tag is ``no_explicit_access``.
:rtype: bool
"""
return self._tag == 'no_explicit_access'
def is_insufficient_plan(self):
"""
Check if the union tag is ``insufficient_plan``.
:rtype: bool
"""
return self._tag == 'insufficient_plan'
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):
"""
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 get_member_error(self):
"""
Only call this if :meth:`is_member_error` is true.
:rtype: SharedFolderMemberError
"""
if not self.is_member_error():
raise AttributeError("tag 'member_error' not set")
return self._value
def get_no_explicit_access(self):
"""
If updating the access type required the member to be added to the
shared folder and there was an error when adding the member.
Only call this if :meth:`is_no_explicit_access` is true.
:rtype: AddFolderMemberError
"""
if not self.is_no_explicit_access():
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(bb.Struct):
"""
If any of the policies are unset, then they retain their current setting.
:ivar sharing.UpdateFolderPolicyArg.shared_folder_id: The ID for the shared
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__ = [
'_shared_folder_id_value',
'_shared_folder_id_present',
'_member_policy_value',
'_member_policy_present',
'_acl_update_policy_value',
'_acl_update_policy_present',
'_viewer_info_policy_value',
'_viewer_info_policy_present',
'_shared_link_policy_value',
'_shared_link_policy_present',
'_link_settings_value',
'_link_settings_present',
'_actions_value',
'_actions_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_id=None,
member_policy=None,
acl_update_policy=None,
viewer_info_policy=None,
shared_link_policy=None,
link_settings=None,
actions=None):
self._shared_folder_id_value = None
self._shared_folder_id_present = False
self._member_policy_value = None
self._member_policy_present = False
self._acl_update_policy_value = None
self._acl_update_policy_present = False
self._viewer_info_policy_value = None
self._viewer_info_policy_present = False
self._shared_link_policy_value = None
self._shared_link_policy_present = False
self._link_settings_value = None
self._link_settings_present = False
self._actions_value = None
self._actions_present = False
if shared_folder_id is not None:
self.shared_folder_id = shared_folder_id
if member_policy is not None:
self.member_policy = member_policy
if acl_update_policy is not None:
self.acl_update_policy = acl_update_policy
if viewer_info_policy is not None:
self.viewer_info_policy = viewer_info_policy
if shared_link_policy is not None:
self.shared_link_policy = shared_link_policy
if link_settings is not None:
self.link_settings = link_settings
if actions is not None:
self.actions = actions
@property
def shared_folder_id(self):
"""
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
@property
def member_policy(self):
"""
Who can be a member of this shared folder. Only applicable if the
current user is on a team.
:rtype: MemberPolicy
"""
if self._member_policy_present:
return self._member_policy_value
else:
return None
@member_policy.setter
def member_policy(self, val):
if val is None:
del self.member_policy
return
self._member_policy_validator.validate_type_only(val)
self._member_policy_value = val
self._member_policy_present = True
@member_policy.deleter
def member_policy(self):
self._member_policy_value = None
self._member_policy_present = False
@property
def acl_update_policy(self):
"""
Who can add and remove members of this shared folder.
:rtype: AclUpdatePolicy
"""
if self._acl_update_policy_present:
return self._acl_update_policy_value
else:
return None
@acl_update_policy.setter
def acl_update_policy(self, val):
if val is None:
del self.acl_update_policy
return
self._acl_update_policy_validator.validate_type_only(val)
self._acl_update_policy_value = val
self._acl_update_policy_present = True
@acl_update_policy.deleter
def acl_update_policy(self):
self._acl_update_policy_value = None
self._acl_update_policy_present = False
@property
def viewer_info_policy(self):
"""
Who can enable/disable viewer info for this shared folder.
:rtype: ViewerInfoPolicy
"""
if self._viewer_info_policy_present:
return self._viewer_info_policy_value
else:
return None
@viewer_info_policy.setter
def viewer_info_policy(self, val):
if val is None:
del self.viewer_info_policy
return
self._viewer_info_policy_validator.validate_type_only(val)
self._viewer_info_policy_value = val
self._viewer_info_policy_present = True
@viewer_info_policy.deleter
def viewer_info_policy(self):
self._viewer_info_policy_value = None
self._viewer_info_policy_present = False
@property
def shared_link_policy(self):
"""
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``.
:rtype: SharedLinkPolicy
"""
if self._shared_link_policy_present:
return self._shared_link_policy_value
else:
return None
@shared_link_policy.setter
def shared_link_policy(self, val):
if val is None:
del self.shared_link_policy
return
self._shared_link_policy_validator.validate_type_only(val)
self._shared_link_policy_value = val
self._shared_link_policy_present = True
@shared_link_policy.deleter
def shared_link_policy(self):
self._shared_link_policy_value = None
self._shared_link_policy_present = False
@property
def link_settings(self):
"""
Settings on the link for this folder.
:rtype: LinkSettings
"""
if self._link_settings_present:
return self._link_settings_value
else:
return None
@link_settings.setter
def link_settings(self, val):
if val is None:
del self.link_settings
return
self._link_settings_validator.validate_type_only(val)
self._link_settings_value = val
self._link_settings_present = True
@link_settings.deleter
def link_settings(self):
self._link_settings_value = None
self._link_settings_present = False
@property
def actions(self):
"""
A list of `FolderAction`s corresponding to `FolderPermission`s that
should appear in the response's ``SharedFolderMetadata.permissions``
field describing the actions the authenticated user can perform on the
folder.
:rtype: list of [FolderAction]
"""
if self._actions_present:
return self._actions_value
else:
return None
@actions.setter
def actions(self, val):
if val is None:
del self.actions
return
val = self._actions_validator.validate(val)
self._actions_value = val
self._actions_present = True
@actions.deleter
def actions(self):
self._actions_value = None
self._actions_present = False
def _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,
self._member_policy_value,
self._acl_update_policy_value,
self._viewer_info_policy_value,
self._shared_link_policy_value,
self._link_settings_value,
self._actions_value,
)
UpdateFolderPolicyArg_validator = bv.Struct(UpdateFolderPolicyArg)
class UpdateFolderPolicyError(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.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'
# Attribute is overwritten below the class definition
not_on_team = None
# Attribute is overwritten below the class definition
team_policy_disallows_member_policy = None
# Attribute is overwritten below the class definition
disallowed_shared_link_policy = None
# Attribute is overwritten below the class definition
no_permission = None
# Attribute is overwritten below the class definition
team_folder = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param SharedFolderAccessError val:
:rtype: UpdateFolderPolicyError
"""
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_not_on_team(self):
"""
Check if the union tag is ``not_on_team``.
:rtype: bool
"""
return self._tag == 'not_on_team'
def is_team_policy_disallows_member_policy(self):
"""
Check if the union tag is ``team_policy_disallows_member_policy``.
:rtype: bool
"""
return self._tag == 'team_policy_disallows_member_policy'
def is_disallowed_shared_link_policy(self):
"""
Check if the union tag is ``disallowed_shared_link_policy``.
:rtype: bool
"""
return self._tag == 'disallowed_shared_link_policy'
def is_no_permission(self):
"""
Check if the union tag is ``no_permission``.
:rtype: bool
"""
return self._tag == 'no_permission'
def is_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
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(UpdateFolderPolicyError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'UpdateFolderPolicyError(%r, %r)' % (self._tag, self._value)
UpdateFolderPolicyError_validator = bv.Union(UpdateFolderPolicyError)
class UserMembershipInfo(MembershipInfo):
"""
The information about a user member of the shared content.
:ivar sharing.UserMembershipInfo.user: The account information for the
membership user.
"""
__slots__ = [
'_user_value',
'_user_present',
]
_has_required_fields = True
def __init__(self,
access_type=None,
user=None,
permissions=None,
initials=None,
is_inherited=None):
super(UserMembershipInfo, self).__init__(access_type,
permissions,
initials,
is_inherited)
self._user_value = None
self._user_present = False
if user is not None:
self.user = user
@property
def user(self):
"""
The account information for the membership user.
:rtype: UserInfo
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
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,
self._user_value,
self._permissions_value,
self._initials_value,
self._is_inherited_value,
)
UserMembershipInfo_validator = bv.Struct(UserMembershipInfo)
class UserFileMembershipInfo(UserMembershipInfo):
"""
The information about a user member of the shared content with an appended
last seen timestamp.
: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
def __init__(self,
access_type=None,
user=None,
permissions=None,
initials=None,
is_inherited=None,
time_last_seen=None,
platform_type=None):
super(UserFileMembershipInfo, self).__init__(access_type,
user,
permissions,
initials,
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):
"""
The UTC timestamp of when the user has last seen the content, if they
have.
:rtype: datetime.datetime
"""
if self._time_last_seen_present:
return self._time_last_seen_value
else:
return None
@time_last_seen.setter
def time_last_seen(self, val):
if val is None:
del self.time_last_seen
return
val = self._time_last_seen_validator.validate(val)
self._time_last_seen_value = val
self._time_last_seen_present = True
@time_last_seen.deleter
def time_last_seen(self):
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}, 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(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 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',
'_team_member_id_present',
]
_has_required_fields = True
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:
self.team_member_id = team_member_id
@property
def account_id(self):
"""
The account ID of the user.
:rtype: str
"""
if self._account_id_present:
return self._account_id_value
else:
raise AttributeError("missing required field 'account_id'")
@account_id.setter
def account_id(self, val):
val = self._account_id_validator.validate(val)
self._account_id_value = val
self._account_id_present = True
@account_id.deleter
def account_id(self):
self._account_id_value = None
self._account_id_present = False
@property
def 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):
"""
If the user is in the same team as current user.
:rtype: bool
"""
if self._same_team_present:
return self._same_team_value
else:
raise AttributeError("missing required field 'same_team'")
@same_team.setter
def same_team(self, val):
val = self._same_team_validator.validate(val)
self._same_team_value = val
self._same_team_present = True
@same_team.deleter
def same_team(self):
self._same_team_value = None
self._same_team_present = False
@property
def team_member_id(self):
"""
The team member ID of the shared folder member. Only present if
``same_team`` is true.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
return None
@team_member_id.setter
def team_member_id(self, val):
if val is None:
del self.team_member_id
return
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
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}, 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,
)
UserInfo_validator = bv.Struct(UserInfo)
class ViewerInfoPolicy(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.ViewerInfoPolicy.enabled: Viewer information is available on
this file.
:ivar sharing.ViewerInfoPolicy.disabled: Viewer information is disabled on
this file.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
enabled = 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_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(ViewerInfoPolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ViewerInfoPolicy(%r, %r)' % (self._tag, self._value)
ViewerInfoPolicy_validator = bv.Union(ViewerInfoPolicy)
class Visibility(bb.Union):
"""
Who can access a shared link. The most open visibility is ``public``. The
default depends on many aspects, such as team and user preferences and
shared folder settings.
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.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.
"""
_catch_all = 'other'
# 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
password = None
# Attribute is overwritten below the class definition
team_and_password = None
# Attribute is overwritten below the class definition
shared_folder_only = None
# Attribute is overwritten below the class definition
other = None
def is_public(self):
"""
Check if the union tag is ``public``.
:rtype: bool
"""
return self._tag == 'public'
def is_team_only(self):
"""
Check if the union tag is ``team_only``.
:rtype: bool
"""
return self._tag == 'team_only'
def is_password(self):
"""
Check if the union tag is ``password``.
:rtype: bool
"""
return self._tag == 'password'
def is_team_and_password(self):
"""
Check if the union tag is ``team_and_password``.
:rtype: bool
"""
return self._tag == 'team_and_password'
def is_shared_folder_only(self):
"""
Check if the union tag is ``shared_folder_only``.
:rtype: bool
"""
return self._tag == 'shared_folder_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(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)
GetSharedLinkFileArg_validator = GetSharedLinkMetadataArg_validator
GetSharedLinkFileArg = GetSharedLinkMetadataArg
Id_validator = files.Id_validator
Path_validator = files.Path_validator
PathOrId_validator = bv.String(min_length=1, pattern=u'((/|id:).*|nspath:[0-9]+:.*)|ns:[0-9]+(/.*)?')
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()
AccessLevel._viewer_no_comment_validator = bv.Void()
AccessLevel._other_validator = bv.Void()
AccessLevel._tagmap = {
'owner': AccessLevel._owner_validator,
'editor': AccessLevel._editor_validator,
'viewer': AccessLevel._viewer_validator,
'viewer_no_comment': AccessLevel._viewer_no_comment_validator,
'other': AccessLevel._other_validator,
}
AccessLevel.owner = AccessLevel('owner')
AccessLevel.editor = AccessLevel('editor')
AccessLevel.viewer = AccessLevel('viewer')
AccessLevel.viewer_no_comment = AccessLevel('viewer_no_comment')
AccessLevel.other = AccessLevel('other')
AclUpdatePolicy._owner_validator = bv.Void()
AclUpdatePolicy._editors_validator = bv.Void()
AclUpdatePolicy._other_validator = bv.Void()
AclUpdatePolicy._tagmap = {
'owner': AclUpdatePolicy._owner_validator,
'editors': AclUpdatePolicy._editors_validator,
'other': AclUpdatePolicy._other_validator,
}
AclUpdatePolicy.owner = AclUpdatePolicy('owner')
AclUpdatePolicy.editors = AclUpdatePolicy('editors')
AclUpdatePolicy.other = AclUpdatePolicy('other')
AddFileMemberArgs._file_validator = PathOrId_validator
AddFileMemberArgs._members_validator = bv.List(MemberSelector_validator)
AddFileMemberArgs._custom_message_validator = bv.Nullable(bv.String())
AddFileMemberArgs._quiet_validator = bv.Boolean()
AddFileMemberArgs._access_level_validator = AccessLevel_validator
AddFileMemberArgs._add_message_as_comment_validator = bv.Boolean()
AddFileMemberArgs._all_field_names_ = set([
'file',
'members',
'custom_message',
'quiet',
'access_level',
'add_message_as_comment',
])
AddFileMemberArgs._all_fields_ = [
('file', AddFileMemberArgs._file_validator),
('members', AddFileMemberArgs._members_validator),
('custom_message', AddFileMemberArgs._custom_message_validator),
('quiet', AddFileMemberArgs._quiet_validator),
('access_level', AddFileMemberArgs._access_level_validator),
('add_message_as_comment', AddFileMemberArgs._add_message_as_comment_validator),
]
AddFileMemberError._user_error_validator = SharingUserError_validator
AddFileMemberError._access_error_validator = SharingFileAccessError_validator
AddFileMemberError._rate_limit_validator = bv.Void()
AddFileMemberError._invalid_comment_validator = bv.Void()
AddFileMemberError._other_validator = bv.Void()
AddFileMemberError._tagmap = {
'user_error': AddFileMemberError._user_error_validator,
'access_error': AddFileMemberError._access_error_validator,
'rate_limit': AddFileMemberError._rate_limit_validator,
'invalid_comment': AddFileMemberError._invalid_comment_validator,
'other': AddFileMemberError._other_validator,
}
AddFileMemberError.rate_limit = AddFileMemberError('rate_limit')
AddFileMemberError.invalid_comment = AddFileMemberError('invalid_comment')
AddFileMemberError.other = AddFileMemberError('other')
AddFolderMemberArg._shared_folder_id_validator = common.SharedFolderId_validator
AddFolderMemberArg._members_validator = bv.List(AddMember_validator)
AddFolderMemberArg._quiet_validator = bv.Boolean()
AddFolderMemberArg._custom_message_validator = bv.Nullable(bv.String(min_length=1))
AddFolderMemberArg._all_field_names_ = set([
'shared_folder_id',
'members',
'quiet',
'custom_message',
])
AddFolderMemberArg._all_fields_ = [
('shared_folder_id', AddFolderMemberArg._shared_folder_id_validator),
('members', AddFolderMemberArg._members_validator),
('quiet', AddFolderMemberArg._quiet_validator),
('custom_message', AddFolderMemberArg._custom_message_validator),
]
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()
AddFolderMemberError._too_many_pending_invites_validator = bv.UInt64()
AddFolderMemberError._rate_limit_validator = bv.Void()
AddFolderMemberError._too_many_invitees_validator = bv.Void()
AddFolderMemberError._insufficient_plan_validator = bv.Void()
AddFolderMemberError._team_folder_validator = bv.Void()
AddFolderMemberError._no_permission_validator = bv.Void()
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,
'too_many_pending_invites': AddFolderMemberError._too_many_pending_invites_validator,
'rate_limit': AddFolderMemberError._rate_limit_validator,
'too_many_invitees': AddFolderMemberError._too_many_invitees_validator,
'insufficient_plan': AddFolderMemberError._insufficient_plan_validator,
'team_folder': AddFolderMemberError._team_folder_validator,
'no_permission': AddFolderMemberError._no_permission_validator,
'other': AddFolderMemberError._other_validator,
}
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')
AddFolderMemberError.insufficient_plan = AddFolderMemberError('insufficient_plan')
AddFolderMemberError.team_folder = AddFolderMemberError('team_folder')
AddFolderMemberError.no_permission = AddFolderMemberError('no_permission')
AddFolderMemberError.other = AddFolderMemberError('other')
AddMember._member_validator = MemberSelector_validator
AddMember._access_level_validator = AccessLevel_validator
AddMember._all_field_names_ = set([
'member',
'access_level',
])
AddMember._all_fields_ = [
('member', AddMember._member_validator),
('access_level', AddMember._access_level_validator),
]
AddMemberSelectorError._automatic_group_validator = bv.Void()
AddMemberSelectorError._invalid_dropbox_id_validator = DropboxId_validator
AddMemberSelectorError._invalid_email_validator = common.EmailAddress_validator
AddMemberSelectorError._unverified_dropbox_id_validator = DropboxId_validator
AddMemberSelectorError._group_deleted_validator = bv.Void()
AddMemberSelectorError._group_not_on_team_validator = bv.Void()
AddMemberSelectorError._other_validator = bv.Void()
AddMemberSelectorError._tagmap = {
'automatic_group': AddMemberSelectorError._automatic_group_validator,
'invalid_dropbox_id': AddMemberSelectorError._invalid_dropbox_id_validator,
'invalid_email': AddMemberSelectorError._invalid_email_validator,
'unverified_dropbox_id': AddMemberSelectorError._unverified_dropbox_id_validator,
'group_deleted': AddMemberSelectorError._group_deleted_validator,
'group_not_on_team': AddMemberSelectorError._group_not_on_team_validator,
'other': AddMemberSelectorError._other_validator,
}
AddMemberSelectorError.automatic_group = AddMemberSelectorError('automatic_group')
AddMemberSelectorError.group_deleted = AddMemberSelectorError('group_deleted')
AddMemberSelectorError.group_not_on_team = AddMemberSelectorError('group_not_on_team')
AddMemberSelectorError.other = AddMemberSelectorError('other')
AudienceExceptionContentInfo._name_validator = bv.String()
AudienceExceptionContentInfo._all_field_names_ = set(['name'])
AudienceExceptionContentInfo._all_fields_ = [('name', AudienceExceptionContentInfo._name_validator)]
AudienceExceptions._count_validator = bv.UInt32()
AudienceExceptions._exceptions_validator = bv.List(AudienceExceptionContentInfo_validator)
AudienceExceptions._all_field_names_ = set([
'count',
'exceptions',
])
AudienceExceptions._all_fields_ = [
('count', AudienceExceptions._count_validator),
('exceptions', AudienceExceptions._exceptions_validator),
]
AudienceRestrictingSharedFolder._shared_folder_id_validator = common.SharedFolderId_validator
AudienceRestrictingSharedFolder._name_validator = bv.String()
AudienceRestrictingSharedFolder._audience_validator = LinkAudience_validator
AudienceRestrictingSharedFolder._all_field_names_ = set([
'shared_folder_id',
'name',
'audience',
])
AudienceRestrictingSharedFolder._all_fields_ = [
('shared_folder_id', AudienceRestrictingSharedFolder._shared_folder_id_validator),
('name', AudienceRestrictingSharedFolder._name_validator),
('audience', AudienceRestrictingSharedFolder._audience_validator),
]
ChangeFileMemberAccessArgs._file_validator = PathOrId_validator
ChangeFileMemberAccessArgs._member_validator = MemberSelector_validator
ChangeFileMemberAccessArgs._access_level_validator = AccessLevel_validator
ChangeFileMemberAccessArgs._all_field_names_ = set([
'file',
'member',
'access_level',
])
ChangeFileMemberAccessArgs._all_fields_ = [
('file', ChangeFileMemberAccessArgs._file_validator),
('member', ChangeFileMemberAccessArgs._member_validator),
('access_level', ChangeFileMemberAccessArgs._access_level_validator),
]
LinkMetadata._url_validator = bv.String()
LinkMetadata._visibility_validator = Visibility_validator
LinkMetadata._expires_validator = bv.Nullable(common.DropboxTimestamp_validator)
LinkMetadata._field_names_ = set([
'url',
'visibility',
'expires',
])
LinkMetadata._all_field_names_ = LinkMetadata._field_names_
LinkMetadata._fields_ = [
('url', LinkMetadata._url_validator),
('visibility', LinkMetadata._visibility_validator),
('expires', LinkMetadata._expires_validator),
]
LinkMetadata._all_fields_ = LinkMetadata._fields_
LinkMetadata._tag_to_subtype_ = {
(u'path',): PathLinkMetadata_validator,
(u'collection',): CollectionLinkMetadata_validator,
}
LinkMetadata._pytype_to_tag_and_subtype_ = {
PathLinkMetadata: ((u'path',), PathLinkMetadata_validator),
CollectionLinkMetadata: ((u'collection',), CollectionLinkMetadata_validator),
}
LinkMetadata._is_catch_all_ = True
CollectionLinkMetadata._field_names_ = set([])
CollectionLinkMetadata._all_field_names_ = LinkMetadata._all_field_names_.union(CollectionLinkMetadata._field_names_)
CollectionLinkMetadata._fields_ = []
CollectionLinkMetadata._all_fields_ = LinkMetadata._all_fields_ + CollectionLinkMetadata._fields_
CreateSharedLinkArg._path_validator = bv.String()
CreateSharedLinkArg._short_url_validator = bv.Boolean()
CreateSharedLinkArg._pending_upload_validator = bv.Nullable(PendingUploadMode_validator)
CreateSharedLinkArg._all_field_names_ = set([
'path',
'short_url',
'pending_upload',
])
CreateSharedLinkArg._all_fields_ = [
('path', CreateSharedLinkArg._path_validator),
('short_url', CreateSharedLinkArg._short_url_validator),
('pending_upload', CreateSharedLinkArg._pending_upload_validator),
]
CreateSharedLinkError._path_validator = files.LookupError_validator
CreateSharedLinkError._other_validator = bv.Void()
CreateSharedLinkError._tagmap = {
'path': CreateSharedLinkError._path_validator,
'other': CreateSharedLinkError._other_validator,
}
CreateSharedLinkError.other = CreateSharedLinkError('other')
CreateSharedLinkWithSettingsArg._path_validator = ReadPath_validator
CreateSharedLinkWithSettingsArg._settings_validator = bv.Nullable(SharedLinkSettings_validator)
CreateSharedLinkWithSettingsArg._all_field_names_ = set([
'path',
'settings',
])
CreateSharedLinkWithSettingsArg._all_fields_ = [
('path', CreateSharedLinkWithSettingsArg._path_validator),
('settings', CreateSharedLinkWithSettingsArg._settings_validator),
]
CreateSharedLinkWithSettingsError._path_validator = files.LookupError_validator
CreateSharedLinkWithSettingsError._email_not_verified_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 = {
'path': CreateSharedLinkWithSettingsError._path_validator,
'email_not_verified': CreateSharedLinkWithSettingsError._email_not_verified_validator,
'shared_link_already_exists': CreateSharedLinkWithSettingsError._shared_link_already_exists_validator,
'settings_error': CreateSharedLinkWithSettingsError._settings_error_validator,
'access_denied': CreateSharedLinkWithSettingsError._access_denied_validator,
}
CreateSharedLinkWithSettingsError.email_not_verified = CreateSharedLinkWithSettingsError('email_not_verified')
CreateSharedLinkWithSettingsError.access_denied = CreateSharedLinkWithSettingsError('access_denied')
SharedContentLinkMetadataBase._access_level_validator = bv.Nullable(AccessLevel_validator)
SharedContentLinkMetadataBase._audience_options_validator = bv.List(LinkAudience_validator)
SharedContentLinkMetadataBase._audience_restricting_shared_folder_validator = bv.Nullable(AudienceRestrictingSharedFolder_validator)
SharedContentLinkMetadataBase._current_audience_validator = LinkAudience_validator
SharedContentLinkMetadataBase._expiry_validator = bv.Nullable(common.DropboxTimestamp_validator)
SharedContentLinkMetadataBase._link_permissions_validator = bv.List(LinkPermission_validator)
SharedContentLinkMetadataBase._password_protected_validator = bv.Boolean()
SharedContentLinkMetadataBase._all_field_names_ = set([
'access_level',
'audience_options',
'audience_restricting_shared_folder',
'current_audience',
'expiry',
'link_permissions',
'password_protected',
])
SharedContentLinkMetadataBase._all_fields_ = [
('access_level', SharedContentLinkMetadataBase._access_level_validator),
('audience_options', SharedContentLinkMetadataBase._audience_options_validator),
('audience_restricting_shared_folder', SharedContentLinkMetadataBase._audience_restricting_shared_folder_validator),
('current_audience', SharedContentLinkMetadataBase._current_audience_validator),
('expiry', SharedContentLinkMetadataBase._expiry_validator),
('link_permissions', SharedContentLinkMetadataBase._link_permissions_validator),
('password_protected', SharedContentLinkMetadataBase._password_protected_validator),
]
ExpectedSharedContentLinkMetadata._all_field_names_ = SharedContentLinkMetadataBase._all_field_names_.union(set([]))
ExpectedSharedContentLinkMetadata._all_fields_ = SharedContentLinkMetadataBase._all_fields_ + []
FileAction._disable_viewer_info_validator = bv.Void()
FileAction._edit_contents_validator = bv.Void()
FileAction._enable_viewer_info_validator = bv.Void()
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,
'edit_contents': FileAction._edit_contents_validator,
'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,
}
FileAction.disable_viewer_info = FileAction('disable_viewer_info')
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
FileErrorResult._invalid_file_action_error_validator = files.Id_validator
FileErrorResult._permission_denied_error_validator = files.Id_validator
FileErrorResult._other_validator = bv.Void()
FileErrorResult._tagmap = {
'file_not_found_error': FileErrorResult._file_not_found_error_validator,
'invalid_file_action_error': FileErrorResult._invalid_file_action_error_validator,
'permission_denied_error': FileErrorResult._permission_denied_error_validator,
'other': FileErrorResult._other_validator,
}
FileErrorResult.other = FileErrorResult('other')
SharedLinkMetadata._url_validator = bv.String()
SharedLinkMetadata._id_validator = bv.Nullable(Id_validator)
SharedLinkMetadata._name_validator = bv.String()
SharedLinkMetadata._expires_validator = bv.Nullable(common.DropboxTimestamp_validator)
SharedLinkMetadata._path_lower_validator = bv.Nullable(bv.String())
SharedLinkMetadata._link_permissions_validator = LinkPermissions_validator
SharedLinkMetadata._team_member_info_validator = bv.Nullable(TeamMemberInfo_validator)
SharedLinkMetadata._content_owner_team_info_validator = bv.Nullable(TeamInfo_validator)
SharedLinkMetadata._field_names_ = set([
'url',
'id',
'name',
'expires',
'path_lower',
'link_permissions',
'team_member_info',
'content_owner_team_info',
])
SharedLinkMetadata._all_field_names_ = SharedLinkMetadata._field_names_
SharedLinkMetadata._fields_ = [
('url', SharedLinkMetadata._url_validator),
('id', SharedLinkMetadata._id_validator),
('name', SharedLinkMetadata._name_validator),
('expires', SharedLinkMetadata._expires_validator),
('path_lower', SharedLinkMetadata._path_lower_validator),
('link_permissions', SharedLinkMetadata._link_permissions_validator),
('team_member_info', SharedLinkMetadata._team_member_info_validator),
('content_owner_team_info', SharedLinkMetadata._content_owner_team_info_validator),
]
SharedLinkMetadata._all_fields_ = SharedLinkMetadata._fields_
SharedLinkMetadata._tag_to_subtype_ = {
(u'file',): FileLinkMetadata_validator,
(u'folder',): FolderLinkMetadata_validator,
}
SharedLinkMetadata._pytype_to_tag_and_subtype_ = {
FileLinkMetadata: ((u'file',), FileLinkMetadata_validator),
FolderLinkMetadata: ((u'folder',), FolderLinkMetadata_validator),
}
SharedLinkMetadata._is_catch_all_ = True
FileLinkMetadata._client_modified_validator = common.DropboxTimestamp_validator
FileLinkMetadata._server_modified_validator = common.DropboxTimestamp_validator
FileLinkMetadata._rev_validator = Rev_validator
FileLinkMetadata._size_validator = bv.UInt64()
FileLinkMetadata._field_names_ = set([
'client_modified',
'server_modified',
'rev',
'size',
])
FileLinkMetadata._all_field_names_ = SharedLinkMetadata._all_field_names_.union(FileLinkMetadata._field_names_)
FileLinkMetadata._fields_ = [
('client_modified', FileLinkMetadata._client_modified_validator),
('server_modified', FileLinkMetadata._server_modified_validator),
('rev', FileLinkMetadata._rev_validator),
('size', FileLinkMetadata._size_validator),
]
FileLinkMetadata._all_fields_ = SharedLinkMetadata._all_fields_ + FileLinkMetadata._fields_
FileMemberActionError._invalid_member_validator = bv.Void()
FileMemberActionError._no_permission_validator = bv.Void()
FileMemberActionError._access_error_validator = SharingFileAccessError_validator
FileMemberActionError._no_explicit_access_validator = MemberAccessLevelResult_validator
FileMemberActionError._other_validator = bv.Void()
FileMemberActionError._tagmap = {
'invalid_member': FileMemberActionError._invalid_member_validator,
'no_permission': FileMemberActionError._no_permission_validator,
'access_error': FileMemberActionError._access_error_validator,
'no_explicit_access': FileMemberActionError._no_explicit_access_validator,
'other': FileMemberActionError._other_validator,
}
FileMemberActionError.invalid_member = FileMemberActionError('invalid_member')
FileMemberActionError.no_permission = FileMemberActionError('no_permission')
FileMemberActionError.other = FileMemberActionError('other')
FileMemberActionIndividualResult._success_validator = bv.Nullable(AccessLevel_validator)
FileMemberActionIndividualResult._member_error_validator = FileMemberActionError_validator
FileMemberActionIndividualResult._tagmap = {
'success': FileMemberActionIndividualResult._success_validator,
'member_error': FileMemberActionIndividualResult._member_error_validator,
}
FileMemberActionResult._member_validator = MemberSelector_validator
FileMemberActionResult._result_validator = FileMemberActionIndividualResult_validator
FileMemberActionResult._all_field_names_ = set([
'member',
'result',
])
FileMemberActionResult._all_fields_ = [
('member', FileMemberActionResult._member_validator),
('result', FileMemberActionResult._result_validator),
]
FileMemberRemoveActionResult._success_validator = MemberAccessLevelResult_validator
FileMemberRemoveActionResult._member_error_validator = FileMemberActionError_validator
FileMemberRemoveActionResult._other_validator = bv.Void()
FileMemberRemoveActionResult._tagmap = {
'success': FileMemberRemoveActionResult._success_validator,
'member_error': FileMemberRemoveActionResult._member_error_validator,
'other': FileMemberRemoveActionResult._other_validator,
}
FileMemberRemoveActionResult.other = FileMemberRemoveActionResult('other')
FilePermission._action_validator = FileAction_validator
FilePermission._allow_validator = bv.Boolean()
FilePermission._reason_validator = bv.Nullable(PermissionDeniedReason_validator)
FilePermission._all_field_names_ = set([
'action',
'allow',
'reason',
])
FilePermission._all_fields_ = [
('action', FilePermission._action_validator),
('allow', FilePermission._allow_validator),
('reason', FilePermission._reason_validator),
]
FolderAction._change_options_validator = bv.Void()
FolderAction._disable_viewer_info_validator = bv.Void()
FolderAction._edit_contents_validator = bv.Void()
FolderAction._enable_viewer_info_validator = bv.Void()
FolderAction._invite_editor_validator = bv.Void()
FolderAction._invite_viewer_validator = bv.Void()
FolderAction._invite_viewer_no_comment_validator = bv.Void()
FolderAction._relinquish_membership_validator = bv.Void()
FolderAction._unmount_validator = bv.Void()
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,
'disable_viewer_info': FolderAction._disable_viewer_info_validator,
'edit_contents': FolderAction._edit_contents_validator,
'enable_viewer_info': FolderAction._enable_viewer_info_validator,
'invite_editor': FolderAction._invite_editor_validator,
'invite_viewer': FolderAction._invite_viewer_validator,
'invite_viewer_no_comment': FolderAction._invite_viewer_no_comment_validator,
'relinquish_membership': FolderAction._relinquish_membership_validator,
'unmount': FolderAction._unmount_validator,
'unshare': FolderAction._unshare_validator,
'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,
}
FolderAction.change_options = FolderAction('change_options')
FolderAction.disable_viewer_info = FolderAction('disable_viewer_info')
FolderAction.edit_contents = FolderAction('edit_contents')
FolderAction.enable_viewer_info = FolderAction('enable_viewer_info')
FolderAction.invite_editor = FolderAction('invite_editor')
FolderAction.invite_viewer = FolderAction('invite_viewer')
FolderAction.invite_viewer_no_comment = FolderAction('invite_viewer_no_comment')
FolderAction.relinquish_membership = FolderAction('relinquish_membership')
FolderAction.unmount = FolderAction('unmount')
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([])
FolderLinkMetadata._all_field_names_ = SharedLinkMetadata._all_field_names_.union(FolderLinkMetadata._field_names_)
FolderLinkMetadata._fields_ = []
FolderLinkMetadata._all_fields_ = SharedLinkMetadata._all_fields_ + FolderLinkMetadata._fields_
FolderPermission._action_validator = FolderAction_validator
FolderPermission._allow_validator = bv.Boolean()
FolderPermission._reason_validator = bv.Nullable(PermissionDeniedReason_validator)
FolderPermission._all_field_names_ = set([
'action',
'allow',
'reason',
])
FolderPermission._all_fields_ = [
('action', FolderPermission._action_validator),
('allow', FolderPermission._allow_validator),
('reason', FolderPermission._reason_validator),
]
FolderPolicy._member_policy_validator = bv.Nullable(MemberPolicy_validator)
FolderPolicy._resolved_member_policy_validator = bv.Nullable(MemberPolicy_validator)
FolderPolicy._acl_update_policy_validator = AclUpdatePolicy_validator
FolderPolicy._shared_link_policy_validator = SharedLinkPolicy_validator
FolderPolicy._viewer_info_policy_validator = bv.Nullable(ViewerInfoPolicy_validator)
FolderPolicy._all_field_names_ = set([
'member_policy',
'resolved_member_policy',
'acl_update_policy',
'shared_link_policy',
'viewer_info_policy',
])
FolderPolicy._all_fields_ = [
('member_policy', FolderPolicy._member_policy_validator),
('resolved_member_policy', FolderPolicy._resolved_member_policy_validator),
('acl_update_policy', FolderPolicy._acl_update_policy_validator),
('shared_link_policy', FolderPolicy._shared_link_policy_validator),
('viewer_info_policy', FolderPolicy._viewer_info_policy_validator),
]
GetFileMetadataArg._file_validator = PathOrId_validator
GetFileMetadataArg._actions_validator = bv.Nullable(bv.List(FileAction_validator))
GetFileMetadataArg._all_field_names_ = set([
'file',
'actions',
])
GetFileMetadataArg._all_fields_ = [
('file', GetFileMetadataArg._file_validator),
('actions', GetFileMetadataArg._actions_validator),
]
GetFileMetadataBatchArg._files_validator = bv.List(PathOrId_validator, max_items=100)
GetFileMetadataBatchArg._actions_validator = bv.Nullable(bv.List(FileAction_validator))
GetFileMetadataBatchArg._all_field_names_ = set([
'files',
'actions',
])
GetFileMetadataBatchArg._all_fields_ = [
('files', GetFileMetadataBatchArg._files_validator),
('actions', GetFileMetadataBatchArg._actions_validator),
]
GetFileMetadataBatchResult._file_validator = PathOrId_validator
GetFileMetadataBatchResult._result_validator = GetFileMetadataIndividualResult_validator
GetFileMetadataBatchResult._all_field_names_ = set([
'file',
'result',
])
GetFileMetadataBatchResult._all_fields_ = [
('file', GetFileMetadataBatchResult._file_validator),
('result', GetFileMetadataBatchResult._result_validator),
]
GetFileMetadataError._user_error_validator = SharingUserError_validator
GetFileMetadataError._access_error_validator = SharingFileAccessError_validator
GetFileMetadataError._other_validator = bv.Void()
GetFileMetadataError._tagmap = {
'user_error': GetFileMetadataError._user_error_validator,
'access_error': GetFileMetadataError._access_error_validator,
'other': GetFileMetadataError._other_validator,
}
GetFileMetadataError.other = GetFileMetadataError('other')
GetFileMetadataIndividualResult._metadata_validator = SharedFileMetadata_validator
GetFileMetadataIndividualResult._access_error_validator = SharingFileAccessError_validator
GetFileMetadataIndividualResult._other_validator = bv.Void()
GetFileMetadataIndividualResult._tagmap = {
'metadata': GetFileMetadataIndividualResult._metadata_validator,
'access_error': GetFileMetadataIndividualResult._access_error_validator,
'other': GetFileMetadataIndividualResult._other_validator,
}
GetFileMetadataIndividualResult.other = GetFileMetadataIndividualResult('other')
GetMetadataArgs._shared_folder_id_validator = common.SharedFolderId_validator
GetMetadataArgs._actions_validator = bv.Nullable(bv.List(FolderAction_validator))
GetMetadataArgs._all_field_names_ = set([
'shared_folder_id',
'actions',
])
GetMetadataArgs._all_fields_ = [
('shared_folder_id', GetMetadataArgs._shared_folder_id_validator),
('actions', GetMetadataArgs._actions_validator),
]
SharedLinkError._shared_link_not_found_validator = bv.Void()
SharedLinkError._shared_link_access_denied_validator = bv.Void()
SharedLinkError._unsupported_link_type_validator = bv.Void()
SharedLinkError._other_validator = bv.Void()
SharedLinkError._tagmap = {
'shared_link_not_found': SharedLinkError._shared_link_not_found_validator,
'shared_link_access_denied': SharedLinkError._shared_link_access_denied_validator,
'unsupported_link_type': SharedLinkError._unsupported_link_type_validator,
'other': SharedLinkError._other_validator,
}
SharedLinkError.shared_link_not_found = SharedLinkError('shared_link_not_found')
SharedLinkError.shared_link_access_denied = SharedLinkError('shared_link_access_denied')
SharedLinkError.unsupported_link_type = SharedLinkError('unsupported_link_type')
SharedLinkError.other = SharedLinkError('other')
GetSharedLinkFileError._shared_link_is_directory_validator = bv.Void()
GetSharedLinkFileError._tagmap = {
'shared_link_is_directory': GetSharedLinkFileError._shared_link_is_directory_validator,
}
GetSharedLinkFileError._tagmap.update(SharedLinkError._tagmap)
GetSharedLinkFileError.shared_link_is_directory = GetSharedLinkFileError('shared_link_is_directory')
GetSharedLinkMetadataArg._url_validator = bv.String()
GetSharedLinkMetadataArg._path_validator = bv.Nullable(Path_validator)
GetSharedLinkMetadataArg._link_password_validator = bv.Nullable(bv.String())
GetSharedLinkMetadataArg._all_field_names_ = set([
'url',
'path',
'link_password',
])
GetSharedLinkMetadataArg._all_fields_ = [
('url', GetSharedLinkMetadataArg._url_validator),
('path', GetSharedLinkMetadataArg._path_validator),
('link_password', GetSharedLinkMetadataArg._link_password_validator),
]
GetSharedLinksArg._path_validator = bv.Nullable(bv.String())
GetSharedLinksArg._all_field_names_ = set(['path'])
GetSharedLinksArg._all_fields_ = [('path', GetSharedLinksArg._path_validator)]
GetSharedLinksError._path_validator = files.MalformedPathError_validator
GetSharedLinksError._other_validator = bv.Void()
GetSharedLinksError._tagmap = {
'path': GetSharedLinksError._path_validator,
'other': GetSharedLinksError._other_validator,
}
GetSharedLinksError.other = GetSharedLinksError('other')
GetSharedLinksResult._links_validator = bv.List(LinkMetadata_validator)
GetSharedLinksResult._all_field_names_ = set(['links'])
GetSharedLinksResult._all_fields_ = [('links', GetSharedLinksResult._links_validator)]
GroupInfo._group_type_validator = team_common.GroupType_validator
GroupInfo._is_member_validator = bv.Boolean()
GroupInfo._is_owner_validator = bv.Boolean()
GroupInfo._same_team_validator = bv.Boolean()
GroupInfo._all_field_names_ = team_common.GroupSummary._all_field_names_.union(set([
'group_type',
'is_member',
'is_owner',
'same_team',
]))
GroupInfo._all_fields_ = team_common.GroupSummary._all_fields_ + [
('group_type', GroupInfo._group_type_validator),
('is_member', GroupInfo._is_member_validator),
('is_owner', GroupInfo._is_owner_validator),
('same_team', GroupInfo._same_team_validator),
]
MembershipInfo._access_type_validator = AccessLevel_validator
MembershipInfo._permissions_validator = bv.Nullable(bv.List(MemberPermission_validator))
MembershipInfo._initials_validator = bv.Nullable(bv.String())
MembershipInfo._is_inherited_validator = bv.Boolean()
MembershipInfo._all_field_names_ = set([
'access_type',
'permissions',
'initials',
'is_inherited',
])
MembershipInfo._all_fields_ = [
('access_type', MembershipInfo._access_type_validator),
('permissions', MembershipInfo._permissions_validator),
('initials', MembershipInfo._initials_validator),
('is_inherited', MembershipInfo._is_inherited_validator),
]
GroupMembershipInfo._group_validator = GroupInfo_validator
GroupMembershipInfo._all_field_names_ = MembershipInfo._all_field_names_.union(set(['group']))
GroupMembershipInfo._all_fields_ = MembershipInfo._all_fields_ + [('group', GroupMembershipInfo._group_validator)]
InsufficientPlan._message_validator = bv.String()
InsufficientPlan._upsell_url_validator = bv.Nullable(bv.String())
InsufficientPlan._all_field_names_ = set([
'message',
'upsell_url',
])
InsufficientPlan._all_fields_ = [
('message', InsufficientPlan._message_validator),
('upsell_url', InsufficientPlan._upsell_url_validator),
]
InsufficientQuotaAmounts._space_needed_validator = bv.UInt64()
InsufficientQuotaAmounts._space_shortage_validator = bv.UInt64()
InsufficientQuotaAmounts._space_left_validator = bv.UInt64()
InsufficientQuotaAmounts._all_field_names_ = set([
'space_needed',
'space_shortage',
'space_left',
])
InsufficientQuotaAmounts._all_fields_ = [
('space_needed', InsufficientQuotaAmounts._space_needed_validator),
('space_shortage', InsufficientQuotaAmounts._space_shortage_validator),
('space_left', InsufficientQuotaAmounts._space_left_validator),
]
InviteeInfo._email_validator = common.EmailAddress_validator
InviteeInfo._other_validator = bv.Void()
InviteeInfo._tagmap = {
'email': InviteeInfo._email_validator,
'other': InviteeInfo._other_validator,
}
InviteeInfo.other = InviteeInfo('other')
InviteeMembershipInfo._invitee_validator = InviteeInfo_validator
InviteeMembershipInfo._user_validator = bv.Nullable(UserInfo_validator)
InviteeMembershipInfo._all_field_names_ = MembershipInfo._all_field_names_.union(set([
'invitee',
'user',
]))
InviteeMembershipInfo._all_fields_ = MembershipInfo._all_fields_ + [
('invitee', InviteeMembershipInfo._invitee_validator),
('user', InviteeMembershipInfo._user_validator),
]
JobError._unshare_folder_error_validator = UnshareFolderError_validator
JobError._remove_folder_member_error_validator = RemoveFolderMemberError_validator
JobError._relinquish_folder_membership_error_validator = RelinquishFolderMembershipError_validator
JobError._other_validator = bv.Void()
JobError._tagmap = {
'unshare_folder_error': JobError._unshare_folder_error_validator,
'remove_folder_member_error': JobError._remove_folder_member_error_validator,
'relinquish_folder_membership_error': JobError._relinquish_folder_membership_error_validator,
'other': JobError._other_validator,
}
JobError.other = JobError('other')
JobStatus._complete_validator = bv.Void()
JobStatus._failed_validator = JobError_validator
JobStatus._tagmap = {
'complete': JobStatus._complete_validator,
'failed': JobStatus._failed_validator,
}
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()
LinkAction._remove_password_validator = bv.Void()
LinkAction._set_expiry_validator = bv.Void()
LinkAction._set_password_validator = bv.Void()
LinkAction._other_validator = bv.Void()
LinkAction._tagmap = {
'change_access_level': LinkAction._change_access_level_validator,
'change_audience': LinkAction._change_audience_validator,
'remove_expiry': LinkAction._remove_expiry_validator,
'remove_password': LinkAction._remove_password_validator,
'set_expiry': LinkAction._set_expiry_validator,
'set_password': LinkAction._set_password_validator,
'other': LinkAction._other_validator,
}
LinkAction.change_access_level = LinkAction('change_access_level')
LinkAction.change_audience = LinkAction('change_audience')
LinkAction.remove_expiry = LinkAction('remove_expiry')
LinkAction.remove_password = LinkAction('remove_password')
LinkAction.set_expiry = LinkAction('set_expiry')
LinkAction.set_password = LinkAction('set_password')
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')
LinkExpiry._remove_expiry_validator = bv.Void()
LinkExpiry._set_expiry_validator = common.DropboxTimestamp_validator
LinkExpiry._other_validator = bv.Void()
LinkExpiry._tagmap = {
'remove_expiry': LinkExpiry._remove_expiry_validator,
'set_expiry': LinkExpiry._set_expiry_validator,
'other': LinkExpiry._other_validator,
}
LinkExpiry.remove_expiry = LinkExpiry('remove_expiry')
LinkExpiry.other = LinkExpiry('other')
LinkPassword._remove_password_validator = bv.Void()
LinkPassword._set_password_validator = bv.String()
LinkPassword._other_validator = bv.Void()
LinkPassword._tagmap = {
'remove_password': LinkPassword._remove_password_validator,
'set_password': LinkPassword._set_password_validator,
'other': LinkPassword._other_validator,
}
LinkPassword.remove_password = LinkPassword('remove_password')
LinkPassword.other = LinkPassword('other')
LinkPermission._action_validator = LinkAction_validator
LinkPermission._allow_validator = bv.Boolean()
LinkPermission._reason_validator = bv.Nullable(PermissionDeniedReason_validator)
LinkPermission._all_field_names_ = set([
'action',
'allow',
'reason',
])
LinkPermission._all_fields_ = [
('action', LinkPermission._action_validator),
('allow', LinkPermission._allow_validator),
('reason', LinkPermission._reason_validator),
]
LinkPermissions._resolved_visibility_validator = bv.Nullable(ResolvedVisibility_validator)
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)
LinkSettings._audience_validator = bv.Nullable(LinkAudience_validator)
LinkSettings._expiry_validator = bv.Nullable(LinkExpiry_validator)
LinkSettings._password_validator = bv.Nullable(LinkPassword_validator)
LinkSettings._all_field_names_ = set([
'access_level',
'audience',
'expiry',
'password',
])
LinkSettings._all_fields_ = [
('access_level', LinkSettings._access_level_validator),
('audience', LinkSettings._audience_validator),
('expiry', LinkSettings._expiry_validator),
('password', LinkSettings._password_validator),
]
ListFileMembersArg._file_validator = PathOrId_validator
ListFileMembersArg._actions_validator = bv.Nullable(bv.List(MemberAction_validator))
ListFileMembersArg._include_inherited_validator = bv.Boolean()
ListFileMembersArg._limit_validator = bv.UInt32(min_value=1, max_value=300)
ListFileMembersArg._all_field_names_ = set([
'file',
'actions',
'include_inherited',
'limit',
])
ListFileMembersArg._all_fields_ = [
('file', ListFileMembersArg._file_validator),
('actions', ListFileMembersArg._actions_validator),
('include_inherited', ListFileMembersArg._include_inherited_validator),
('limit', ListFileMembersArg._limit_validator),
]
ListFileMembersBatchArg._files_validator = bv.List(PathOrId_validator, max_items=100)
ListFileMembersBatchArg._limit_validator = bv.UInt32(max_value=20)
ListFileMembersBatchArg._all_field_names_ = set([
'files',
'limit',
])
ListFileMembersBatchArg._all_fields_ = [
('files', ListFileMembersBatchArg._files_validator),
('limit', ListFileMembersBatchArg._limit_validator),
]
ListFileMembersBatchResult._file_validator = PathOrId_validator
ListFileMembersBatchResult._result_validator = ListFileMembersIndividualResult_validator
ListFileMembersBatchResult._all_field_names_ = set([
'file',
'result',
])
ListFileMembersBatchResult._all_fields_ = [
('file', ListFileMembersBatchResult._file_validator),
('result', ListFileMembersBatchResult._result_validator),
]
ListFileMembersContinueArg._cursor_validator = bv.String()
ListFileMembersContinueArg._all_field_names_ = set(['cursor'])
ListFileMembersContinueArg._all_fields_ = [('cursor', ListFileMembersContinueArg._cursor_validator)]
ListFileMembersContinueError._user_error_validator = SharingUserError_validator
ListFileMembersContinueError._access_error_validator = SharingFileAccessError_validator
ListFileMembersContinueError._invalid_cursor_validator = bv.Void()
ListFileMembersContinueError._other_validator = bv.Void()
ListFileMembersContinueError._tagmap = {
'user_error': ListFileMembersContinueError._user_error_validator,
'access_error': ListFileMembersContinueError._access_error_validator,
'invalid_cursor': ListFileMembersContinueError._invalid_cursor_validator,
'other': ListFileMembersContinueError._other_validator,
}
ListFileMembersContinueError.invalid_cursor = ListFileMembersContinueError('invalid_cursor')
ListFileMembersContinueError.other = ListFileMembersContinueError('other')
ListFileMembersCountResult._members_validator = SharedFileMembers_validator
ListFileMembersCountResult._member_count_validator = bv.UInt32()
ListFileMembersCountResult._all_field_names_ = set([
'members',
'member_count',
])
ListFileMembersCountResult._all_fields_ = [
('members', ListFileMembersCountResult._members_validator),
('member_count', ListFileMembersCountResult._member_count_validator),
]
ListFileMembersError._user_error_validator = SharingUserError_validator
ListFileMembersError._access_error_validator = SharingFileAccessError_validator
ListFileMembersError._other_validator = bv.Void()
ListFileMembersError._tagmap = {
'user_error': ListFileMembersError._user_error_validator,
'access_error': ListFileMembersError._access_error_validator,
'other': ListFileMembersError._other_validator,
}
ListFileMembersError.other = ListFileMembersError('other')
ListFileMembersIndividualResult._result_validator = ListFileMembersCountResult_validator
ListFileMembersIndividualResult._access_error_validator = SharingFileAccessError_validator
ListFileMembersIndividualResult._other_validator = bv.Void()
ListFileMembersIndividualResult._tagmap = {
'result': ListFileMembersIndividualResult._result_validator,
'access_error': ListFileMembersIndividualResult._access_error_validator,
'other': ListFileMembersIndividualResult._other_validator,
}
ListFileMembersIndividualResult.other = ListFileMembersIndividualResult('other')
ListFilesArg._limit_validator = bv.UInt32(min_value=1, max_value=300)
ListFilesArg._actions_validator = bv.Nullable(bv.List(FileAction_validator))
ListFilesArg._all_field_names_ = set([
'limit',
'actions',
])
ListFilesArg._all_fields_ = [
('limit', ListFilesArg._limit_validator),
('actions', ListFilesArg._actions_validator),
]
ListFilesContinueArg._cursor_validator = bv.String()
ListFilesContinueArg._all_field_names_ = set(['cursor'])
ListFilesContinueArg._all_fields_ = [('cursor', ListFilesContinueArg._cursor_validator)]
ListFilesContinueError._user_error_validator = SharingUserError_validator
ListFilesContinueError._invalid_cursor_validator = bv.Void()
ListFilesContinueError._other_validator = bv.Void()
ListFilesContinueError._tagmap = {
'user_error': ListFilesContinueError._user_error_validator,
'invalid_cursor': ListFilesContinueError._invalid_cursor_validator,
'other': ListFilesContinueError._other_validator,
}
ListFilesContinueError.invalid_cursor = ListFilesContinueError('invalid_cursor')
ListFilesContinueError.other = ListFilesContinueError('other')
ListFilesResult._entries_validator = bv.List(SharedFileMetadata_validator)
ListFilesResult._cursor_validator = bv.Nullable(bv.String())
ListFilesResult._all_field_names_ = set([
'entries',
'cursor',
])
ListFilesResult._all_fields_ = [
('entries', ListFilesResult._entries_validator),
('cursor', ListFilesResult._cursor_validator),
]
ListFolderMembersCursorArg._actions_validator = bv.Nullable(bv.List(MemberAction_validator))
ListFolderMembersCursorArg._limit_validator = bv.UInt32(min_value=1, max_value=1000)
ListFolderMembersCursorArg._all_field_names_ = set([
'actions',
'limit',
])
ListFolderMembersCursorArg._all_fields_ = [
('actions', ListFolderMembersCursorArg._actions_validator),
('limit', ListFolderMembersCursorArg._limit_validator),
]
ListFolderMembersArgs._shared_folder_id_validator = common.SharedFolderId_validator
ListFolderMembersArgs._all_field_names_ = ListFolderMembersCursorArg._all_field_names_.union(set(['shared_folder_id']))
ListFolderMembersArgs._all_fields_ = ListFolderMembersCursorArg._all_fields_ + [('shared_folder_id', ListFolderMembersArgs._shared_folder_id_validator)]
ListFolderMembersContinueArg._cursor_validator = bv.String()
ListFolderMembersContinueArg._all_field_names_ = set(['cursor'])
ListFolderMembersContinueArg._all_fields_ = [('cursor', ListFolderMembersContinueArg._cursor_validator)]
ListFolderMembersContinueError._access_error_validator = SharedFolderAccessError_validator
ListFolderMembersContinueError._invalid_cursor_validator = bv.Void()
ListFolderMembersContinueError._other_validator = bv.Void()
ListFolderMembersContinueError._tagmap = {
'access_error': ListFolderMembersContinueError._access_error_validator,
'invalid_cursor': ListFolderMembersContinueError._invalid_cursor_validator,
'other': ListFolderMembersContinueError._other_validator,
}
ListFolderMembersContinueError.invalid_cursor = ListFolderMembersContinueError('invalid_cursor')
ListFolderMembersContinueError.other = ListFolderMembersContinueError('other')
ListFoldersArgs._limit_validator = bv.UInt32(min_value=1, max_value=1000)
ListFoldersArgs._actions_validator = bv.Nullable(bv.List(FolderAction_validator))
ListFoldersArgs._all_field_names_ = set([
'limit',
'actions',
])
ListFoldersArgs._all_fields_ = [
('limit', ListFoldersArgs._limit_validator),
('actions', ListFoldersArgs._actions_validator),
]
ListFoldersContinueArg._cursor_validator = bv.String()
ListFoldersContinueArg._all_field_names_ = set(['cursor'])
ListFoldersContinueArg._all_fields_ = [('cursor', ListFoldersContinueArg._cursor_validator)]
ListFoldersContinueError._invalid_cursor_validator = bv.Void()
ListFoldersContinueError._other_validator = bv.Void()
ListFoldersContinueError._tagmap = {
'invalid_cursor': ListFoldersContinueError._invalid_cursor_validator,
'other': ListFoldersContinueError._other_validator,
}
ListFoldersContinueError.invalid_cursor = ListFoldersContinueError('invalid_cursor')
ListFoldersContinueError.other = ListFoldersContinueError('other')
ListFoldersResult._entries_validator = bv.List(SharedFolderMetadata_validator)
ListFoldersResult._cursor_validator = bv.Nullable(bv.String())
ListFoldersResult._all_field_names_ = set([
'entries',
'cursor',
])
ListFoldersResult._all_fields_ = [
('entries', ListFoldersResult._entries_validator),
('cursor', ListFoldersResult._cursor_validator),
]
ListSharedLinksArg._path_validator = bv.Nullable(ReadPath_validator)
ListSharedLinksArg._cursor_validator = bv.Nullable(bv.String())
ListSharedLinksArg._direct_only_validator = bv.Nullable(bv.Boolean())
ListSharedLinksArg._all_field_names_ = set([
'path',
'cursor',
'direct_only',
])
ListSharedLinksArg._all_fields_ = [
('path', ListSharedLinksArg._path_validator),
('cursor', ListSharedLinksArg._cursor_validator),
('direct_only', ListSharedLinksArg._direct_only_validator),
]
ListSharedLinksError._path_validator = files.LookupError_validator
ListSharedLinksError._reset_validator = bv.Void()
ListSharedLinksError._other_validator = bv.Void()
ListSharedLinksError._tagmap = {
'path': ListSharedLinksError._path_validator,
'reset': ListSharedLinksError._reset_validator,
'other': ListSharedLinksError._other_validator,
}
ListSharedLinksError.reset = ListSharedLinksError('reset')
ListSharedLinksError.other = ListSharedLinksError('other')
ListSharedLinksResult._links_validator = bv.List(SharedLinkMetadata_validator)
ListSharedLinksResult._has_more_validator = bv.Boolean()
ListSharedLinksResult._cursor_validator = bv.Nullable(bv.String())
ListSharedLinksResult._all_field_names_ = set([
'links',
'has_more',
'cursor',
])
ListSharedLinksResult._all_fields_ = [
('links', ListSharedLinksResult._links_validator),
('has_more', ListSharedLinksResult._has_more_validator),
('cursor', ListSharedLinksResult._cursor_validator),
]
MemberAccessLevelResult._access_level_validator = bv.Nullable(AccessLevel_validator)
MemberAccessLevelResult._warning_validator = bv.Nullable(bv.String())
MemberAccessLevelResult._access_details_validator = bv.Nullable(bv.List(ParentFolderAccessInfo_validator))
MemberAccessLevelResult._all_field_names_ = set([
'access_level',
'warning',
'access_details',
])
MemberAccessLevelResult._all_fields_ = [
('access_level', MemberAccessLevelResult._access_level_validator),
('warning', MemberAccessLevelResult._warning_validator),
('access_details', MemberAccessLevelResult._access_details_validator),
]
MemberAction._leave_a_copy_validator = bv.Void()
MemberAction._make_editor_validator = bv.Void()
MemberAction._make_owner_validator = bv.Void()
MemberAction._make_viewer_validator = bv.Void()
MemberAction._make_viewer_no_comment_validator = bv.Void()
MemberAction._remove_validator = bv.Void()
MemberAction._other_validator = bv.Void()
MemberAction._tagmap = {
'leave_a_copy': MemberAction._leave_a_copy_validator,
'make_editor': MemberAction._make_editor_validator,
'make_owner': MemberAction._make_owner_validator,
'make_viewer': MemberAction._make_viewer_validator,
'make_viewer_no_comment': MemberAction._make_viewer_no_comment_validator,
'remove': MemberAction._remove_validator,
'other': MemberAction._other_validator,
}
MemberAction.leave_a_copy = MemberAction('leave_a_copy')
MemberAction.make_editor = MemberAction('make_editor')
MemberAction.make_owner = MemberAction('make_owner')
MemberAction.make_viewer = MemberAction('make_viewer')
MemberAction.make_viewer_no_comment = MemberAction('make_viewer_no_comment')
MemberAction.remove = MemberAction('remove')
MemberAction.other = MemberAction('other')
MemberPermission._action_validator = MemberAction_validator
MemberPermission._allow_validator = bv.Boolean()
MemberPermission._reason_validator = bv.Nullable(PermissionDeniedReason_validator)
MemberPermission._all_field_names_ = set([
'action',
'allow',
'reason',
])
MemberPermission._all_fields_ = [
('action', MemberPermission._action_validator),
('allow', MemberPermission._allow_validator),
('reason', MemberPermission._reason_validator),
]
MemberPolicy._team_validator = bv.Void()
MemberPolicy._anyone_validator = bv.Void()
MemberPolicy._other_validator = bv.Void()
MemberPolicy._tagmap = {
'team': MemberPolicy._team_validator,
'anyone': MemberPolicy._anyone_validator,
'other': MemberPolicy._other_validator,
}
MemberPolicy.team = MemberPolicy('team')
MemberPolicy.anyone = MemberPolicy('anyone')
MemberPolicy.other = MemberPolicy('other')
MemberSelector._dropbox_id_validator = DropboxId_validator
MemberSelector._email_validator = common.EmailAddress_validator
MemberSelector._other_validator = bv.Void()
MemberSelector._tagmap = {
'dropbox_id': MemberSelector._dropbox_id_validator,
'email': MemberSelector._email_validator,
'other': MemberSelector._other_validator,
}
MemberSelector.other = MemberSelector('other')
ModifySharedLinkSettingsArgs._url_validator = bv.String()
ModifySharedLinkSettingsArgs._settings_validator = SharedLinkSettings_validator
ModifySharedLinkSettingsArgs._remove_expiration_validator = bv.Boolean()
ModifySharedLinkSettingsArgs._all_field_names_ = set([
'url',
'settings',
'remove_expiration',
])
ModifySharedLinkSettingsArgs._all_fields_ = [
('url', ModifySharedLinkSettingsArgs._url_validator),
('settings', ModifySharedLinkSettingsArgs._settings_validator),
('remove_expiration', ModifySharedLinkSettingsArgs._remove_expiration_validator),
]
ModifySharedLinkSettingsError._settings_error_validator = SharedLinkSettingsError_validator
ModifySharedLinkSettingsError._email_not_verified_validator = bv.Void()
ModifySharedLinkSettingsError._tagmap = {
'settings_error': ModifySharedLinkSettingsError._settings_error_validator,
'email_not_verified': ModifySharedLinkSettingsError._email_not_verified_validator,
}
ModifySharedLinkSettingsError._tagmap.update(SharedLinkError._tagmap)
ModifySharedLinkSettingsError.email_not_verified = ModifySharedLinkSettingsError('email_not_verified')
MountFolderArg._shared_folder_id_validator = common.SharedFolderId_validator
MountFolderArg._all_field_names_ = set(['shared_folder_id'])
MountFolderArg._all_fields_ = [('shared_folder_id', MountFolderArg._shared_folder_id_validator)]
MountFolderError._access_error_validator = SharedFolderAccessError_validator
MountFolderError._inside_shared_folder_validator = bv.Void()
MountFolderError._insufficient_quota_validator = InsufficientQuotaAmounts_validator
MountFolderError._already_mounted_validator = bv.Void()
MountFolderError._no_permission_validator = bv.Void()
MountFolderError._not_mountable_validator = bv.Void()
MountFolderError._other_validator = bv.Void()
MountFolderError._tagmap = {
'access_error': MountFolderError._access_error_validator,
'inside_shared_folder': MountFolderError._inside_shared_folder_validator,
'insufficient_quota': MountFolderError._insufficient_quota_validator,
'already_mounted': MountFolderError._already_mounted_validator,
'no_permission': MountFolderError._no_permission_validator,
'not_mountable': MountFolderError._not_mountable_validator,
'other': MountFolderError._other_validator,
}
MountFolderError.inside_shared_folder = MountFolderError('inside_shared_folder')
MountFolderError.already_mounted = MountFolderError('already_mounted')
MountFolderError.no_permission = MountFolderError('no_permission')
MountFolderError.not_mountable = MountFolderError('not_mountable')
MountFolderError.other = MountFolderError('other')
ParentFolderAccessInfo._folder_name_validator = bv.String()
ParentFolderAccessInfo._shared_folder_id_validator = common.SharedFolderId_validator
ParentFolderAccessInfo._permissions_validator = bv.List(MemberPermission_validator)
ParentFolderAccessInfo._path_validator = bv.String()
ParentFolderAccessInfo._all_field_names_ = set([
'folder_name',
'shared_folder_id',
'permissions',
'path',
])
ParentFolderAccessInfo._all_fields_ = [
('folder_name', ParentFolderAccessInfo._folder_name_validator),
('shared_folder_id', ParentFolderAccessInfo._shared_folder_id_validator),
('permissions', ParentFolderAccessInfo._permissions_validator),
('path', ParentFolderAccessInfo._path_validator),
]
PathLinkMetadata._path_validator = bv.String()
PathLinkMetadata._field_names_ = set(['path'])
PathLinkMetadata._all_field_names_ = LinkMetadata._all_field_names_.union(PathLinkMetadata._field_names_)
PathLinkMetadata._fields_ = [('path', PathLinkMetadata._path_validator)]
PathLinkMetadata._all_fields_ = LinkMetadata._all_fields_ + PathLinkMetadata._fields_
PendingUploadMode._file_validator = bv.Void()
PendingUploadMode._folder_validator = bv.Void()
PendingUploadMode._tagmap = {
'file': PendingUploadMode._file_validator,
'folder': PendingUploadMode._folder_validator,
}
PendingUploadMode.file = PendingUploadMode('file')
PendingUploadMode.folder = PendingUploadMode('folder')
PermissionDeniedReason._user_not_same_team_as_owner_validator = bv.Void()
PermissionDeniedReason._user_not_allowed_by_owner_validator = bv.Void()
PermissionDeniedReason._target_is_indirect_member_validator = bv.Void()
PermissionDeniedReason._target_is_owner_validator = bv.Void()
PermissionDeniedReason._target_is_self_validator = bv.Void()
PermissionDeniedReason._target_not_active_validator = bv.Void()
PermissionDeniedReason._folder_is_limited_team_folder_validator = bv.Void()
PermissionDeniedReason._owner_not_on_team_validator = bv.Void()
PermissionDeniedReason._permission_denied_validator = bv.Void()
PermissionDeniedReason._restricted_by_team_validator = bv.Void()
PermissionDeniedReason._user_account_type_validator = bv.Void()
PermissionDeniedReason._user_not_on_team_validator = bv.Void()
PermissionDeniedReason._folder_is_inside_shared_folder_validator = bv.Void()
PermissionDeniedReason._restricted_by_parent_folder_validator = bv.Void()
PermissionDeniedReason._insufficient_plan_validator = InsufficientPlan_validator
PermissionDeniedReason._other_validator = bv.Void()
PermissionDeniedReason._tagmap = {
'user_not_same_team_as_owner': PermissionDeniedReason._user_not_same_team_as_owner_validator,
'user_not_allowed_by_owner': PermissionDeniedReason._user_not_allowed_by_owner_validator,
'target_is_indirect_member': PermissionDeniedReason._target_is_indirect_member_validator,
'target_is_owner': PermissionDeniedReason._target_is_owner_validator,
'target_is_self': PermissionDeniedReason._target_is_self_validator,
'target_not_active': PermissionDeniedReason._target_not_active_validator,
'folder_is_limited_team_folder': PermissionDeniedReason._folder_is_limited_team_folder_validator,
'owner_not_on_team': PermissionDeniedReason._owner_not_on_team_validator,
'permission_denied': PermissionDeniedReason._permission_denied_validator,
'restricted_by_team': PermissionDeniedReason._restricted_by_team_validator,
'user_account_type': PermissionDeniedReason._user_account_type_validator,
'user_not_on_team': PermissionDeniedReason._user_not_on_team_validator,
'folder_is_inside_shared_folder': PermissionDeniedReason._folder_is_inside_shared_folder_validator,
'restricted_by_parent_folder': PermissionDeniedReason._restricted_by_parent_folder_validator,
'insufficient_plan': PermissionDeniedReason._insufficient_plan_validator,
'other': PermissionDeniedReason._other_validator,
}
PermissionDeniedReason.user_not_same_team_as_owner = PermissionDeniedReason('user_not_same_team_as_owner')
PermissionDeniedReason.user_not_allowed_by_owner = PermissionDeniedReason('user_not_allowed_by_owner')
PermissionDeniedReason.target_is_indirect_member = PermissionDeniedReason('target_is_indirect_member')
PermissionDeniedReason.target_is_owner = PermissionDeniedReason('target_is_owner')
PermissionDeniedReason.target_is_self = PermissionDeniedReason('target_is_self')
PermissionDeniedReason.target_not_active = PermissionDeniedReason('target_not_active')
PermissionDeniedReason.folder_is_limited_team_folder = PermissionDeniedReason('folder_is_limited_team_folder')
PermissionDeniedReason.owner_not_on_team = PermissionDeniedReason('owner_not_on_team')
PermissionDeniedReason.permission_denied = PermissionDeniedReason('permission_denied')
PermissionDeniedReason.restricted_by_team = PermissionDeniedReason('restricted_by_team')
PermissionDeniedReason.user_account_type = PermissionDeniedReason('user_account_type')
PermissionDeniedReason.user_not_on_team = PermissionDeniedReason('user_not_on_team')
PermissionDeniedReason.folder_is_inside_shared_folder = PermissionDeniedReason('folder_is_inside_shared_folder')
PermissionDeniedReason.restricted_by_parent_folder = PermissionDeniedReason('restricted_by_parent_folder')
PermissionDeniedReason.other = PermissionDeniedReason('other')
RelinquishFileMembershipArg._file_validator = PathOrId_validator
RelinquishFileMembershipArg._all_field_names_ = set(['file'])
RelinquishFileMembershipArg._all_fields_ = [('file', RelinquishFileMembershipArg._file_validator)]
RelinquishFileMembershipError._access_error_validator = SharingFileAccessError_validator
RelinquishFileMembershipError._group_access_validator = bv.Void()
RelinquishFileMembershipError._no_permission_validator = bv.Void()
RelinquishFileMembershipError._other_validator = bv.Void()
RelinquishFileMembershipError._tagmap = {
'access_error': RelinquishFileMembershipError._access_error_validator,
'group_access': RelinquishFileMembershipError._group_access_validator,
'no_permission': RelinquishFileMembershipError._no_permission_validator,
'other': RelinquishFileMembershipError._other_validator,
}
RelinquishFileMembershipError.group_access = RelinquishFileMembershipError('group_access')
RelinquishFileMembershipError.no_permission = RelinquishFileMembershipError('no_permission')
RelinquishFileMembershipError.other = RelinquishFileMembershipError('other')
RelinquishFolderMembershipArg._shared_folder_id_validator = common.SharedFolderId_validator
RelinquishFolderMembershipArg._leave_a_copy_validator = bv.Boolean()
RelinquishFolderMembershipArg._all_field_names_ = set([
'shared_folder_id',
'leave_a_copy',
])
RelinquishFolderMembershipArg._all_fields_ = [
('shared_folder_id', RelinquishFolderMembershipArg._shared_folder_id_validator),
('leave_a_copy', RelinquishFolderMembershipArg._leave_a_copy_validator),
]
RelinquishFolderMembershipError._access_error_validator = SharedFolderAccessError_validator
RelinquishFolderMembershipError._folder_owner_validator = bv.Void()
RelinquishFolderMembershipError._mounted_validator = bv.Void()
RelinquishFolderMembershipError._group_access_validator = bv.Void()
RelinquishFolderMembershipError._team_folder_validator = bv.Void()
RelinquishFolderMembershipError._no_permission_validator = bv.Void()
RelinquishFolderMembershipError._no_explicit_access_validator = bv.Void()
RelinquishFolderMembershipError._other_validator = bv.Void()
RelinquishFolderMembershipError._tagmap = {
'access_error': RelinquishFolderMembershipError._access_error_validator,
'folder_owner': RelinquishFolderMembershipError._folder_owner_validator,
'mounted': RelinquishFolderMembershipError._mounted_validator,
'group_access': RelinquishFolderMembershipError._group_access_validator,
'team_folder': RelinquishFolderMembershipError._team_folder_validator,
'no_permission': RelinquishFolderMembershipError._no_permission_validator,
'no_explicit_access': RelinquishFolderMembershipError._no_explicit_access_validator,
'other': RelinquishFolderMembershipError._other_validator,
}
RelinquishFolderMembershipError.folder_owner = RelinquishFolderMembershipError('folder_owner')
RelinquishFolderMembershipError.mounted = RelinquishFolderMembershipError('mounted')
RelinquishFolderMembershipError.group_access = RelinquishFolderMembershipError('group_access')
RelinquishFolderMembershipError.team_folder = RelinquishFolderMembershipError('team_folder')
RelinquishFolderMembershipError.no_permission = RelinquishFolderMembershipError('no_permission')
RelinquishFolderMembershipError.no_explicit_access = RelinquishFolderMembershipError('no_explicit_access')
RelinquishFolderMembershipError.other = RelinquishFolderMembershipError('other')
RemoveFileMemberArg._file_validator = PathOrId_validator
RemoveFileMemberArg._member_validator = MemberSelector_validator
RemoveFileMemberArg._all_field_names_ = set([
'file',
'member',
])
RemoveFileMemberArg._all_fields_ = [
('file', RemoveFileMemberArg._file_validator),
('member', RemoveFileMemberArg._member_validator),
]
RemoveFileMemberError._user_error_validator = SharingUserError_validator
RemoveFileMemberError._access_error_validator = SharingFileAccessError_validator
RemoveFileMemberError._no_explicit_access_validator = MemberAccessLevelResult_validator
RemoveFileMemberError._other_validator = bv.Void()
RemoveFileMemberError._tagmap = {
'user_error': RemoveFileMemberError._user_error_validator,
'access_error': RemoveFileMemberError._access_error_validator,
'no_explicit_access': RemoveFileMemberError._no_explicit_access_validator,
'other': RemoveFileMemberError._other_validator,
}
RemoveFileMemberError.other = RemoveFileMemberError('other')
RemoveFolderMemberArg._shared_folder_id_validator = common.SharedFolderId_validator
RemoveFolderMemberArg._member_validator = MemberSelector_validator
RemoveFolderMemberArg._leave_a_copy_validator = bv.Boolean()
RemoveFolderMemberArg._all_field_names_ = set([
'shared_folder_id',
'member',
'leave_a_copy',
])
RemoveFolderMemberArg._all_fields_ = [
('shared_folder_id', RemoveFolderMemberArg._shared_folder_id_validator),
('member', RemoveFolderMemberArg._member_validator),
('leave_a_copy', RemoveFolderMemberArg._leave_a_copy_validator),
]
RemoveFolderMemberError._access_error_validator = SharedFolderAccessError_validator
RemoveFolderMemberError._member_error_validator = SharedFolderMemberError_validator
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,
'member_error': RemoveFolderMemberError._member_error_validator,
'folder_owner': RemoveFolderMemberError._folder_owner_validator,
'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,
}
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
RemoveMemberJobStatus._failed_validator = RemoveFolderMemberError_validator
RemoveMemberJobStatus._tagmap = {
'complete': RemoveMemberJobStatus._complete_validator,
'failed': RemoveMemberJobStatus._failed_validator,
}
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()
RequestedVisibility._password_validator = bv.Void()
RequestedVisibility._tagmap = {
'public': RequestedVisibility._public_validator,
'team_only': RequestedVisibility._team_only_validator,
'password': RequestedVisibility._password_validator,
}
RequestedVisibility.public = RequestedVisibility('public')
RequestedVisibility.team_only = RequestedVisibility('team_only')
RequestedVisibility.password = RequestedVisibility('password')
ResolvedVisibility._team_and_password_validator = bv.Void()
ResolvedVisibility._shared_folder_only_validator = bv.Void()
ResolvedVisibility._other_validator = bv.Void()
ResolvedVisibility._tagmap = {
'team_and_password': ResolvedVisibility._team_and_password_validator,
'shared_folder_only': ResolvedVisibility._shared_folder_only_validator,
'other': ResolvedVisibility._other_validator,
}
ResolvedVisibility._tagmap.update(RequestedVisibility._tagmap)
ResolvedVisibility.team_and_password = ResolvedVisibility('team_and_password')
ResolvedVisibility.shared_folder_only = ResolvedVisibility('shared_folder_only')
ResolvedVisibility.other = ResolvedVisibility('other')
RevokeSharedLinkArg._url_validator = bv.String()
RevokeSharedLinkArg._all_field_names_ = set(['url'])
RevokeSharedLinkArg._all_fields_ = [('url', RevokeSharedLinkArg._url_validator)]
RevokeSharedLinkError._shared_link_malformed_validator = bv.Void()
RevokeSharedLinkError._tagmap = {
'shared_link_malformed': RevokeSharedLinkError._shared_link_malformed_validator,
}
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',
'member_policy',
'path',
'shared_link_policy',
'viewer_info_policy',
'access_inheritance',
])
ShareFolderArgBase._all_fields_ = [
('acl_update_policy', ShareFolderArgBase._acl_update_policy_validator),
('force_async', ShareFolderArgBase._force_async_validator),
('member_policy', ShareFolderArgBase._member_policy_validator),
('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))
ShareFolderArg._link_settings_validator = bv.Nullable(LinkSettings_validator)
ShareFolderArg._all_field_names_ = ShareFolderArgBase._all_field_names_.union(set([
'actions',
'link_settings',
]))
ShareFolderArg._all_fields_ = ShareFolderArgBase._all_fields_ + [
('actions', ShareFolderArg._actions_validator),
('link_settings', ShareFolderArg._link_settings_validator),
]
ShareFolderErrorBase._email_unverified_validator = bv.Void()
ShareFolderErrorBase._bad_path_validator = SharePathError_validator
ShareFolderErrorBase._team_policy_disallows_member_policy_validator = bv.Void()
ShareFolderErrorBase._disallowed_shared_link_policy_validator = bv.Void()
ShareFolderErrorBase._other_validator = bv.Void()
ShareFolderErrorBase._tagmap = {
'email_unverified': ShareFolderErrorBase._email_unverified_validator,
'bad_path': ShareFolderErrorBase._bad_path_validator,
'team_policy_disallows_member_policy': ShareFolderErrorBase._team_policy_disallows_member_policy_validator,
'disallowed_shared_link_policy': ShareFolderErrorBase._disallowed_shared_link_policy_validator,
'other': ShareFolderErrorBase._other_validator,
}
ShareFolderErrorBase.email_unverified = ShareFolderErrorBase('email_unverified')
ShareFolderErrorBase.team_policy_disallows_member_policy = ShareFolderErrorBase('team_policy_disallows_member_policy')
ShareFolderErrorBase.disallowed_shared_link_policy = ShareFolderErrorBase('disallowed_shared_link_policy')
ShareFolderErrorBase.other = ShareFolderErrorBase('other')
ShareFolderError._no_permission_validator = bv.Void()
ShareFolderError._tagmap = {
'no_permission': ShareFolderError._no_permission_validator,
}
ShareFolderError._tagmap.update(ShareFolderErrorBase._tagmap)
ShareFolderError.no_permission = ShareFolderError('no_permission')
ShareFolderJobStatus._complete_validator = SharedFolderMetadata_validator
ShareFolderJobStatus._failed_validator = ShareFolderError_validator
ShareFolderJobStatus._tagmap = {
'complete': ShareFolderJobStatus._complete_validator,
'failed': ShareFolderJobStatus._failed_validator,
}
ShareFolderJobStatus._tagmap.update(async_.PollResultBase._tagmap)
ShareFolderLaunch._complete_validator = SharedFolderMetadata_validator
ShareFolderLaunch._tagmap = {
'complete': ShareFolderLaunch._complete_validator,
}
ShareFolderLaunch._tagmap.update(async_.LaunchResultBase._tagmap)
SharePathError._is_file_validator = bv.Void()
SharePathError._inside_shared_folder_validator = bv.Void()
SharePathError._contains_shared_folder_validator = bv.Void()
SharePathError._contains_app_folder_validator = bv.Void()
SharePathError._contains_team_folder_validator = bv.Void()
SharePathError._is_app_folder_validator = bv.Void()
SharePathError._inside_app_folder_validator = bv.Void()
SharePathError._is_public_folder_validator = bv.Void()
SharePathError._inside_public_folder_validator = bv.Void()
SharePathError._already_shared_validator = SharedFolderMetadata_validator
SharePathError._invalid_path_validator = bv.Void()
SharePathError._is_osx_package_validator = bv.Void()
SharePathError._inside_osx_package_validator = bv.Void()
SharePathError._other_validator = bv.Void()
SharePathError._tagmap = {
'is_file': SharePathError._is_file_validator,
'inside_shared_folder': SharePathError._inside_shared_folder_validator,
'contains_shared_folder': SharePathError._contains_shared_folder_validator,
'contains_app_folder': SharePathError._contains_app_folder_validator,
'contains_team_folder': SharePathError._contains_team_folder_validator,
'is_app_folder': SharePathError._is_app_folder_validator,
'inside_app_folder': SharePathError._inside_app_folder_validator,
'is_public_folder': SharePathError._is_public_folder_validator,
'inside_public_folder': SharePathError._inside_public_folder_validator,
'already_shared': SharePathError._already_shared_validator,
'invalid_path': SharePathError._invalid_path_validator,
'is_osx_package': SharePathError._is_osx_package_validator,
'inside_osx_package': SharePathError._inside_osx_package_validator,
'other': SharePathError._other_validator,
}
SharePathError.is_file = SharePathError('is_file')
SharePathError.inside_shared_folder = SharePathError('inside_shared_folder')
SharePathError.contains_shared_folder = SharePathError('contains_shared_folder')
SharePathError.contains_app_folder = SharePathError('contains_app_folder')
SharePathError.contains_team_folder = SharePathError('contains_team_folder')
SharePathError.is_app_folder = SharePathError('is_app_folder')
SharePathError.inside_app_folder = SharePathError('inside_app_folder')
SharePathError.is_public_folder = SharePathError('is_public_folder')
SharePathError.inside_public_folder = SharePathError('inside_public_folder')
SharePathError.invalid_path = SharePathError('invalid_path')
SharePathError.is_osx_package = SharePathError('is_osx_package')
SharePathError.inside_osx_package = SharePathError('inside_osx_package')
SharePathError.other = SharePathError('other')
SharedContentLinkMetadata._audience_exceptions_validator = bv.Nullable(AudienceExceptions_validator)
SharedContentLinkMetadata._url_validator = bv.String()
SharedContentLinkMetadata._all_field_names_ = SharedContentLinkMetadataBase._all_field_names_.union(set([
'audience_exceptions',
'url',
]))
SharedContentLinkMetadata._all_fields_ = SharedContentLinkMetadataBase._all_fields_ + [
('audience_exceptions', SharedContentLinkMetadata._audience_exceptions_validator),
('url', SharedContentLinkMetadata._url_validator),
]
SharedFileMembers._users_validator = bv.List(UserFileMembershipInfo_validator)
SharedFileMembers._groups_validator = bv.List(GroupMembershipInfo_validator)
SharedFileMembers._invitees_validator = bv.List(InviteeMembershipInfo_validator)
SharedFileMembers._cursor_validator = bv.Nullable(bv.String())
SharedFileMembers._all_field_names_ = set([
'users',
'groups',
'invitees',
'cursor',
])
SharedFileMembers._all_fields_ = [
('users', SharedFileMembers._users_validator),
('groups', SharedFileMembers._groups_validator),
('invitees', SharedFileMembers._invitees_validator),
('cursor', SharedFileMembers._cursor_validator),
]
SharedFileMetadata._access_type_validator = bv.Nullable(AccessLevel_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()
SharedFileMetadata._owner_display_names_validator = bv.Nullable(bv.List(bv.String()))
SharedFileMetadata._owner_team_validator = bv.Nullable(users.Team_validator)
SharedFileMetadata._parent_shared_folder_id_validator = bv.Nullable(common.SharedFolderId_validator)
SharedFileMetadata._path_display_validator = bv.Nullable(bv.String())
SharedFileMetadata._path_lower_validator = bv.Nullable(bv.String())
SharedFileMetadata._permissions_validator = bv.Nullable(bv.List(FilePermission_validator))
SharedFileMetadata._policy_validator = FolderPolicy_validator
SharedFileMetadata._preview_url_validator = bv.String()
SharedFileMetadata._time_invited_validator = bv.Nullable(common.DropboxTimestamp_validator)
SharedFileMetadata._all_field_names_ = set([
'access_type',
'id',
'expected_link_metadata',
'link_metadata',
'name',
'owner_display_names',
'owner_team',
'parent_shared_folder_id',
'path_display',
'path_lower',
'permissions',
'policy',
'preview_url',
'time_invited',
])
SharedFileMetadata._all_fields_ = [
('access_type', SharedFileMetadata._access_type_validator),
('id', SharedFileMetadata._id_validator),
('expected_link_metadata', SharedFileMetadata._expected_link_metadata_validator),
('link_metadata', SharedFileMetadata._link_metadata_validator),
('name', SharedFileMetadata._name_validator),
('owner_display_names', SharedFileMetadata._owner_display_names_validator),
('owner_team', SharedFileMetadata._owner_team_validator),
('parent_shared_folder_id', SharedFileMetadata._parent_shared_folder_id_validator),
('path_display', SharedFileMetadata._path_display_validator),
('path_lower', SharedFileMetadata._path_lower_validator),
('permissions', SharedFileMetadata._permissions_validator),
('policy', SharedFileMetadata._policy_validator),
('preview_url', SharedFileMetadata._preview_url_validator),
('time_invited', SharedFileMetadata._time_invited_validator),
]
SharedFolderAccessError._invalid_id_validator = bv.Void()
SharedFolderAccessError._not_a_member_validator = bv.Void()
SharedFolderAccessError._email_unverified_validator = bv.Void()
SharedFolderAccessError._unmounted_validator = bv.Void()
SharedFolderAccessError._other_validator = bv.Void()
SharedFolderAccessError._tagmap = {
'invalid_id': SharedFolderAccessError._invalid_id_validator,
'not_a_member': SharedFolderAccessError._not_a_member_validator,
'email_unverified': SharedFolderAccessError._email_unverified_validator,
'unmounted': SharedFolderAccessError._unmounted_validator,
'other': SharedFolderAccessError._other_validator,
}
SharedFolderAccessError.invalid_id = SharedFolderAccessError('invalid_id')
SharedFolderAccessError.not_a_member = SharedFolderAccessError('not_a_member')
SharedFolderAccessError.email_unverified = SharedFolderAccessError('email_unverified')
SharedFolderAccessError.unmounted = SharedFolderAccessError('unmounted')
SharedFolderAccessError.other = SharedFolderAccessError('other')
SharedFolderMemberError._invalid_dropbox_id_validator = bv.Void()
SharedFolderMemberError._not_a_member_validator = bv.Void()
SharedFolderMemberError._no_explicit_access_validator = MemberAccessLevelResult_validator
SharedFolderMemberError._other_validator = bv.Void()
SharedFolderMemberError._tagmap = {
'invalid_dropbox_id': SharedFolderMemberError._invalid_dropbox_id_validator,
'not_a_member': SharedFolderMemberError._not_a_member_validator,
'no_explicit_access': SharedFolderMemberError._no_explicit_access_validator,
'other': SharedFolderMemberError._other_validator,
}
SharedFolderMemberError.invalid_dropbox_id = SharedFolderMemberError('invalid_dropbox_id')
SharedFolderMemberError.not_a_member = SharedFolderMemberError('not_a_member')
SharedFolderMemberError.other = SharedFolderMemberError('other')
SharedFolderMembers._users_validator = bv.List(UserMembershipInfo_validator)
SharedFolderMembers._groups_validator = bv.List(GroupMembershipInfo_validator)
SharedFolderMembers._invitees_validator = bv.List(InviteeMembershipInfo_validator)
SharedFolderMembers._cursor_validator = bv.Nullable(bv.String())
SharedFolderMembers._all_field_names_ = set([
'users',
'groups',
'invitees',
'cursor',
])
SharedFolderMembers._all_fields_ = [
('users', SharedFolderMembers._users_validator),
('groups', SharedFolderMembers._groups_validator),
('invitees', SharedFolderMembers._invitees_validator),
('cursor', SharedFolderMembers._cursor_validator),
]
SharedFolderMetadataBase._access_type_validator = AccessLevel_validator
SharedFolderMetadataBase._is_inside_team_folder_validator = bv.Boolean()
SharedFolderMetadataBase._is_team_folder_validator = bv.Boolean()
SharedFolderMetadataBase._owner_display_names_validator = bv.Nullable(bv.List(bv.String()))
SharedFolderMetadataBase._owner_team_validator = bv.Nullable(users.Team_validator)
SharedFolderMetadataBase._parent_shared_folder_id_validator = bv.Nullable(common.SharedFolderId_validator)
SharedFolderMetadataBase._path_lower_validator = bv.Nullable(bv.String())
SharedFolderMetadataBase._all_field_names_ = set([
'access_type',
'is_inside_team_folder',
'is_team_folder',
'owner_display_names',
'owner_team',
'parent_shared_folder_id',
'path_lower',
])
SharedFolderMetadataBase._all_fields_ = [
('access_type', SharedFolderMetadataBase._access_type_validator),
('is_inside_team_folder', SharedFolderMetadataBase._is_inside_team_folder_validator),
('is_team_folder', SharedFolderMetadataBase._is_team_folder_validator),
('owner_display_names', SharedFolderMetadataBase._owner_display_names_validator),
('owner_team', SharedFolderMetadataBase._owner_team_validator),
('parent_shared_folder_id', SharedFolderMetadataBase._parent_shared_folder_id_validator),
('path_lower', SharedFolderMetadataBase._path_lower_validator),
]
SharedFolderMetadata._link_metadata_validator = bv.Nullable(SharedContentLinkMetadata_validator)
SharedFolderMetadata._name_validator = bv.String()
SharedFolderMetadata._permissions_validator = bv.Nullable(bv.List(FolderPermission_validator))
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',
'permissions',
'policy',
'preview_url',
'shared_folder_id',
'time_invited',
'access_inheritance',
]))
SharedFolderMetadata._all_fields_ = SharedFolderMetadataBase._all_fields_ + [
('link_metadata', SharedFolderMetadata._link_metadata_validator),
('name', SharedFolderMetadata._name_validator),
('permissions', SharedFolderMetadata._permissions_validator),
('policy', SharedFolderMetadata._policy_validator),
('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()
SharedLinkAccessFailureReason._email_verify_required_validator = bv.Void()
SharedLinkAccessFailureReason._password_required_validator = bv.Void()
SharedLinkAccessFailureReason._team_only_validator = bv.Void()
SharedLinkAccessFailureReason._owner_only_validator = bv.Void()
SharedLinkAccessFailureReason._other_validator = bv.Void()
SharedLinkAccessFailureReason._tagmap = {
'login_required': SharedLinkAccessFailureReason._login_required_validator,
'email_verify_required': SharedLinkAccessFailureReason._email_verify_required_validator,
'password_required': SharedLinkAccessFailureReason._password_required_validator,
'team_only': SharedLinkAccessFailureReason._team_only_validator,
'owner_only': SharedLinkAccessFailureReason._owner_only_validator,
'other': SharedLinkAccessFailureReason._other_validator,
}
SharedLinkAccessFailureReason.login_required = SharedLinkAccessFailureReason('login_required')
SharedLinkAccessFailureReason.email_verify_required = SharedLinkAccessFailureReason('email_verify_required')
SharedLinkAccessFailureReason.password_required = SharedLinkAccessFailureReason('password_required')
SharedLinkAccessFailureReason.team_only = SharedLinkAccessFailureReason('team_only')
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()
SharedLinkPolicy._other_validator = bv.Void()
SharedLinkPolicy._tagmap = {
'anyone': SharedLinkPolicy._anyone_validator,
'team': SharedLinkPolicy._team_validator,
'members': SharedLinkPolicy._members_validator,
'other': SharedLinkPolicy._other_validator,
}
SharedLinkPolicy.anyone = SharedLinkPolicy('anyone')
SharedLinkPolicy.team = SharedLinkPolicy('team')
SharedLinkPolicy.members = SharedLinkPolicy('members')
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()
SharedLinkSettingsError._not_authorized_validator = bv.Void()
SharedLinkSettingsError._tagmap = {
'invalid_settings': SharedLinkSettingsError._invalid_settings_validator,
'not_authorized': SharedLinkSettingsError._not_authorized_validator,
}
SharedLinkSettingsError.invalid_settings = SharedLinkSettingsError('invalid_settings')
SharedLinkSettingsError.not_authorized = SharedLinkSettingsError('not_authorized')
SharingFileAccessError._no_permission_validator = bv.Void()
SharingFileAccessError._invalid_file_validator = bv.Void()
SharingFileAccessError._is_folder_validator = bv.Void()
SharingFileAccessError._inside_public_folder_validator = bv.Void()
SharingFileAccessError._inside_osx_package_validator = bv.Void()
SharingFileAccessError._other_validator = bv.Void()
SharingFileAccessError._tagmap = {
'no_permission': SharingFileAccessError._no_permission_validator,
'invalid_file': SharingFileAccessError._invalid_file_validator,
'is_folder': SharingFileAccessError._is_folder_validator,
'inside_public_folder': SharingFileAccessError._inside_public_folder_validator,
'inside_osx_package': SharingFileAccessError._inside_osx_package_validator,
'other': SharingFileAccessError._other_validator,
}
SharingFileAccessError.no_permission = SharingFileAccessError('no_permission')
SharingFileAccessError.invalid_file = SharingFileAccessError('invalid_file')
SharingFileAccessError.is_folder = SharingFileAccessError('is_folder')
SharingFileAccessError.inside_public_folder = SharingFileAccessError('inside_public_folder')
SharingFileAccessError.inside_osx_package = SharingFileAccessError('inside_osx_package')
SharingFileAccessError.other = SharingFileAccessError('other')
SharingUserError._email_unverified_validator = bv.Void()
SharingUserError._other_validator = bv.Void()
SharingUserError._tagmap = {
'email_unverified': SharingUserError._email_unverified_validator,
'other': SharingUserError._other_validator,
}
SharingUserError.email_unverified = SharingUserError('email_unverified')
SharingUserError.other = SharingUserError('other')
TeamMemberInfo._team_info_validator = TeamInfo_validator
TeamMemberInfo._display_name_validator = bv.String()
TeamMemberInfo._member_id_validator = bv.Nullable(bv.String())
TeamMemberInfo._all_field_names_ = set([
'team_info',
'display_name',
'member_id',
])
TeamMemberInfo._all_fields_ = [
('team_info', TeamMemberInfo._team_info_validator),
('display_name', TeamMemberInfo._display_name_validator),
('member_id', TeamMemberInfo._member_id_validator),
]
TransferFolderArg._shared_folder_id_validator = common.SharedFolderId_validator
TransferFolderArg._to_dropbox_id_validator = DropboxId_validator
TransferFolderArg._all_field_names_ = set([
'shared_folder_id',
'to_dropbox_id',
])
TransferFolderArg._all_fields_ = [
('shared_folder_id', TransferFolderArg._shared_folder_id_validator),
('to_dropbox_id', TransferFolderArg._to_dropbox_id_validator),
]
TransferFolderError._access_error_validator = SharedFolderAccessError_validator
TransferFolderError._invalid_dropbox_id_validator = bv.Void()
TransferFolderError._new_owner_not_a_member_validator = bv.Void()
TransferFolderError._new_owner_unmounted_validator = bv.Void()
TransferFolderError._new_owner_email_unverified_validator = bv.Void()
TransferFolderError._team_folder_validator = bv.Void()
TransferFolderError._no_permission_validator = bv.Void()
TransferFolderError._other_validator = bv.Void()
TransferFolderError._tagmap = {
'access_error': TransferFolderError._access_error_validator,
'invalid_dropbox_id': TransferFolderError._invalid_dropbox_id_validator,
'new_owner_not_a_member': TransferFolderError._new_owner_not_a_member_validator,
'new_owner_unmounted': TransferFolderError._new_owner_unmounted_validator,
'new_owner_email_unverified': TransferFolderError._new_owner_email_unverified_validator,
'team_folder': TransferFolderError._team_folder_validator,
'no_permission': TransferFolderError._no_permission_validator,
'other': TransferFolderError._other_validator,
}
TransferFolderError.invalid_dropbox_id = TransferFolderError('invalid_dropbox_id')
TransferFolderError.new_owner_not_a_member = TransferFolderError('new_owner_not_a_member')
TransferFolderError.new_owner_unmounted = TransferFolderError('new_owner_unmounted')
TransferFolderError.new_owner_email_unverified = TransferFolderError('new_owner_email_unverified')
TransferFolderError.team_folder = TransferFolderError('team_folder')
TransferFolderError.no_permission = TransferFolderError('no_permission')
TransferFolderError.other = TransferFolderError('other')
UnmountFolderArg._shared_folder_id_validator = common.SharedFolderId_validator
UnmountFolderArg._all_field_names_ = set(['shared_folder_id'])
UnmountFolderArg._all_fields_ = [('shared_folder_id', UnmountFolderArg._shared_folder_id_validator)]
UnmountFolderError._access_error_validator = SharedFolderAccessError_validator
UnmountFolderError._no_permission_validator = bv.Void()
UnmountFolderError._not_unmountable_validator = bv.Void()
UnmountFolderError._other_validator = bv.Void()
UnmountFolderError._tagmap = {
'access_error': UnmountFolderError._access_error_validator,
'no_permission': UnmountFolderError._no_permission_validator,
'not_unmountable': UnmountFolderError._not_unmountable_validator,
'other': UnmountFolderError._other_validator,
}
UnmountFolderError.no_permission = UnmountFolderError('no_permission')
UnmountFolderError.not_unmountable = UnmountFolderError('not_unmountable')
UnmountFolderError.other = UnmountFolderError('other')
UnshareFileArg._file_validator = PathOrId_validator
UnshareFileArg._all_field_names_ = set(['file'])
UnshareFileArg._all_fields_ = [('file', UnshareFileArg._file_validator)]
UnshareFileError._user_error_validator = SharingUserError_validator
UnshareFileError._access_error_validator = SharingFileAccessError_validator
UnshareFileError._other_validator = bv.Void()
UnshareFileError._tagmap = {
'user_error': UnshareFileError._user_error_validator,
'access_error': UnshareFileError._access_error_validator,
'other': UnshareFileError._other_validator,
}
UnshareFileError.other = UnshareFileError('other')
UnshareFolderArg._shared_folder_id_validator = common.SharedFolderId_validator
UnshareFolderArg._leave_a_copy_validator = bv.Boolean()
UnshareFolderArg._all_field_names_ = set([
'shared_folder_id',
'leave_a_copy',
])
UnshareFolderArg._all_fields_ = [
('shared_folder_id', UnshareFolderArg._shared_folder_id_validator),
('leave_a_copy', UnshareFolderArg._leave_a_copy_validator),
]
UnshareFolderError._access_error_validator = SharedFolderAccessError_validator
UnshareFolderError._team_folder_validator = bv.Void()
UnshareFolderError._no_permission_validator = bv.Void()
UnshareFolderError._too_many_files_validator = bv.Void()
UnshareFolderError._other_validator = bv.Void()
UnshareFolderError._tagmap = {
'access_error': UnshareFolderError._access_error_validator,
'team_folder': UnshareFolderError._team_folder_validator,
'no_permission': UnshareFolderError._no_permission_validator,
'too_many_files': UnshareFolderError._too_many_files_validator,
'other': UnshareFolderError._other_validator,
}
UnshareFolderError.team_folder = UnshareFolderError('team_folder')
UnshareFolderError.no_permission = UnshareFolderError('no_permission')
UnshareFolderError.too_many_files = UnshareFolderError('too_many_files')
UnshareFolderError.other = UnshareFolderError('other')
UpdateFileMemberArgs._all_field_names_ = ChangeFileMemberAccessArgs._all_field_names_.union(set([]))
UpdateFileMemberArgs._all_fields_ = ChangeFileMemberAccessArgs._all_fields_ + []
UpdateFolderMemberArg._shared_folder_id_validator = common.SharedFolderId_validator
UpdateFolderMemberArg._member_validator = MemberSelector_validator
UpdateFolderMemberArg._access_level_validator = AccessLevel_validator
UpdateFolderMemberArg._all_field_names_ = set([
'shared_folder_id',
'member',
'access_level',
])
UpdateFolderMemberArg._all_fields_ = [
('shared_folder_id', UpdateFolderMemberArg._shared_folder_id_validator),
('member', UpdateFolderMemberArg._member_validator),
('access_level', UpdateFolderMemberArg._access_level_validator),
]
UpdateFolderMemberError._access_error_validator = SharedFolderAccessError_validator
UpdateFolderMemberError._member_error_validator = SharedFolderMemberError_validator
UpdateFolderMemberError._no_explicit_access_validator = AddFolderMemberError_validator
UpdateFolderMemberError._insufficient_plan_validator = bv.Void()
UpdateFolderMemberError._no_permission_validator = bv.Void()
UpdateFolderMemberError._other_validator = bv.Void()
UpdateFolderMemberError._tagmap = {
'access_error': UpdateFolderMemberError._access_error_validator,
'member_error': UpdateFolderMemberError._member_error_validator,
'no_explicit_access': UpdateFolderMemberError._no_explicit_access_validator,
'insufficient_plan': UpdateFolderMemberError._insufficient_plan_validator,
'no_permission': UpdateFolderMemberError._no_permission_validator,
'other': UpdateFolderMemberError._other_validator,
}
UpdateFolderMemberError.insufficient_plan = UpdateFolderMemberError('insufficient_plan')
UpdateFolderMemberError.no_permission = UpdateFolderMemberError('no_permission')
UpdateFolderMemberError.other = UpdateFolderMemberError('other')
UpdateFolderPolicyArg._shared_folder_id_validator = common.SharedFolderId_validator
UpdateFolderPolicyArg._member_policy_validator = bv.Nullable(MemberPolicy_validator)
UpdateFolderPolicyArg._acl_update_policy_validator = bv.Nullable(AclUpdatePolicy_validator)
UpdateFolderPolicyArg._viewer_info_policy_validator = bv.Nullable(ViewerInfoPolicy_validator)
UpdateFolderPolicyArg._shared_link_policy_validator = bv.Nullable(SharedLinkPolicy_validator)
UpdateFolderPolicyArg._link_settings_validator = bv.Nullable(LinkSettings_validator)
UpdateFolderPolicyArg._actions_validator = bv.Nullable(bv.List(FolderAction_validator))
UpdateFolderPolicyArg._all_field_names_ = set([
'shared_folder_id',
'member_policy',
'acl_update_policy',
'viewer_info_policy',
'shared_link_policy',
'link_settings',
'actions',
])
UpdateFolderPolicyArg._all_fields_ = [
('shared_folder_id', UpdateFolderPolicyArg._shared_folder_id_validator),
('member_policy', UpdateFolderPolicyArg._member_policy_validator),
('acl_update_policy', UpdateFolderPolicyArg._acl_update_policy_validator),
('viewer_info_policy', UpdateFolderPolicyArg._viewer_info_policy_validator),
('shared_link_policy', UpdateFolderPolicyArg._shared_link_policy_validator),
('link_settings', UpdateFolderPolicyArg._link_settings_validator),
('actions', UpdateFolderPolicyArg._actions_validator),
]
UpdateFolderPolicyError._access_error_validator = SharedFolderAccessError_validator
UpdateFolderPolicyError._not_on_team_validator = bv.Void()
UpdateFolderPolicyError._team_policy_disallows_member_policy_validator = bv.Void()
UpdateFolderPolicyError._disallowed_shared_link_policy_validator = bv.Void()
UpdateFolderPolicyError._no_permission_validator = bv.Void()
UpdateFolderPolicyError._team_folder_validator = bv.Void()
UpdateFolderPolicyError._other_validator = bv.Void()
UpdateFolderPolicyError._tagmap = {
'access_error': UpdateFolderPolicyError._access_error_validator,
'not_on_team': UpdateFolderPolicyError._not_on_team_validator,
'team_policy_disallows_member_policy': UpdateFolderPolicyError._team_policy_disallows_member_policy_validator,
'disallowed_shared_link_policy': UpdateFolderPolicyError._disallowed_shared_link_policy_validator,
'no_permission': UpdateFolderPolicyError._no_permission_validator,
'team_folder': UpdateFolderPolicyError._team_folder_validator,
'other': UpdateFolderPolicyError._other_validator,
}
UpdateFolderPolicyError.not_on_team = UpdateFolderPolicyError('not_on_team')
UpdateFolderPolicyError.team_policy_disallows_member_policy = UpdateFolderPolicyError('team_policy_disallows_member_policy')
UpdateFolderPolicyError.disallowed_shared_link_policy = UpdateFolderPolicyError('disallowed_shared_link_policy')
UpdateFolderPolicyError.no_permission = UpdateFolderPolicyError('no_permission')
UpdateFolderPolicyError.team_folder = UpdateFolderPolicyError('team_folder')
UpdateFolderPolicyError.other = UpdateFolderPolicyError('other')
UserMembershipInfo._user_validator = UserInfo_validator
UserMembershipInfo._all_field_names_ = MembershipInfo._all_field_names_.union(set(['user']))
UserMembershipInfo._all_fields_ = MembershipInfo._all_fields_ + [('user', UserMembershipInfo._user_validator)]
UserFileMembershipInfo._time_last_seen_validator = bv.Nullable(common.DropboxTimestamp_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),
]
ViewerInfoPolicy._enabled_validator = bv.Void()
ViewerInfoPolicy._disabled_validator = bv.Void()
ViewerInfoPolicy._other_validator = bv.Void()
ViewerInfoPolicy._tagmap = {
'enabled': ViewerInfoPolicy._enabled_validator,
'disabled': ViewerInfoPolicy._disabled_validator,
'other': ViewerInfoPolicy._other_validator,
}
ViewerInfoPolicy.enabled = ViewerInfoPolicy('enabled')
ViewerInfoPolicy.disabled = ViewerInfoPolicy('disabled')
ViewerInfoPolicy.other = ViewerInfoPolicy('other')
Visibility._public_validator = bv.Void()
Visibility._team_only_validator = bv.Void()
Visibility._password_validator = bv.Void()
Visibility._team_and_password_validator = bv.Void()
Visibility._shared_folder_only_validator = bv.Void()
Visibility._other_validator = bv.Void()
Visibility._tagmap = {
'public': Visibility._public_validator,
'team_only': Visibility._team_only_validator,
'password': Visibility._password_validator,
'team_and_password': Visibility._team_and_password_validator,
'shared_folder_only': Visibility._shared_folder_only_validator,
'other': Visibility._other_validator,
}
Visibility.public = Visibility('public')
Visibility.team_only = Visibility('team_only')
Visibility.password = Visibility('password')
Visibility.team_and_password = Visibility('team_and_password')
Visibility.shared_folder_only = Visibility('shared_folder_only')
Visibility.other = Visibility('other')
add_file_member = bb.Route(
'add_file_member',
1,
False,
AddFileMemberArgs_validator,
bv.List(FileMemberActionResult_validator),
AddFileMemberError_validator,
{'host': u'api',
'style': u'rpc'},
)
add_folder_member = bb.Route(
'add_folder_member',
1,
False,
AddFolderMemberArg_validator,
bv.Void(),
AddFolderMemberError_validator,
{'host': u'api',
'style': u'rpc'},
)
change_file_member_access = bb.Route(
'change_file_member_access',
1,
True,
ChangeFileMemberAccessArgs_validator,
FileMemberActionResult_validator,
FileMemberActionError_validator,
{'host': u'api',
'style': u'rpc'},
)
check_job_status = bb.Route(
'check_job_status',
1,
False,
async_.PollArg_validator,
JobStatus_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,
RemoveMemberJobStatus_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,
ShareFolderJobStatus_validator,
async_.PollError_validator,
{'host': u'api',
'style': u'rpc'},
)
create_shared_link = bb.Route(
'create_shared_link',
1,
True,
CreateSharedLinkArg_validator,
PathLinkMetadata_validator,
CreateSharedLinkError_validator,
{'host': u'api',
'style': u'rpc'},
)
create_shared_link_with_settings = bb.Route(
'create_shared_link_with_settings',
1,
False,
CreateSharedLinkWithSettingsArg_validator,
SharedLinkMetadata_validator,
CreateSharedLinkWithSettingsError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_file_metadata = bb.Route(
'get_file_metadata',
1,
False,
GetFileMetadataArg_validator,
SharedFileMetadata_validator,
GetFileMetadataError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_file_metadata_batch = bb.Route(
'get_file_metadata/batch',
1,
False,
GetFileMetadataBatchArg_validator,
bv.List(GetFileMetadataBatchResult_validator),
SharingUserError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_folder_metadata = bb.Route(
'get_folder_metadata',
1,
False,
GetMetadataArgs_validator,
SharedFolderMetadata_validator,
SharedFolderAccessError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_shared_link_file = bb.Route(
'get_shared_link_file',
1,
False,
GetSharedLinkFileArg_validator,
SharedLinkMetadata_validator,
GetSharedLinkFileError_validator,
{'host': u'content',
'style': u'download'},
)
get_shared_link_metadata = bb.Route(
'get_shared_link_metadata',
1,
False,
GetSharedLinkMetadataArg_validator,
SharedLinkMetadata_validator,
SharedLinkError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_shared_links = bb.Route(
'get_shared_links',
1,
True,
GetSharedLinksArg_validator,
GetSharedLinksResult_validator,
GetSharedLinksError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_file_members = bb.Route(
'list_file_members',
1,
False,
ListFileMembersArg_validator,
SharedFileMembers_validator,
ListFileMembersError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_file_members_batch = bb.Route(
'list_file_members/batch',
1,
False,
ListFileMembersBatchArg_validator,
bv.List(ListFileMembersBatchResult_validator),
SharingUserError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_file_members_continue = bb.Route(
'list_file_members/continue',
1,
False,
ListFileMembersContinueArg_validator,
SharedFileMembers_validator,
ListFileMembersContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_folder_members = bb.Route(
'list_folder_members',
1,
False,
ListFolderMembersArgs_validator,
SharedFolderMembers_validator,
SharedFolderAccessError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_folder_members_continue = bb.Route(
'list_folder_members/continue',
1,
False,
ListFolderMembersContinueArg_validator,
SharedFolderMembers_validator,
ListFolderMembersContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_folders = bb.Route(
'list_folders',
1,
False,
ListFoldersArgs_validator,
ListFoldersResult_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
list_folders_continue = bb.Route(
'list_folders/continue',
1,
False,
ListFoldersContinueArg_validator,
ListFoldersResult_validator,
ListFoldersContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_mountable_folders = bb.Route(
'list_mountable_folders',
1,
False,
ListFoldersArgs_validator,
ListFoldersResult_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
list_mountable_folders_continue = bb.Route(
'list_mountable_folders/continue',
1,
False,
ListFoldersContinueArg_validator,
ListFoldersResult_validator,
ListFoldersContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_received_files = bb.Route(
'list_received_files',
1,
False,
ListFilesArg_validator,
ListFilesResult_validator,
SharingUserError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_received_files_continue = bb.Route(
'list_received_files/continue',
1,
False,
ListFilesContinueArg_validator,
ListFilesResult_validator,
ListFilesContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
list_shared_links = bb.Route(
'list_shared_links',
1,
False,
ListSharedLinksArg_validator,
ListSharedLinksResult_validator,
ListSharedLinksError_validator,
{'host': u'api',
'style': u'rpc'},
)
modify_shared_link_settings = bb.Route(
'modify_shared_link_settings',
1,
False,
ModifySharedLinkSettingsArgs_validator,
SharedLinkMetadata_validator,
ModifySharedLinkSettingsError_validator,
{'host': u'api',
'style': u'rpc'},
)
mount_folder = bb.Route(
'mount_folder',
1,
False,
MountFolderArg_validator,
SharedFolderMetadata_validator,
MountFolderError_validator,
{'host': u'api',
'style': u'rpc'},
)
relinquish_file_membership = bb.Route(
'relinquish_file_membership',
1,
False,
RelinquishFileMembershipArg_validator,
bv.Void(),
RelinquishFileMembershipError_validator,
{'host': u'api',
'style': u'rpc'},
)
relinquish_folder_membership = bb.Route(
'relinquish_folder_membership',
1,
False,
RelinquishFolderMembershipArg_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,
RemoveFileMemberError_validator,
{'host': u'api',
'style': u'rpc'},
)
remove_file_member_2 = bb.Route(
'remove_file_member_2',
1,
False,
RemoveFileMemberArg_validator,
FileMemberRemoveActionResult_validator,
RemoveFileMemberError_validator,
{'host': u'api',
'style': u'rpc'},
)
remove_folder_member = bb.Route(
'remove_folder_member',
1,
False,
RemoveFolderMemberArg_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(),
RevokeSharedLinkError_validator,
{'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,
ShareFolderError_validator,
{'host': u'api',
'style': u'rpc'},
)
transfer_folder = bb.Route(
'transfer_folder',
1,
False,
TransferFolderArg_validator,
bv.Void(),
TransferFolderError_validator,
{'host': u'api',
'style': u'rpc'},
)
unmount_folder = bb.Route(
'unmount_folder',
1,
False,
UnmountFolderArg_validator,
bv.Void(),
UnmountFolderError_validator,
{'host': u'api',
'style': u'rpc'},
)
unshare_file = bb.Route(
'unshare_file',
1,
False,
UnshareFileArg_validator,
bv.Void(),
UnshareFileError_validator,
{'host': u'api',
'style': u'rpc'},
)
unshare_folder = bb.Route(
'unshare_folder',
1,
False,
UnshareFolderArg_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,
FileMemberActionError_validator,
{'host': u'api',
'style': u'rpc'},
)
update_folder_member = bb.Route(
'update_folder_member',
1,
False,
UpdateFolderMemberArg_validator,
MemberAccessLevelResult_validator,
UpdateFolderMemberError_validator,
{'host': u'api',
'style': u'rpc'},
)
update_folder_policy = bb.Route(
'update_folder_policy',
1,
False,
UpdateFolderPolicyArg_validator,
SharedFolderMetadata_validator,
UpdateFolderPolicyError_validator,
{'host': u'api',
'style': u'rpc'},
)
ROUTES = {
'add_file_member': add_file_member,
'add_folder_member': add_folder_member,
'change_file_member_access': change_file_member_access,
'check_job_status': check_job_status,
'check_remove_member_job_status': check_remove_member_job_status,
'check_share_job_status': check_share_job_status,
'create_shared_link': create_shared_link,
'create_shared_link_with_settings': create_shared_link_with_settings,
'get_file_metadata': get_file_metadata,
'get_file_metadata/batch': get_file_metadata_batch,
'get_folder_metadata': get_folder_metadata,
'get_shared_link_file': get_shared_link_file,
'get_shared_link_metadata': get_shared_link_metadata,
'get_shared_links': get_shared_links,
'list_file_members': list_file_members,
'list_file_members/batch': list_file_members_batch,
'list_file_members/continue': list_file_members_continue,
'list_folder_members': list_folder_members,
'list_folder_members/continue': list_folder_members_continue,
'list_folders': list_folders,
'list_folders/continue': list_folders_continue,
'list_mountable_folders': list_mountable_folders,
'list_mountable_folders/continue': list_mountable_folders_continue,
'list_received_files': list_received_files,
'list_received_files/continue': list_received_files_continue,
'list_shared_links': list_shared_links,
'modify_shared_link_settings': modify_shared_link_settings,
'mount_folder': mount_folder,
'relinquish_file_membership': relinquish_file_membership,
'relinquish_folder_membership': relinquish_folder_membership,
'remove_file_member': remove_file_member,
'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,
'unshare_file': unshare_file,
'unshare_folder': unshare_folder,
'update_file_member': update_file_member,
'update_folder_member': update_folder_member,
'update_folder_policy': update_folder_policy,
}
dropbox-sdk-python-9.4.0/dropbox/stone_base.py 0000664 0000000 0000000 00000012527 13500550210 0021446 0 ustar 00root root 0000000 0000000 """
Helpers for representing Stone data types in Python.
This module should be dropped into a project that requires the use of Stone. In
the future, this could be imported from a pre-installed Python package, rather
than being added to a project.
"""
from __future__ import absolute_import, unicode_literals
import functools
try:
from . import stone_validators as bv
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
_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):
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)):
validator.validate_type_only(value)
else:
validator.validate(value)
self._tag = tag
self._value = value
def __eq__(self, other):
# Also need to check if one class is a subclass of another. If one union extends another,
# the common fields should be able to be compared to each other.
return (
isinstance(other, Union) and
(isinstance(self, other.__class__) or isinstance(other, self.__class__)) and
self._tag == other._tag and self._value == other._value
)
def __ne__(self, other):
return not self == other
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, 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
self.error_type = error_type
assert isinstance(attrs, dict), 'Expected dict, got %r' % attrs
self.attrs = attrs
def __repr__(self):
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
dropbox-sdk-python-9.4.0/dropbox/stone_serializers.py 0000664 0000000 0000000 00000124211 13500550210 0023062 0 ustar 00root root 0000000 0000000 """
Serializers for Stone data types.
Currently, only JSON is officially supported, but there's an experimental
msgpack integration. If possible, serializers should be kept separate from the
RPC format.
This module should be dropped into a project that requires the use of Stone. In
the future, this could be imported from a pre-installed Python package, rather
than being added to a project.
"""
from __future__ import absolute_import, unicode_literals
import base64
import collections
import datetime
import functools
import json
import re
import six
import time
try:
from . import stone_base as bb # noqa: F401 # pylint: disable=unused-import
from . import stone_validators as bv
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
import stone_validators as bv # type: ignore
_MYPY = False
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):
"""
Interface defining a stone object encoder.
"""
def encode(self, validator, value):
# type: (bv.Validator, typing.Any) -> typing.Any
"""
Validate ``value`` using ``validator`` and return the encoding.
Args:
validator: the ``stone_validators.Validator`` used to validate
``value``
value: the object to encode
Returns:
The encoded object. This is implementation-defined.
Raises:
stone_validators.ValidationError: Raised if ``value`` (or one
of its sub-values).
"""
raise NotImplementedError
# ------------------------------------------------------------------------
class StoneSerializerBase(StoneEncoderInterface):
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:
typing.Callable[[typing.Any], None], ...}``. These callables must
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:
self._alias_validators.update(alias_validators)
@property
def alias_validators(self):
"""
A ``typing.Mapping`` of custom validation callables in the format
``{stone_validators.Validator: typing.Callable[typing.Any],
...}``.
"""
return self._alias_validators
def encode(self, validator, value):
return self.encode_sub(validator, value)
def encode_sub(self, validator, value):
# type: (bv.Validator, typing.Any) -> typing.Any
"""
Callback intended to be called by other ``encode`` methods to
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 # 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
encode_f = self.encode_map
elif isinstance(validator, bv.Nullable):
validate_f = validator.validate
encode_f = self.encode_nullable
elif isinstance(validator, bv.Primitive):
validate_f = validator.validate
encode_f = self.encode_primitive
elif isinstance(validator, bv.Struct):
if isinstance(validator, bv.StructTree):
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
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
validate_f = validator.validate_type_only
encode_f = self.encode_union
else:
raise bv.ValidationError('Unsupported data type {}'.format(type(validator).__name__))
validate_f(value)
return encode_f(validator, value)
def encode_list(self, validator, value):
# type: (bv.List, typing.Any) -> typing.Any
"""
Callback for serializing a ``stone_validators.List``. Arguments
have the same semantics as with the ``encode`` method.
"""
raise NotImplementedError
def encode_map(self, validator, value):
# type: (bv.Map, typing.Any) -> typing.Any
"""
Callback for serializing a ``stone_validators.Map``. Arguments
have the same semantics as with the ``encode`` method.
"""
raise NotImplementedError
def encode_nullable(self, validator, value):
# type: (bv.Nullable, typing.Any) -> typing.Any
"""
Callback for serializing a ``stone_validators.Nullable``.
Arguments have the same semantics as with the ``encode`` method.
"""
raise NotImplementedError
def encode_primitive(self, validator, value):
# type: (bv.Primitive, typing.Any) -> typing.Any
"""
Callback for serializing a ``stone_validators.Primitive``.
Arguments have the same semantics as with the ``encode`` method.
"""
raise NotImplementedError
def encode_struct(self, validator, value):
# type: (bv.Struct, typing.Any) -> typing.Any
"""
Callback for serializing a ``stone_validators.Struct``. Arguments
have the same semantics as with the ``encode`` method.
"""
raise NotImplementedError
def encode_struct_tree(self, validator, value):
# type: (bv.StructTree, typing.Any) -> typing.Any
"""
Callback for serializing a ``stone_validators.StructTree``.
Arguments have the same semantics as with the ``encode`` method.
"""
raise NotImplementedError
def encode_union(self, validator, value):
# type: (bv.Union, bb.Union) -> typing.Any
"""
Callback for serializing a ``stone_validators.Union``. Arguments
have the same semantics as with the ``encode`` method.
"""
raise NotImplementedError
# ------------------------------------------------------------------------
class StoneToPythonPrimitiveSerializer(StoneSerializerBase):
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
to ``StoneSerializer.__init__``. Defaults to ``None``.
for_msgpack (bool, optional): See the like-named property.
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__(
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):
"""
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 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)
return [self.encode_sub(validator.item_validator, value_item) for value_item in
validated_value]
def encode_map(self, validator, value):
validated_value = validator.validate(value)
return {
self.encode_sub(validator.key_validator, key):
self.encode_sub(validator.value_validator, value) for
key, value in validated_value.items()
}
def encode_nullable(self, validator, value):
if value is None:
return None
return self.encode_sub(validator.validator, value)
def encode_primitive(self, validator, value):
if validator in self.alias_validators:
self.alias_validators[validator](value)
if isinstance(validator, bv.Void):
return None
elif isinstance(validator, bv.Timestamp):
return _strftime(value, validator.format)
elif isinstance(validator, bv.Bytes):
if self.for_msgpack:
return value
else:
return base64.b64encode(value).decode('ascii')
elif isinstance(validator, bv.Integer) \
and isinstance(value, bool):
# bool is sub-class of int so it passes Integer validation,
# but we want the bool to be encoded as ``0`` or ``1``, rather
# than ``False`` or ``True``, respectively
return int(value)
else:
return value
def encode_struct(self, validator, value):
# Skip validation of fields with primitive data types because
# they've already been validated on assignment
d = collections.OrderedDict() # type: typing.Dict[str, typing.Any]
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:
raise bv.ValidationError(exc.args[0])
presence_key = '_%s_present' % field_name
if field_value is not None \
and getattr(value, presence_key):
# Only serialize struct fields that have been explicitly
# set, even if there is a default
try:
d[field_name] = self.encode_sub(field_validator, field_value)
except bv.ValidationError as exc:
exc.add_parent(field_name)
raise
return d
def encode_struct_tree(self, validator, value):
assert type(value) in validator.definition._pytype_to_tag_and_subtype_, \
'%r is not a serializable subtype of %r.' % (type(value), validator.definition)
tags, subtype = validator.definition._pytype_to_tag_and_subtype_[type(value)]
assert len(tags) == 1, tags
assert not isinstance(subtype, bv.StructTree), \
'Cannot serialize type %r because it enumerates subtypes.' % subtype.definition
if self.old_style:
d = {
tags[0]: self.encode_struct(subtype, value),
}
else:
d = collections.OrderedDict()
d['.tag'] = tags[0]
d.update(self.encode_struct(subtype, value))
return d
def encode_union(self, validator, value):
if value._tag is None:
raise bv.ValidationError('no tag set')
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)
def encode_sub(sub_validator, sub_value, parent_tag):
try:
encoded_val = self.encode_sub(sub_validator, sub_value)
except bv.ValidationError as exc:
exc.add_parent(parent_tag)
raise
else:
return encoded_val
if self.old_style:
if field_validator is None:
return value._tag
elif is_none:
return value._tag
else:
encoded_val = encode_sub(field_validator, value._value, value._tag)
return {value._tag: encoded_val}
elif is_none:
return {'.tag': value._tag}
else:
encoded_val = encode_sub(field_validator, value._value, value._tag)
if isinstance(field_validator, bv.Nullable):
# We've already checked for the null case above,
# so now we're only interested in what the
# wrapped validator is
field_validator = field_validator.validator
if isinstance(field_validator, bv.Struct) \
and not isinstance(field_validator, bv.StructTree):
d = collections.OrderedDict() # type: typing.Dict[str, typing.Any]
d['.tag'] = value._tag
d.update(encoded_val)
return d
else:
return collections.OrderedDict((
('.tag', value._tag),
(value._tag, encoded_val),
))
# ------------------------------------------------------------------------
class StoneToJsonSerializer(StoneToPythonPrimitiveSerializer):
def encode(self, validator, value):
return json.dumps(super(StoneToJsonSerializer, self).encode(validator, value))
# --------------------------------------------------------------
# JSON Encoder
#
# These interfaces are preserved for backward compatibility and symmetry with deserialization
# functions.
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.
Returns:
str: JSON-encoded object.
This function will also do additional validation that wasn't done by the
objects themselves:
1. The passed in obj may not have been validated with data_type yet.
2. If an object that should be a Struct was assigned to a field, its
type has been validated, but the presence of all required fields
hasn't been.
3. If an object that should be a Union was assigned to a field, whether
or not a tag has been set has not been validated.
4. A list may have passed validation initially, but been mutated since.
Example of serializing a struct to JSON:
struct FileRef
path String
rev String
> fr = FileRef()
> fr.path = 'a/b/c'
> fr.rev = '1234'
> JsonEncoder.encode(fr)
"{'path': 'a/b/c', 'rev': '1234'}"
Example of serializing a union to JSON:
union UploadMode
add
overwrite
update FileRef
> um = UploadMode()
> um.set_add()
> JsonEncoder.encode(um)
'"add"'
> um.update = fr
> JsonEncoder.encode(um)
"{'update': {'path': 'a/b/c', 'rev': '1234'}}"
"""
for_msgpack = False
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, 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
giving the JSON-encoded object.
See json_encode() for additional information about validation.
"""
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
@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.
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. strict should only be used by a
recipient of serialized JSON if it's guaranteed that its Stone
specs are at least as recent as the senders it receives messages
from.
Returns:
The returned object depends on the input data_type.
- Boolean -> bool
- Bytes -> bytes
- Float -> float
- Integer -> long
- List -> list
- Map -> dict
- Nullable -> None or its wrapped type.
- String -> unicode (PY2) or str (PY3)
- Struct -> An instance of its definition attribute.
- Timestamp -> datetime.datetime
- Union -> An instance of its definition attribute.
"""
try:
deserialized_obj = json.loads(serialized_obj)
except ValueError:
raise bv.ValidationError('could not decode input as JSON')
else:
return json_compat_obj_decode(
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, 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.
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.
Returns:
See json_decode().
"""
decoder = PythonPrimitiveToStoneDecoder(caller_permissions,
alias_validators, for_msgpack, old_style, strict)
if isinstance(data_type, bv.Primitive):
return decoder.make_stone_friendly(
data_type, obj, True)
else:
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/
# Remove the unsupposed "%s" command. But don't do it if there's an odd
# number of %s before the s because those are all escaped. Can't simply
# remove the s because the result of %sY should be %Y if %s isn't
# supported, not the 4 digit year.
_ILLEGAL_S = re.compile(r'((^|[^%])(%%)*%s)')
def _findall(text, substr):
# Also finds overlaps
sites = []
i = 0
while 1:
j = text.find(substr, i)
if j == -1:
break
sites.append(j)
i = j + 1
return sites
# Every 28 years the calendar repeats, except through century leap years
# where it's 6 years. But only if you're using the Gregorian calendar. ;)
def _strftime(dt, fmt):
try:
return dt.strftime(fmt)
except ValueError:
if not six.PY2 or dt.year > 1900:
raise
if _ILLEGAL_S.search(fmt):
raise TypeError("This strftime implementation does not handle %s")
year = dt.year
# For every non-leap year century, advance by 6 years to get into the
# 28-year repeat cycle
delta = 2000 - year
off = 6 * (delta // 100 + delta // 400)
year = year + off
# Move to around the year 2000
year = year + ((2000 - year) // 28) * 28
timetuple = dt.timetuple()
s1 = time.strftime(fmt, (year,) + timetuple[1:])
sites1 = _findall(s1, str(year))
s2 = time.strftime(fmt, (year + 28,) + timetuple[1:])
sites2 = _findall(s2, str(year + 28))
sites = []
for site in sites1:
if site in sites2:
sites.append(site)
s = s1
syear = '%4d' % (dt.year,)
for site in sites:
s = s[:site] + syear + s[site + 4:]
return s
try:
import msgpack
except ImportError:
pass
else:
msgpack_compat_obj_encode = functools.partial(json_compat_obj_encode,
for_msgpack=True)
def msgpack_encode(data_type, obj):
return msgpack.dumps(
msgpack_compat_obj_encode(data_type, obj), encoding='utf-8')
msgpack_compat_obj_decode = functools.partial(json_compat_obj_decode,
for_msgpack=True)
def msgpack_decode(
data_type, serialized_obj, alias_validators=None, strict=True):
# We decode everything as utf-8 because we want all object keys to be
# unicode. Otherwise, we need to do a lot more refactoring to make
# json/msgpack share the same code. We expect byte arrays to fail
# decoding, but when they don't, we have to convert them to bytes.
deserialized_obj = msgpack.loads(
serialized_obj, encoding='utf-8', unicode_errors='ignore')
return msgpack_compat_obj_decode(
data_type, deserialized_obj, alias_validators, strict)
dropbox-sdk-python-9.4.0/dropbox/stone_validators.py 0000664 0000000 0000000 00000057742 13500550210 0022714 0 ustar 00root root 0000000 0000000 """
Defines classes to represent each Stone type in Python. These classes should
be used to validate Python objects and normalize them for a given type.
The data types defined here should not be specific to an RPC or serialization
format.
This module should be dropped into a project that requires the use of Stone. In
the future, this could be imported from a pre-installed Python package, rather
than being added to a project.
"""
from __future__ import absolute_import, unicode_literals
from abc import ABCMeta, abstractmethod
import datetime
import hashlib
import math
import numbers
import re
import six
_MYPY = False
if _MYPY:
import typing # noqa: F401 # pylint: disable=import-error,unused-import,useless-suppression
# See
if six.PY3:
_binary_types = (bytes, memoryview) # noqa: E501,F821 # pylint: disable=undefined-variable,useless-suppression
else:
_binary_types = (bytes, buffer) # noqa: E501,F821 # pylint: disable=undefined-variable,useless-suppression
class ValidationError(Exception):
"""Raised when a value doesn't pass validation by its validator."""
def __init__(self, message, parent=None):
"""
Args:
message (str): Error message detailing validation failure.
parent (str): Adds the parent as the closest reference point for
the error. Use :meth:`add_parent` to add more.
"""
super(ValidationError, self).__init__(message)
self.message = message
self._parents = []
if parent:
self._parents.append(parent)
def add_parent(self, parent):
"""
Args:
parent (str): Adds the parent to the top of the tree of references
that lead to the validator that failed.
"""
self._parents.append(parent)
def __str__(self):
"""
Returns:
str: A descriptive message of the validation error that may also
include the path to the validator that failed.
"""
if self._parents:
return '{}: {}'.format('.'.join(self._parents[::-1]), self.message)
else:
return self.message
def __repr__(self):
# Not a perfect repr, but includes the error location information.
return 'ValidationError(%r)' % six.text_type(self)
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, 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):
return 'float'
elif isinstance(v, (tuple, list)):
return 'list'
elif isinstance(v, six.string_types):
return 'string'
elif v is None:
return 'null'
else:
return type(v).__name__
class Validator(object):
"""All primitive and composite data types should be a subclass of this."""
__metaclass__ = ABCMeta
@abstractmethod
def validate(self, val):
"""Validates that val is of this data type.
Returns: A normalized value if validation succeeds.
Raises: ValidationError
"""
pass
def has_default(self):
return False
def get_default(self):
raise AssertionError('No default available.')
class Primitive(Validator):
"""A basic type that is defined by Stone."""
# pylint: disable=abstract-method
pass
class Boolean(Primitive):
def validate(self, val):
if not isinstance(val, bool):
raise ValidationError('%r is not a valid boolean' % val)
return val
class Integer(Primitive):
"""
Do not use this class directly. Extend it and specify a 'minimum' and
'maximum' value as class variables for a more restrictive integer range.
"""
minimum = None # type: typing.Optional[int]
maximum = None # type: typing.Optional[int]
def __init__(self, min_value=None, max_value=None):
"""
A more restrictive minimum or maximum value can be specified than the
range inherent to the defined type.
"""
if min_value is not None:
assert isinstance(min_value, numbers.Integral), \
'min_value must be an integral number'
assert min_value >= self.minimum, \
'min_value cannot be less than the minimum value for this ' \
'type (%d < %d)' % (min_value, self.minimum)
self.minimum = min_value
if max_value is not None:
assert isinstance(max_value, numbers.Integral), \
'max_value must be an integral number'
assert max_value <= self.maximum, \
'max_value cannot be greater than the maximum value for ' \
'this type (%d < %d)' % (max_value, self.maximum)
self.maximum = max_value
def validate(self, val):
if not isinstance(val, numbers.Integral):
raise ValidationError('expected integer, got %s'
% generic_type_name(val))
elif not (self.minimum <= val <= self.maximum):
raise ValidationError('%d is not within range [%d, %d]'
% (val, self.minimum, self.maximum))
return val
def __repr__(self):
return '%s()' % self.__class__.__name__
class Int32(Integer):
minimum = -2**31
maximum = 2**31 - 1
class UInt32(Integer):
minimum = 0
maximum = 2**32 - 1
class Int64(Integer):
minimum = -2**63
maximum = 2**63 - 1
class UInt64(Integer):
minimum = 0
maximum = 2**64 - 1
class Real(Primitive):
"""
Do not use this class directly. Extend it and optionally set a 'minimum'
and 'maximum' value to enforce a range that's a subset of the Python float
implementation. Python floats are doubles.
"""
minimum = None # type: typing.Optional[float]
maximum = None # type: typing.Optional[float]
def __init__(self, min_value=None, max_value=None):
"""
A more restrictive minimum or maximum value can be specified than the
range inherent to the defined type.
"""
if min_value is not None:
assert isinstance(min_value, numbers.Real), \
'min_value must be a real number'
if not isinstance(min_value, float):
try:
min_value = float(min_value)
except OverflowError:
raise AssertionError('min_value is too small for a float')
if self.minimum is not None and min_value < self.minimum:
raise AssertionError('min_value cannot be less than the '
'minimum value for this type (%f < %f)' %
(min_value, self.minimum))
self.minimum = min_value
if max_value is not None:
assert isinstance(max_value, numbers.Real), \
'max_value must be a real number'
if not isinstance(max_value, float):
try:
max_value = float(max_value)
except OverflowError:
raise AssertionError('max_value is too large for a float')
if self.maximum is not None and max_value > self.maximum:
raise AssertionError('max_value cannot be greater than the '
'maximum value for this type (%f < %f)' %
(max_value, self.maximum))
self.maximum = max_value
def validate(self, val):
if not isinstance(val, numbers.Real):
raise ValidationError('expected real number, got %s' %
generic_type_name(val))
if not isinstance(val, float):
# This checks for the case where a number is passed in with a
# magnitude larger than supported by float64.
try:
val = float(val)
except OverflowError:
raise ValidationError('too large for float')
if math.isnan(val) or math.isinf(val):
raise ValidationError('%f values are not supported' % val)
if self.minimum is not None and val < self.minimum:
raise ValidationError('%f is not greater than %f' %
(val, self.minimum))
if self.maximum is not None and val > self.maximum:
raise ValidationError('%f is not less than %f' %
(val, self.maximum))
return val
def __repr__(self):
return '%s()' % self.__class__.__name__
class Float32(Real):
# Maximum and minimums from the IEEE 754-1985 standard
minimum = -3.40282 * 10**38
maximum = 3.40282 * 10**38
class Float64(Real):
pass
class String(Primitive):
"""Represents a unicode string."""
def __init__(self, min_length=None, max_length=None, pattern=None):
if min_length is not None:
assert isinstance(min_length, numbers.Integral), \
'min_length must be an integral number'
assert min_length >= 0, 'min_length must be >= 0'
if max_length is not None:
assert isinstance(max_length, numbers.Integral), \
'max_length must be an integral number'
assert max_length > 0, 'max_length must be > 0'
if min_length and max_length:
assert max_length >= min_length, 'max_length must be >= min_length'
if pattern is not None:
assert isinstance(pattern, six.string_types), \
'pattern must be a string'
self.min_length = min_length
self.max_length = max_length
self.pattern = pattern
self.pattern_re = None
if pattern:
try:
self.pattern_re = re.compile(r"\A(?:" + pattern + r")\Z")
except re.error as e:
raise AssertionError('Regex {!r} failed: {}'.format(
pattern, e.args[0]))
def validate(self, val):
"""
A unicode string of the correct length and pattern will pass validation.
In PY2, we enforce that a str type must be valid utf-8, and a unicode
string will be returned.
"""
if not isinstance(val, six.string_types):
raise ValidationError("'%s' expected to be a string, got %s"
% (val, generic_type_name(val)))
if not six.PY3 and isinstance(val, str):
try:
val = val.decode('utf-8')
except UnicodeDecodeError:
raise ValidationError("'%s' was not valid utf-8")
if self.max_length is not None and len(val) > self.max_length:
raise ValidationError("'%s' must be at most %d characters, got %d"
% (val, self.max_length, len(val)))
if self.min_length is not None and len(val) < self.min_length:
raise ValidationError("'%s' must be at least %d characters, got %d"
% (val, self.min_length, len(val)))
if self.pattern and not self.pattern_re.match(val):
raise ValidationError("'%s' did not match pattern '%s'"
% (val, self.pattern))
return val
class Bytes(Primitive):
def __init__(self, min_length=None, max_length=None):
if min_length is not None:
assert isinstance(min_length, numbers.Integral), \
'min_length must be an integral number'
assert min_length >= 0, 'min_length must be >= 0'
if max_length is not None:
assert isinstance(max_length, numbers.Integral), \
'max_length must be an integral number'
assert max_length > 0, 'max_length must be > 0'
if min_length is not None and max_length is not None:
assert max_length >= min_length, 'max_length must be >= min_length'
self.min_length = min_length
self.max_length = max_length
def validate(self, val):
if not isinstance(val, _binary_types):
raise ValidationError("expected bytes type, got %s"
% generic_type_name(val))
elif self.max_length is not None and len(val) > self.max_length:
raise ValidationError("'%s' must have at most %d bytes, got %d"
% (val, self.max_length, len(val)))
elif self.min_length is not None and len(val) < self.min_length:
raise ValidationError("'%s' has fewer than %d bytes, got %d"
% (val, self.min_length, len(val)))
return val
class Timestamp(Primitive):
"""Note that while a format is specified, it isn't used in validation
since a native Python datetime object is preferred. The format, however,
can and should be used by serializers."""
def __init__(self, fmt):
"""fmt must be composed of format codes that the C standard (1989)
supports, most notably in its strftime() function."""
assert isinstance(fmt, six.text_type), 'format must be a string'
self.format = fmt
def validate(self, val):
if not isinstance(val, datetime.datetime):
raise ValidationError('expected timestamp, got %s'
% generic_type_name(val))
elif val.tzinfo is not None and \
val.tzinfo.utcoffset(val).total_seconds() != 0:
raise ValidationError('timestamp should have either a UTC '
'timezone or none set at all')
return val
class Composite(Validator):
"""Validator for a type that builds on other primitive and composite
types."""
# pylint: disable=abstract-method
pass
class List(Composite):
"""Assumes list contents are homogeneous with respect to types."""
def __init__(self, item_validator, min_items=None, max_items=None):
"""Every list item will be validated with item_validator."""
self.item_validator = item_validator
if min_items is not None:
assert isinstance(min_items, numbers.Integral), \
'min_items must be an integral number'
assert min_items >= 0, 'min_items must be >= 0'
if max_items is not None:
assert isinstance(max_items, numbers.Integral), \
'max_items must be an integral number'
assert max_items > 0, 'max_items must be > 0'
if min_items is not None and max_items is not None:
assert max_items >= min_items, 'max_items must be >= min_items'
self.min_items = min_items
self.max_items = max_items
def validate(self, val):
if not isinstance(val, (tuple, list)):
raise ValidationError('%r is not a valid list' % val)
elif self.max_items is not None and len(val) > self.max_items:
raise ValidationError('%r has more than %s items'
% (val, self.max_items))
elif self.min_items is not None and len(val) < self.min_items:
raise ValidationError('%r has fewer than %s items'
% (val, self.min_items))
return [self.item_validator.validate(item) for item in val]
class Map(Composite):
"""Assumes map keys and values are homogeneous with respect to types."""
def __init__(self, key_validator, value_validator):
"""
Every Map key/value pair will be validated with item_validator.
key validators must be a subclass of a String validator
"""
self.key_validator = key_validator
self.value_validator = value_validator
def validate(self, val):
if not isinstance(val, dict):
raise ValidationError('%r is not a valid dict' % val)
return {
self.key_validator.validate(key):
self.value_validator.validate(value) for key, value in val.items()
}
class Struct(Composite):
def __init__(self, definition):
"""
Args:
definition (class): A generated class representing a Stone struct
from a spec. Must have a _fields_ attribute with the following
structure:
_fields_ = [(field_name, validator), ...]
where
field_name: Name of the field (str).
validator: Validator object.
"""
super(Struct, self).__init__()
self.definition = definition
def validate(self, val):
"""
For a val to pass validation, val must be of the correct type and have
all required fields present.
"""
self.validate_type_only(val)
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.
This method assumes that the contents of each field have already been
validated on assignment, so it's merely a presence check.
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_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
is correct, but not yet validate each field.
"""
# Since the definition maintains the list of fields for serialization,
# we're okay with a subclass that might have extra information. This
# makes it easier to return one subclass for two routes, one of which
# relies on the parent class.
if not isinstance(val, self.definition):
raise ValidationError('expected type %s, got %s' %
(self.definition.__name__, generic_type_name(val)))
def has_default(self):
return not self.definition._has_required_fields
def get_default(self):
assert not self.definition._has_required_fields, 'No default available.'
return self.definition()
class StructTree(Struct):
"""Validator for structs with enumerated subtypes.
NOTE: validate_fields_only() validates the fields known to this base
struct, but does not do any validation specific to the subtype.
"""
# See PyCQA/pylint#1043 for why this is disabled; this should show up
# as a usless-suppression (and can be removed) once a fix is released
def __init__(self, definition): # pylint: disable=useless-super-delegation
super(StructTree, self).__init__(definition)
class Union(Composite):
def __init__(self, definition):
"""
Args:
definition (class): A generated class representing a Stone union
from a spec. Must have a _tagmap attribute with the following
structure:
_tagmap = {field_name: validator, ...}
where
field_name (str): Tag name.
validator (Validator): Tag value validator.
"""
self.definition = definition
def validate(self, val):
"""
For a val to pass validation, it must have a _tag set. This assumes
that the object validated that _tag is a valid tag, and that any
associated value has also been validated.
"""
self.validate_type_only(val)
if not hasattr(val, '_tag') or val._tag is None:
raise ValidationError('no tag set')
return val
def validate_type_only(self, val):
"""
Use this when you only want to validate that the type of an object
is correct, but not yet validate each field.
We check whether val is a Python parent class of the definition. This
is because Union subtyping works in the opposite direction of Python
inheritance. For example, if a union U2 extends U1 in Python, this
validator will accept U1 in places where U2 is expected.
"""
if not issubclass(self.definition, type(val)):
raise ValidationError('expected type %s or subtype, got %s' %
(self.definition.__name__, generic_type_name(val)))
class Void(Primitive):
def validate(self, val):
if val is not None:
raise ValidationError('expected NoneType, got %s' %
generic_type_name(val))
def has_default(self):
return True
def get_default(self):
return None
class Nullable(Validator):
def __init__(self, validator):
assert isinstance(validator, (Primitive, Composite)), \
'validator must be for a primitive or composite type'
assert not isinstance(validator, Nullable), \
'nullables cannot be stacked'
assert not isinstance(validator, Void), \
'void cannot be made nullable'
self.validator = validator
def validate(self, val):
if val is None:
return
else:
return self.validator.validate(val)
def validate_type_only(self, val):
"""Use this only if Nullable is wrapping a Composite."""
if val is None:
return
else:
return self.validator.validate_type_only(val)
def has_default(self):
return True
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 '********'
dropbox-sdk-python-9.4.0/dropbox/team.py 0000664 0000000 0000000 00002364756 13500550210 0020272 0 ustar 00root root 0000000 0000000 # -*- 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 (
async_,
common,
file_properties,
files,
team_common,
team_policies,
users,
users_common,
)
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(bb.Struct):
"""
: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__ = [
'_session_id_value',
'_session_id_present',
'_ip_address_value',
'_ip_address_present',
'_country_value',
'_country_present',
'_created_value',
'_created_present',
'_updated_value',
'_updated_present',
]
_has_required_fields = True
def __init__(self,
session_id=None,
ip_address=None,
country=None,
created=None,
updated=None):
self._session_id_value = None
self._session_id_present = False
self._ip_address_value = None
self._ip_address_present = False
self._country_value = None
self._country_present = False
self._created_value = None
self._created_present = False
self._updated_value = None
self._updated_present = False
if session_id is not None:
self.session_id = session_id
if ip_address is not None:
self.ip_address = ip_address
if country is not None:
self.country = country
if created is not None:
self.created = created
if updated is not None:
self.updated = updated
@property
def session_id(self):
"""
The session id.
:rtype: str
"""
if self._session_id_present:
return self._session_id_value
else:
raise AttributeError("missing required field 'session_id'")
@session_id.setter
def session_id(self, val):
val = self._session_id_validator.validate(val)
self._session_id_value = val
self._session_id_present = True
@session_id.deleter
def session_id(self):
self._session_id_value = None
self._session_id_present = False
@property
def ip_address(self):
"""
The IP address of the last activity from this session.
: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 country(self):
"""
The country from which the last activity from this session was made.
:rtype: str
"""
if self._country_present:
return self._country_value
else:
return None
@country.setter
def country(self, val):
if val is None:
del self.country
return
val = self._country_validator.validate(val)
self._country_value = val
self._country_present = True
@country.deleter
def country(self):
self._country_value = None
self._country_present = False
@property
def created(self):
"""
The time this session was created.
: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.
: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(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,
self._ip_address_value,
self._country_value,
self._created_value,
self._updated_value,
)
DeviceSession_validator = bv.Struct(DeviceSession)
class ActiveWebSession(DeviceSession):
"""
Information on active web sessions.
: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__ = [
'_user_agent_value',
'_user_agent_present',
'_os_value',
'_os_present',
'_browser_value',
'_browser_present',
'_expires_value',
'_expires_present',
]
_has_required_fields = True
def __init__(self,
session_id=None,
user_agent=None,
os=None,
browser=None,
ip_address=None,
country=None,
created=None,
updated=None,
expires=None):
super(ActiveWebSession, self).__init__(session_id,
ip_address,
country,
created,
updated)
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
self._expires_value = None
self._expires_present = False
if user_agent is not None:
self.user_agent = user_agent
if os is not None:
self.os = os
if browser is not None:
self.browser = browser
if expires is not None:
self.expires = expires
@property
def user_agent(self):
"""
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
@property
def expires(self):
"""
The time this session expires.
:rtype: datetime.datetime
"""
if self._expires_present:
return self._expires_value
else:
return None
@expires.setter
def expires(self, val):
if val is None:
del self.expires
return
val = self._expires_validator.validate(val)
self._expires_value = val
self._expires_present = True
@expires.deleter
def expires(self):
self._expires_value = None
self._expires_present = False
def _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,
self._user_agent_value,
self._os_value,
self._browser_value,
self._ip_address_value,
self._country_value,
self._created_value,
self._updated_value,
self._expires_value,
)
ActiveWebSession_validator = bv.Struct(ActiveWebSession)
class AdminTier(bb.Union):
"""
Describes which team-related admin permissions a user has.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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
# Attribute is overwritten below the class definition
team_admin = None
# Attribute is overwritten below the class definition
user_management_admin = None
# Attribute is overwritten below the class definition
support_admin = None
# Attribute is overwritten below the class definition
member_only = None
def is_team_admin(self):
"""
Check if the union tag is ``team_admin``.
:rtype: bool
"""
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_member_only(self):
"""
Check if the union tag is ``member_only``.
:rtype: bool
"""
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(bb.Struct):
"""
Information on linked third party applications.
: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__ = [
'_app_id_value',
'_app_id_present',
'_app_name_value',
'_app_name_present',
'_publisher_value',
'_publisher_present',
'_publisher_url_value',
'_publisher_url_present',
'_linked_value',
'_linked_present',
'_is_app_folder_value',
'_is_app_folder_present',
]
_has_required_fields = True
def __init__(self,
app_id=None,
app_name=None,
is_app_folder=None,
publisher=None,
publisher_url=None,
linked=None):
self._app_id_value = None
self._app_id_present = False
self._app_name_value = None
self._app_name_present = False
self._publisher_value = None
self._publisher_present = False
self._publisher_url_value = None
self._publisher_url_present = False
self._linked_value = None
self._linked_present = False
self._is_app_folder_value = None
self._is_app_folder_present = False
if app_id is not None:
self.app_id = app_id
if app_name is not None:
self.app_name = app_name
if publisher is not None:
self.publisher = publisher
if publisher_url is not None:
self.publisher_url = publisher_url
if linked is not None:
self.linked = linked
if is_app_folder is not None:
self.is_app_folder = is_app_folder
@property
def app_id(self):
"""
The application unique id.
:rtype: str
"""
if self._app_id_present:
return self._app_id_value
else:
raise AttributeError("missing required field 'app_id'")
@app_id.setter
def app_id(self, val):
val = self._app_id_validator.validate(val)
self._app_id_value = val
self._app_id_present = True
@app_id.deleter
def app_id(self):
self._app_id_value = None
self._app_id_present = False
@property
def app_name(self):
"""
The application name.
:rtype: str
"""
if self._app_name_present:
return self._app_name_value
else:
raise AttributeError("missing required field 'app_name'")
@app_name.setter
def app_name(self, val):
val = self._app_name_validator.validate(val)
self._app_name_value = val
self._app_name_present = True
@app_name.deleter
def app_name(self):
self._app_name_value = None
self._app_name_present = False
@property
def publisher(self):
"""
The application publisher name.
:rtype: str
"""
if self._publisher_present:
return self._publisher_value
else:
return None
@publisher.setter
def publisher(self, val):
if val is None:
del self.publisher
return
val = self._publisher_validator.validate(val)
self._publisher_value = val
self._publisher_present = True
@publisher.deleter
def publisher(self):
self._publisher_value = None
self._publisher_present = False
@property
def publisher_url(self):
"""
The publisher's URL.
:rtype: str
"""
if self._publisher_url_present:
return self._publisher_url_value
else:
return None
@publisher_url.setter
def publisher_url(self, val):
if val is None:
del self.publisher_url
return
val = self._publisher_url_validator.validate(val)
self._publisher_url_value = val
self._publisher_url_present = True
@publisher_url.deleter
def publisher_url(self):
self._publisher_url_value = None
self._publisher_url_present = False
@property
def linked(self):
"""
The time this application was linked.
:rtype: datetime.datetime
"""
if self._linked_present:
return self._linked_value
else:
return None
@linked.setter
def linked(self, val):
if val is None:
del self.linked
return
val = self._linked_validator.validate(val)
self._linked_value = val
self._linked_present = True
@linked.deleter
def linked(self):
self._linked_value = None
self._linked_present = False
@property
def is_app_folder(self):
"""
Whether the linked application uses a dedicated folder.
:rtype: bool
"""
if self._is_app_folder_present:
return self._is_app_folder_value
else:
raise AttributeError("missing required field 'is_app_folder'")
@is_app_folder.setter
def is_app_folder(self, val):
val = self._is_app_folder_validator.validate(val)
self._is_app_folder_value = val
self._is_app_folder_present = True
@is_app_folder.deleter
def is_app_folder(self):
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,
self._app_name_value,
self._is_app_folder_value,
self._publisher_value,
self._publisher_url_value,
self._linked_value,
)
ApiApp_validator = bv.Struct(ApiApp)
class BaseDfbReport(bb.Struct):
"""
Base report structure.
:ivar team.BaseDfbReport.start_date: First date present in the results as
'YYYY-MM-DD' or None.
"""
__slots__ = [
'_start_date_value',
'_start_date_present',
]
_has_required_fields = True
def __init__(self,
start_date=None):
self._start_date_value = None
self._start_date_present = False
if start_date is not None:
self.start_date = start_date
@property
def start_date(self):
"""
First date present in the results as 'YYYY-MM-DD' or None.
:rtype: str
"""
if self._start_date_present:
return self._start_date_value
else:
raise AttributeError("missing required field 'start_date'")
@start_date.setter
def start_date(self, val):
val = self._start_date_validator.validate(val)
self._start_date_value = val
self._start_date_present = True
@start_date.deleter
def start_date(self):
self._start_date_value = None
self._start_date_present = False
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,
)
BaseDfbReport_validator = bv.Struct(BaseDfbReport)
class BaseTeamFolderError(bb.Union):
"""
Base error that all errors for existing team folders should extend.
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 access_error(cls, val):
"""
Create an instance of this class set to the ``access_error`` tag with
value ``val``.
:param TeamFolderAccessError val:
:rtype: BaseTeamFolderError
"""
return cls('access_error', val)
@classmethod
def status_error(cls, val):
"""
Create an instance of this class set to the ``status_error`` tag with
value ``val``.
:param TeamFolderInvalidStatusError val:
:rtype: BaseTeamFolderError
"""
return cls('status_error', val)
@classmethod
def team_shared_dropbox_error(cls, val):
"""
Create an instance of this class set to the
``team_shared_dropbox_error`` tag with value ``val``.
:param TeamFolderTeamSharedDropboxError val:
:rtype: BaseTeamFolderError
"""
return cls('team_shared_dropbox_error', val)
def is_access_error(self):
"""
Check if the union tag is ``access_error``.
:rtype: bool
"""
return self._tag == 'access_error'
def is_status_error(self):
"""
Check if the union tag is ``status_error``.
:rtype: bool
"""
return self._tag == 'status_error'
def is_team_shared_dropbox_error(self):
"""
Check if the union tag is ``team_shared_dropbox_error``.
:rtype: bool
"""
return self._tag == 'team_shared_dropbox_error'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_access_error(self):
"""
Only call this if :meth:`is_access_error` is true.
:rtype: TeamFolderAccessError
"""
if not self.is_access_error():
raise AttributeError("tag 'access_error' not set")
return self._value
def get_status_error(self):
"""
Only call this if :meth:`is_status_error` is true.
:rtype: TeamFolderInvalidStatusError
"""
if not self.is_status_error():
raise AttributeError("tag 'status_error' not set")
return self._value
def get_team_shared_dropbox_error(self):
"""
Only call this if :meth:`is_team_shared_dropbox_error` is true.
:rtype: TeamFolderTeamSharedDropboxError
"""
if not self.is_team_shared_dropbox_error():
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)
BaseTeamFolderError_validator = bv.Union(BaseTeamFolderError)
class CustomQuotaError(bb.Union):
"""
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 team.CustomQuotaError.too_many_users: A maximum of 1000 users can be
set for a single call.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
too_many_users = None
# Attribute is overwritten below the class definition
other = None
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(CustomQuotaError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'CustomQuotaError(%r, %r)' % (self._tag, self._value)
CustomQuotaError_validator = bv.Union(CustomQuotaError)
class CustomQuotaResult(bb.Union):
"""
User 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 UserCustomQuotaResult CustomQuotaResult.success: User's custom quota.
:ivar UserSelectorArg CustomQuotaResult.invalid_user: Invalid user (not in
team).
"""
_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 UserCustomQuotaResult val:
:rtype: CustomQuotaResult
"""
return cls('success', val)
@classmethod
def invalid_user(cls, val):
"""
Create an instance of this class set to the ``invalid_user`` tag with
value ``val``.
:param UserSelectorArg val:
:rtype: CustomQuotaResult
"""
return cls('invalid_user', val)
def is_success(self):
"""
Check if the union tag is ``success``.
:rtype: bool
"""
return self._tag == 'success'
def is_invalid_user(self):
"""
Check if the union tag is ``invalid_user``.
:rtype: bool
"""
return self._tag == 'invalid_user'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_success(self):
"""
User's custom quota.
Only call this if :meth:`is_success` is true.
:rtype: UserCustomQuotaResult
"""
if not self.is_success():
raise AttributeError("tag 'success' not set")
return self._value
def get_invalid_user(self):
"""
Invalid user (not in team).
Only call this if :meth:`is_invalid_user` is true.
:rtype: UserSelectorArg
"""
if not self.is_invalid_user():
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(bb.Struct):
"""
:ivar team.CustomQuotaUsersArg.users: List of users.
"""
__slots__ = [
'_users_value',
'_users_present',
]
_has_required_fields = True
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.
:rtype: list of [UserSelectorArg]
"""
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
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,
)
CustomQuotaUsersArg_validator = bv.Struct(CustomQuotaUsersArg)
class DateRange(bb.Struct):
"""
Input arguments that can be provided for most reports.
:ivar team.DateRange.start_date: Optional starting date (inclusive).
:ivar team.DateRange.end_date: Optional ending date (exclusive).
"""
__slots__ = [
'_start_date_value',
'_start_date_present',
'_end_date_value',
'_end_date_present',
]
_has_required_fields = False
def __init__(self,
start_date=None,
end_date=None):
self._start_date_value = None
self._start_date_present = False
self._end_date_value = None
self._end_date_present = False
if start_date is not None:
self.start_date = start_date
if end_date is not None:
self.end_date = end_date
@property
def start_date(self):
"""
Optional starting date (inclusive).
:rtype: datetime.datetime
"""
if self._start_date_present:
return self._start_date_value
else:
return None
@start_date.setter
def start_date(self, val):
if val is None:
del self.start_date
return
val = self._start_date_validator.validate(val)
self._start_date_value = val
self._start_date_present = True
@start_date.deleter
def start_date(self):
self._start_date_value = None
self._start_date_present = False
@property
def end_date(self):
"""
Optional ending date (exclusive).
:rtype: datetime.datetime
"""
if self._end_date_present:
return self._end_date_value
else:
return None
@end_date.setter
def end_date(self, val):
if val is None:
del self.end_date
return
val = self._end_date_validator.validate(val)
self._end_date_value = val
self._end_date_present = True
@end_date.deleter
def end_date(self):
self._end_date_value = None
self._end_date_present = False
def _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,
self._end_date_value,
)
DateRange_validator = bv.Struct(DateRange)
class DateRangeError(bb.Union):
"""
Errors that can originate from problems in input arguments to reports.
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
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(DateRangeError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DateRangeError(%r, %r)' % (self._tag, self._value)
DateRangeError_validator = bv.Union(DateRangeError)
class DesktopClientSession(DeviceSession):
"""
Information about linked Dropbox desktop client sessions.
: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__ = [
'_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,
session_id=None,
host_name=None,
client_type=None,
client_version=None,
platform=None,
is_delete_on_unlink_supported=None,
ip_address=None,
country=None,
created=None,
updated=None):
super(DesktopClientSession, self).__init__(session_id,
ip_address,
country,
created,
updated)
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 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 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: 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:
raise AttributeError("missing required field 'client_version'")
@client_version.setter
def client_version(self, val):
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 it's 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(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,
self._host_name_value,
self._client_type_value,
self._client_version_value,
self._platform_value,
self._is_delete_on_unlink_supported_value,
self._ip_address_value,
self._country_value,
self._created_value,
self._updated_value,
)
DesktopClientSession_validator = bv.Struct(DesktopClientSession)
class DesktopPlatform(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.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'
# Attribute is overwritten below the class definition
windows = None
# Attribute is overwritten below the class definition
mac = None
# Attribute is overwritten below the class definition
linux = None
# Attribute is overwritten below the class definition
other = None
def is_windows(self):
"""
Check if the union tag is ``windows``.
:rtype: bool
"""
return self._tag == 'windows'
def is_mac(self):
"""
Check if the union tag is ``mac``.
:rtype: bool
"""
return self._tag == 'mac'
def is_linux(self):
"""
Check if the union tag is ``linux``.
:rtype: bool
"""
return self._tag == 'linux'
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(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(bb.Struct):
"""
:ivar team.DeviceSessionArg.session_id: The session id.
:ivar team.DeviceSessionArg.team_member_id: The unique id of the member
owning the device.
"""
__slots__ = [
'_session_id_value',
'_session_id_present',
'_team_member_id_value',
'_team_member_id_present',
]
_has_required_fields = True
def __init__(self,
session_id=None,
team_member_id=None):
self._session_id_value = None
self._session_id_present = False
self._team_member_id_value = None
self._team_member_id_present = False
if session_id is not None:
self.session_id = session_id
if team_member_id is not None:
self.team_member_id = team_member_id
@property
def session_id(self):
"""
The session id.
:rtype: str
"""
if self._session_id_present:
return self._session_id_value
else:
raise AttributeError("missing required field 'session_id'")
@session_id.setter
def session_id(self, val):
val = self._session_id_validator.validate(val)
self._session_id_value = val
self._session_id_present = True
@session_id.deleter
def session_id(self):
self._session_id_value = None
self._session_id_present = False
@property
def team_member_id(self):
"""
The unique id of the member owning the device.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
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,
self._team_member_id_value,
)
DeviceSessionArg_validator = bv.Struct(DeviceSessionArg)
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 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 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.
"""
__slots__ = [
'_windows_value',
'_windows_present',
'_macos_value',
'_macos_present',
'_linux_value',
'_linux_present',
'_ios_value',
'_ios_present',
'_android_value',
'_android_present',
'_other_value',
'_other_present',
'_total_value',
'_total_present',
]
_has_required_fields = True
def __init__(self,
windows=None,
macos=None,
linux=None,
ios=None,
android=None,
other=None,
total=None):
self._windows_value = None
self._windows_present = False
self._macos_value = None
self._macos_present = False
self._linux_value = None
self._linux_present = False
self._ios_value = None
self._ios_present = False
self._android_value = None
self._android_present = False
self._other_value = None
self._other_present = False
self._total_value = None
self._total_present = False
if windows is not None:
self.windows = windows
if macos is not None:
self.macos = macos
if linux is not None:
self.linux = linux
if ios is not None:
self.ios = ios
if android is not None:
self.android = android
if other is not None:
self.other = other
if total is not None:
self.total = total
@property
def windows(self):
"""
Array of number of linked windows (desktop) clients with activity.
:rtype: list of [Optional[int]]
"""
if self._windows_present:
return self._windows_value
else:
raise AttributeError("missing required field 'windows'")
@windows.setter
def windows(self, val):
val = self._windows_validator.validate(val)
self._windows_value = val
self._windows_present = True
@windows.deleter
def windows(self):
self._windows_value = None
self._windows_present = False
@property
def macos(self):
"""
Array of number of linked mac (desktop) clients with activity.
:rtype: list of [Optional[int]]
"""
if self._macos_present:
return self._macos_value
else:
raise AttributeError("missing required field 'macos'")
@macos.setter
def macos(self, val):
val = self._macos_validator.validate(val)
self._macos_value = val
self._macos_present = True
@macos.deleter
def macos(self):
self._macos_value = None
self._macos_present = False
@property
def linux(self):
"""
Array of number of linked linus (desktop) clients with activity.
:rtype: list of [Optional[int]]
"""
if self._linux_present:
return self._linux_value
else:
raise AttributeError("missing required field 'linux'")
@linux.setter
def linux(self, val):
val = self._linux_validator.validate(val)
self._linux_value = val
self._linux_present = True
@linux.deleter
def linux(self):
self._linux_value = None
self._linux_present = False
@property
def ios(self):
"""
Array of number of linked ios devices with activity.
:rtype: list of [Optional[int]]
"""
if self._ios_present:
return self._ios_value
else:
raise AttributeError("missing required field 'ios'")
@ios.setter
def ios(self, val):
val = self._ios_validator.validate(val)
self._ios_value = val
self._ios_present = True
@ios.deleter
def ios(self):
self._ios_value = None
self._ios_present = False
@property
def android(self):
"""
Array of number of linked android devices with activity.
:rtype: list of [Optional[int]]
"""
if self._android_present:
return self._android_value
else:
raise AttributeError("missing required field 'android'")
@android.setter
def android(self, val):
val = self._android_validator.validate(val)
self._android_value = val
self._android_present = True
@android.deleter
def android(self):
self._android_value = None
self._android_present = False
@property
def other(self):
"""
Array of number of other linked devices (blackberry, windows phone, etc)
with activity.
:rtype: list of [Optional[int]]
"""
if self._other_present:
return self._other_value
else:
raise AttributeError("missing required field 'other'")
@other.setter
def other(self, val):
val = self._other_validator.validate(val)
self._other_value = val
self._other_present = True
@other.deleter
def other(self):
self._other_value = None
self._other_present = False
@property
def total(self):
"""
Array of total number of linked clients with activity.
:rtype: list of [Optional[int]]
"""
if self._total_present:
return self._total_value
else:
raise AttributeError("missing required field 'total'")
@total.setter
def total(self, val):
val = self._total_validator.validate(val)
self._total_value = val
self._total_present = True
@total.deleter
def total(self):
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,
self._macos_value,
self._linux_value,
self._ios_value,
self._android_value,
self._other_value,
self._total_value,
)
DevicesActive_validator = bv.Struct(DevicesActive)
class ExcludedUsersListArg(bb.Struct):
"""
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 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'
# Attribute is overwritten below the class definition
upload_api_rate_limit = None
# 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):
"""
Check if the union tag is ``upload_api_rate_limit``.
:rtype: bool
"""
return self._tag == 'upload_api_rate_limit'
def is_has_team_shared_dropbox(self):
"""
Check if the union tag is ``has_team_shared_dropbox``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
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 Business plan.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def upload_api_rate_limit(cls, val):
"""
Create an instance of this class set to the ``upload_api_rate_limit``
tag with value ``val``.
:param UploadApiRateLimitValue val:
:rtype: FeatureValue
"""
return cls('upload_api_rate_limit', val)
@classmethod
def has_team_shared_dropbox(cls, val):
"""
Create an instance of this class set to the ``has_team_shared_dropbox``
tag with value ``val``.
:param HasTeamSharedDropboxValue val:
:rtype: FeatureValue
"""
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``.
:rtype: bool
"""
return self._tag == 'upload_api_rate_limit'
def is_has_team_shared_dropbox(self):
"""
Check if the union tag is ``has_team_shared_dropbox``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
def get_upload_api_rate_limit(self):
"""
Only call this if :meth:`is_upload_api_rate_limit` is true.
:rtype: UploadApiRateLimitValue
"""
if not self.is_upload_api_rate_limit():
raise AttributeError("tag 'upload_api_rate_limit' not set")
return self._value
def get_has_team_shared_dropbox(self):
"""
Only call this if :meth:`is_has_team_shared_dropbox` is true.
:rtype: HasTeamSharedDropboxValue
"""
if not self.is_has_team_shared_dropbox():
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(bb.Struct):
"""
:ivar team.FeaturesGetValuesBatchArg.features: A list of features in
:class:`Feature`. If the list is empty, this route will return
:class:`FeaturesGetValuesBatchError`.
"""
__slots__ = [
'_features_value',
'_features_present',
]
_has_required_fields = True
def __init__(self,
features=None):
self._features_value = None
self._features_present = False
if features is not None:
self.features = features
@property
def features(self):
"""
A list of features in :class:`Feature`. If the list is empty, this route
will return :class:`FeaturesGetValuesBatchError`.
:rtype: list of [Feature]
"""
if self._features_present:
return self._features_value
else:
raise AttributeError("missing required field 'features'")
@features.setter
def features(self, val):
val = self._features_validator.validate(val)
self._features_value = val
self._features_present = True
@features.deleter
def features(self):
self._features_value = None
self._features_present = False
def _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,
)
FeaturesGetValuesBatchArg_validator = bv.Struct(FeaturesGetValuesBatchArg)
class FeaturesGetValuesBatchError(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar team.FeaturesGetValuesBatchError.empty_features_list: At least one
:class:`Feature` must be included in the
:class:`FeaturesGetValuesBatchArg`.features list.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
empty_features_list = None
# Attribute is overwritten below the class definition
other = None
def is_empty_features_list(self):
"""
Check if the union tag is ``empty_features_list``.
:rtype: bool
"""
return self._tag == 'empty_features_list'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
__slots__ = [
'_values_value',
'_values_present',
]
_has_required_fields = True
def __init__(self,
values=None):
self._values_value = None
self._values_present = False
if values is not None:
self.values = values
@property
def values(self):
"""
:rtype: list of [FeatureValue]
"""
if self._values_present:
return self._values_value
else:
raise AttributeError("missing required field 'values'")
@values.setter
def values(self, val):
val = self._values_validator.validate(val)
self._values_value = val
self._values_present = True
@values.deleter
def values(self):
self._values_value = None
self._values_present = False
def _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,
)
FeaturesGetValuesBatchResult_validator = bv.Struct(FeaturesGetValuesBatchResult)
class GetActivityReport(BaseDfbReport):
"""
Activity Report Result. Each of the items in the storage report is an array
of values, one value per day. If there is no data for a day, then the value
will be None.
: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__ = [
'_adds_value',
'_adds_present',
'_edits_value',
'_edits_present',
'_deletes_value',
'_deletes_present',
'_active_users_28_day_value',
'_active_users_28_day_present',
'_active_users_7_day_value',
'_active_users_7_day_present',
'_active_users_1_day_value',
'_active_users_1_day_present',
'_active_shared_folders_28_day_value',
'_active_shared_folders_28_day_present',
'_active_shared_folders_7_day_value',
'_active_shared_folders_7_day_present',
'_active_shared_folders_1_day_value',
'_active_shared_folders_1_day_present',
'_shared_links_created_value',
'_shared_links_created_present',
'_shared_links_viewed_by_team_value',
'_shared_links_viewed_by_team_present',
'_shared_links_viewed_by_outside_user_value',
'_shared_links_viewed_by_outside_user_present',
'_shared_links_viewed_by_not_logged_in_value',
'_shared_links_viewed_by_not_logged_in_present',
'_shared_links_viewed_total_value',
'_shared_links_viewed_total_present',
]
_has_required_fields = True
def __init__(self,
start_date=None,
adds=None,
edits=None,
deletes=None,
active_users_28_day=None,
active_users_7_day=None,
active_users_1_day=None,
active_shared_folders_28_day=None,
active_shared_folders_7_day=None,
active_shared_folders_1_day=None,
shared_links_created=None,
shared_links_viewed_by_team=None,
shared_links_viewed_by_outside_user=None,
shared_links_viewed_by_not_logged_in=None,
shared_links_viewed_total=None):
super(GetActivityReport, self).__init__(start_date)
self._adds_value = None
self._adds_present = False
self._edits_value = None
self._edits_present = False
self._deletes_value = None
self._deletes_present = False
self._active_users_28_day_value = None
self._active_users_28_day_present = False
self._active_users_7_day_value = None
self._active_users_7_day_present = False
self._active_users_1_day_value = None
self._active_users_1_day_present = False
self._active_shared_folders_28_day_value = None
self._active_shared_folders_28_day_present = False
self._active_shared_folders_7_day_value = None
self._active_shared_folders_7_day_present = False
self._active_shared_folders_1_day_value = None
self._active_shared_folders_1_day_present = False
self._shared_links_created_value = None
self._shared_links_created_present = False
self._shared_links_viewed_by_team_value = None
self._shared_links_viewed_by_team_present = False
self._shared_links_viewed_by_outside_user_value = None
self._shared_links_viewed_by_outside_user_present = False
self._shared_links_viewed_by_not_logged_in_value = None
self._shared_links_viewed_by_not_logged_in_present = False
self._shared_links_viewed_total_value = None
self._shared_links_viewed_total_present = False
if adds is not None:
self.adds = adds
if edits is not None:
self.edits = edits
if deletes is not None:
self.deletes = deletes
if active_users_28_day is not None:
self.active_users_28_day = active_users_28_day
if active_users_7_day is not None:
self.active_users_7_day = active_users_7_day
if active_users_1_day is not None:
self.active_users_1_day = active_users_1_day
if active_shared_folders_28_day is not None:
self.active_shared_folders_28_day = active_shared_folders_28_day
if active_shared_folders_7_day is not None:
self.active_shared_folders_7_day = active_shared_folders_7_day
if active_shared_folders_1_day is not None:
self.active_shared_folders_1_day = active_shared_folders_1_day
if shared_links_created is not None:
self.shared_links_created = shared_links_created
if shared_links_viewed_by_team is not None:
self.shared_links_viewed_by_team = shared_links_viewed_by_team
if shared_links_viewed_by_outside_user is not None:
self.shared_links_viewed_by_outside_user = shared_links_viewed_by_outside_user
if shared_links_viewed_by_not_logged_in is not None:
self.shared_links_viewed_by_not_logged_in = shared_links_viewed_by_not_logged_in
if shared_links_viewed_total is not None:
self.shared_links_viewed_total = shared_links_viewed_total
@property
def adds(self):
"""
Array of total number of adds by team members.
:rtype: list of [Optional[int]]
"""
if self._adds_present:
return self._adds_value
else:
raise AttributeError("missing required field 'adds'")
@adds.setter
def adds(self, val):
val = self._adds_validator.validate(val)
self._adds_value = val
self._adds_present = True
@adds.deleter
def adds(self):
self._adds_value = None
self._adds_present = False
@property
def edits(self):
"""
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[int]]
"""
if self._edits_present:
return self._edits_value
else:
raise AttributeError("missing required field 'edits'")
@edits.setter
def edits(self, val):
val = self._edits_validator.validate(val)
self._edits_value = val
self._edits_present = True
@edits.deleter
def edits(self):
self._edits_value = None
self._edits_present = False
@property
def deletes(self):
"""
Array of total number of deletes by team members.
:rtype: list of [Optional[int]]
"""
if self._deletes_present:
return self._deletes_value
else:
raise AttributeError("missing required field 'deletes'")
@deletes.setter
def deletes(self, val):
val = self._deletes_validator.validate(val)
self._deletes_value = val
self._deletes_present = True
@deletes.deleter
def deletes(self):
self._deletes_value = None
self._deletes_present = False
@property
def active_users_28_day(self):
"""
Array of the number of users who have been active in the last 28 days.
:rtype: list of [Optional[int]]
"""
if self._active_users_28_day_present:
return self._active_users_28_day_value
else:
raise AttributeError("missing required field 'active_users_28_day'")
@active_users_28_day.setter
def active_users_28_day(self, val):
val = self._active_users_28_day_validator.validate(val)
self._active_users_28_day_value = val
self._active_users_28_day_present = True
@active_users_28_day.deleter
def active_users_28_day(self):
self._active_users_28_day_value = None
self._active_users_28_day_present = False
@property
def active_users_7_day(self):
"""
Array of the number of users who have been active in the last week.
:rtype: list of [Optional[int]]
"""
if self._active_users_7_day_present:
return self._active_users_7_day_value
else:
raise AttributeError("missing required field 'active_users_7_day'")
@active_users_7_day.setter
def active_users_7_day(self, val):
val = self._active_users_7_day_validator.validate(val)
self._active_users_7_day_value = val
self._active_users_7_day_present = True
@active_users_7_day.deleter
def active_users_7_day(self):
self._active_users_7_day_value = None
self._active_users_7_day_present = False
@property
def active_users_1_day(self):
"""
Array of the number of users who have been active in the last day.
:rtype: list of [Optional[int]]
"""
if self._active_users_1_day_present:
return self._active_users_1_day_value
else:
raise AttributeError("missing required field 'active_users_1_day'")
@active_users_1_day.setter
def active_users_1_day(self, val):
val = self._active_users_1_day_validator.validate(val)
self._active_users_1_day_value = val
self._active_users_1_day_present = True
@active_users_1_day.deleter
def active_users_1_day(self):
self._active_users_1_day_value = None
self._active_users_1_day_present = False
@property
def active_shared_folders_28_day(self):
"""
Array of the number of shared folders with some activity in the last 28
days.
:rtype: list of [Optional[int]]
"""
if self._active_shared_folders_28_day_present:
return self._active_shared_folders_28_day_value
else:
raise AttributeError("missing required field 'active_shared_folders_28_day'")
@active_shared_folders_28_day.setter
def active_shared_folders_28_day(self, val):
val = self._active_shared_folders_28_day_validator.validate(val)
self._active_shared_folders_28_day_value = val
self._active_shared_folders_28_day_present = True
@active_shared_folders_28_day.deleter
def active_shared_folders_28_day(self):
self._active_shared_folders_28_day_value = None
self._active_shared_folders_28_day_present = False
@property
def active_shared_folders_7_day(self):
"""
Array of the number of shared folders with some activity in the last
week.
:rtype: list of [Optional[int]]
"""
if self._active_shared_folders_7_day_present:
return self._active_shared_folders_7_day_value
else:
raise AttributeError("missing required field 'active_shared_folders_7_day'")
@active_shared_folders_7_day.setter
def active_shared_folders_7_day(self, val):
val = self._active_shared_folders_7_day_validator.validate(val)
self._active_shared_folders_7_day_value = val
self._active_shared_folders_7_day_present = True
@active_shared_folders_7_day.deleter
def active_shared_folders_7_day(self):
self._active_shared_folders_7_day_value = None
self._active_shared_folders_7_day_present = False
@property
def active_shared_folders_1_day(self):
"""
Array of the number of shared folders with some activity in the last
day.
:rtype: list of [Optional[int]]
"""
if self._active_shared_folders_1_day_present:
return self._active_shared_folders_1_day_value
else:
raise AttributeError("missing required field 'active_shared_folders_1_day'")
@active_shared_folders_1_day.setter
def active_shared_folders_1_day(self, val):
val = self._active_shared_folders_1_day_validator.validate(val)
self._active_shared_folders_1_day_value = val
self._active_shared_folders_1_day_present = True
@active_shared_folders_1_day.deleter
def active_shared_folders_1_day(self):
self._active_shared_folders_1_day_value = None
self._active_shared_folders_1_day_present = False
@property
def shared_links_created(self):
"""
Array of the number of shared links created.
:rtype: list of [Optional[int]]
"""
if self._shared_links_created_present:
return self._shared_links_created_value
else:
raise AttributeError("missing required field 'shared_links_created'")
@shared_links_created.setter
def shared_links_created(self, val):
val = self._shared_links_created_validator.validate(val)
self._shared_links_created_value = val
self._shared_links_created_present = True
@shared_links_created.deleter
def shared_links_created(self):
self._shared_links_created_value = None
self._shared_links_created_present = False
@property
def shared_links_viewed_by_team(self):
"""
Array of the number of views by team users to shared links created by
the team.
:rtype: list of [Optional[int]]
"""
if self._shared_links_viewed_by_team_present:
return self._shared_links_viewed_by_team_value
else:
raise AttributeError("missing required field 'shared_links_viewed_by_team'")
@shared_links_viewed_by_team.setter
def shared_links_viewed_by_team(self, val):
val = self._shared_links_viewed_by_team_validator.validate(val)
self._shared_links_viewed_by_team_value = val
self._shared_links_viewed_by_team_present = True
@shared_links_viewed_by_team.deleter
def shared_links_viewed_by_team(self):
self._shared_links_viewed_by_team_value = None
self._shared_links_viewed_by_team_present = False
@property
def shared_links_viewed_by_outside_user(self):
"""
Array of the number of views by users outside of the team to shared
links created by the team.
:rtype: list of [Optional[int]]
"""
if self._shared_links_viewed_by_outside_user_present:
return self._shared_links_viewed_by_outside_user_value
else:
raise AttributeError("missing required field 'shared_links_viewed_by_outside_user'")
@shared_links_viewed_by_outside_user.setter
def shared_links_viewed_by_outside_user(self, val):
val = self._shared_links_viewed_by_outside_user_validator.validate(val)
self._shared_links_viewed_by_outside_user_value = val
self._shared_links_viewed_by_outside_user_present = True
@shared_links_viewed_by_outside_user.deleter
def shared_links_viewed_by_outside_user(self):
self._shared_links_viewed_by_outside_user_value = None
self._shared_links_viewed_by_outside_user_present = False
@property
def shared_links_viewed_by_not_logged_in(self):
"""
Array of the number of views by non-logged-in users to shared links
created by the team.
: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
else:
raise AttributeError("missing required field 'shared_links_viewed_by_not_logged_in'")
@shared_links_viewed_by_not_logged_in.setter
def shared_links_viewed_by_not_logged_in(self, val):
val = self._shared_links_viewed_by_not_logged_in_validator.validate(val)
self._shared_links_viewed_by_not_logged_in_value = val
self._shared_links_viewed_by_not_logged_in_present = True
@shared_links_viewed_by_not_logged_in.deleter
def shared_links_viewed_by_not_logged_in(self):
self._shared_links_viewed_by_not_logged_in_value = None
self._shared_links_viewed_by_not_logged_in_present = False
@property
def shared_links_viewed_total(self):
"""
Array of the total number of views to shared links created by the team.
:rtype: list of [Optional[int]]
"""
if self._shared_links_viewed_total_present:
return self._shared_links_viewed_total_value
else:
raise AttributeError("missing required field 'shared_links_viewed_total'")
@shared_links_viewed_total.setter
def shared_links_viewed_total(self, val):
val = self._shared_links_viewed_total_validator.validate(val)
self._shared_links_viewed_total_value = val
self._shared_links_viewed_total_present = True
@shared_links_viewed_total.deleter
def shared_links_viewed_total(self):
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,
self._adds_value,
self._edits_value,
self._deletes_value,
self._active_users_28_day_value,
self._active_users_7_day_value,
self._active_users_1_day_value,
self._active_shared_folders_28_day_value,
self._active_shared_folders_7_day_value,
self._active_shared_folders_1_day_value,
self._shared_links_created_value,
self._shared_links_viewed_by_team_value,
self._shared_links_viewed_by_outside_user_value,
self._shared_links_viewed_by_not_logged_in_value,
self._shared_links_viewed_total_value,
)
GetActivityReport_validator = bv.Struct(GetActivityReport)
class GetDevicesReport(BaseDfbReport):
"""
Devices Report Result. Contains subsections for different time ranges of
activity. Each of the items in each subsection of the storage report is an
array of values, one value per day. If there is no data for a day, then the
value will be None.
: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__ = [
'_active_1_day_value',
'_active_1_day_present',
'_active_7_day_value',
'_active_7_day_present',
'_active_28_day_value',
'_active_28_day_present',
]
_has_required_fields = True
def __init__(self,
start_date=None,
active_1_day=None,
active_7_day=None,
active_28_day=None):
super(GetDevicesReport, self).__init__(start_date)
self._active_1_day_value = None
self._active_1_day_present = False
self._active_7_day_value = None
self._active_7_day_present = False
self._active_28_day_value = None
self._active_28_day_present = False
if active_1_day is not None:
self.active_1_day = active_1_day
if active_7_day is not None:
self.active_7_day = active_7_day
if active_28_day is not None:
self.active_28_day = active_28_day
@property
def active_1_day(self):
"""
Report of the number of devices active in the last day.
:rtype: DevicesActive
"""
if self._active_1_day_present:
return self._active_1_day_value
else:
raise AttributeError("missing required field 'active_1_day'")
@active_1_day.setter
def active_1_day(self, val):
self._active_1_day_validator.validate_type_only(val)
self._active_1_day_value = val
self._active_1_day_present = True
@active_1_day.deleter
def active_1_day(self):
self._active_1_day_value = None
self._active_1_day_present = False
@property
def active_7_day(self):
"""
Report of the number of devices active in the last 7 days.
:rtype: DevicesActive
"""
if self._active_7_day_present:
return self._active_7_day_value
else:
raise AttributeError("missing required field 'active_7_day'")
@active_7_day.setter
def active_7_day(self, val):
self._active_7_day_validator.validate_type_only(val)
self._active_7_day_value = val
self._active_7_day_present = True
@active_7_day.deleter
def active_7_day(self):
self._active_7_day_value = None
self._active_7_day_present = False
@property
def active_28_day(self):
"""
Report of the number of devices active in the last 28 days.
:rtype: DevicesActive
"""
if self._active_28_day_present:
return self._active_28_day_value
else:
raise AttributeError("missing required field 'active_28_day'")
@active_28_day.setter
def active_28_day(self, val):
self._active_28_day_validator.validate_type_only(val)
self._active_28_day_value = val
self._active_28_day_present = True
@active_28_day.deleter
def active_28_day(self):
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,
self._active_1_day_value,
self._active_7_day_value,
self._active_28_day_value,
)
GetDevicesReport_validator = bv.Struct(GetDevicesReport)
class GetMembershipReport(BaseDfbReport):
"""
Membership Report Result. Each of the items in the storage report is an
array of values, one value per day. If there is no data for a day, then the
value will be None.
: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__ = [
'_team_size_value',
'_team_size_present',
'_pending_invites_value',
'_pending_invites_present',
'_members_joined_value',
'_members_joined_present',
'_suspended_members_value',
'_suspended_members_present',
'_licenses_value',
'_licenses_present',
]
_has_required_fields = True
def __init__(self,
start_date=None,
team_size=None,
pending_invites=None,
members_joined=None,
suspended_members=None,
licenses=None):
super(GetMembershipReport, self).__init__(start_date)
self._team_size_value = None
self._team_size_present = False
self._pending_invites_value = None
self._pending_invites_present = False
self._members_joined_value = None
self._members_joined_present = False
self._suspended_members_value = None
self._suspended_members_present = False
self._licenses_value = None
self._licenses_present = False
if team_size is not None:
self.team_size = team_size
if pending_invites is not None:
self.pending_invites = pending_invites
if members_joined is not None:
self.members_joined = members_joined
if suspended_members is not None:
self.suspended_members = suspended_members
if licenses is not None:
self.licenses = licenses
@property
def team_size(self):
"""
Team size, for each day.
:rtype: list of [Optional[int]]
"""
if self._team_size_present:
return self._team_size_value
else:
raise AttributeError("missing required field 'team_size'")
@team_size.setter
def team_size(self, val):
val = self._team_size_validator.validate(val)
self._team_size_value = val
self._team_size_present = True
@team_size.deleter
def team_size(self):
self._team_size_value = None
self._team_size_present = False
@property
def pending_invites(self):
"""
The number of pending invites to the team, for each day.
:rtype: list of [Optional[int]]
"""
if self._pending_invites_present:
return self._pending_invites_value
else:
raise AttributeError("missing required field 'pending_invites'")
@pending_invites.setter
def pending_invites(self, val):
val = self._pending_invites_validator.validate(val)
self._pending_invites_value = val
self._pending_invites_present = True
@pending_invites.deleter
def pending_invites(self):
self._pending_invites_value = None
self._pending_invites_present = False
@property
def members_joined(self):
"""
The number of members that joined the team, for each day.
:rtype: list of [Optional[int]]
"""
if self._members_joined_present:
return self._members_joined_value
else:
raise AttributeError("missing required field 'members_joined'")
@members_joined.setter
def members_joined(self, val):
val = self._members_joined_validator.validate(val)
self._members_joined_value = val
self._members_joined_present = True
@members_joined.deleter
def members_joined(self):
self._members_joined_value = None
self._members_joined_present = False
@property
def suspended_members(self):
"""
The number of suspended team members, for each day.
:rtype: list of [Optional[int]]
"""
if self._suspended_members_present:
return self._suspended_members_value
else:
raise AttributeError("missing required field 'suspended_members'")
@suspended_members.setter
def suspended_members(self, val):
val = self._suspended_members_validator.validate(val)
self._suspended_members_value = val
self._suspended_members_present = True
@suspended_members.deleter
def suspended_members(self):
self._suspended_members_value = None
self._suspended_members_present = False
@property
def licenses(self):
"""
The total number of licenses the team has, for each day.
:rtype: list of [Optional[int]]
"""
if self._licenses_present:
return self._licenses_value
else:
raise AttributeError("missing required field 'licenses'")
@licenses.setter
def licenses(self, val):
val = self._licenses_validator.validate(val)
self._licenses_value = val
self._licenses_present = True
@licenses.deleter
def licenses(self):
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,
self._team_size_value,
self._pending_invites_value,
self._members_joined_value,
self._suspended_members_value,
self._licenses_value,
)
GetMembershipReport_validator = bv.Struct(GetMembershipReport)
class GetStorageReport(BaseDfbReport):
"""
Storage Report Result. Each of the items in the storage report is an array
of values, one value per day. If there is no data for a day, then the value
will be None.
: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__ = [
'_total_usage_value',
'_total_usage_present',
'_shared_usage_value',
'_shared_usage_present',
'_unshared_usage_value',
'_unshared_usage_present',
'_shared_folders_value',
'_shared_folders_present',
'_member_storage_map_value',
'_member_storage_map_present',
]
_has_required_fields = True
def __init__(self,
start_date=None,
total_usage=None,
shared_usage=None,
unshared_usage=None,
shared_folders=None,
member_storage_map=None):
super(GetStorageReport, self).__init__(start_date)
self._total_usage_value = None
self._total_usage_present = False
self._shared_usage_value = None
self._shared_usage_present = False
self._unshared_usage_value = None
self._unshared_usage_present = False
self._shared_folders_value = None
self._shared_folders_present = False
self._member_storage_map_value = None
self._member_storage_map_present = False
if total_usage is not None:
self.total_usage = total_usage
if shared_usage is not None:
self.shared_usage = shared_usage
if unshared_usage is not None:
self.unshared_usage = unshared_usage
if shared_folders is not None:
self.shared_folders = shared_folders
if member_storage_map is not None:
self.member_storage_map = member_storage_map
@property
def total_usage(self):
"""
Sum of the shared, unshared, and datastore usages, for each day.
:rtype: list of [Optional[int]]
"""
if self._total_usage_present:
return self._total_usage_value
else:
raise AttributeError("missing required field 'total_usage'")
@total_usage.setter
def total_usage(self, val):
val = self._total_usage_validator.validate(val)
self._total_usage_value = val
self._total_usage_present = True
@total_usage.deleter
def total_usage(self):
self._total_usage_value = None
self._total_usage_present = False
@property
def shared_usage(self):
"""
Array of the combined size (bytes) of team members' shared folders, for
each day.
:rtype: list of [Optional[int]]
"""
if self._shared_usage_present:
return self._shared_usage_value
else:
raise AttributeError("missing required field 'shared_usage'")
@shared_usage.setter
def shared_usage(self, val):
val = self._shared_usage_validator.validate(val)
self._shared_usage_value = val
self._shared_usage_present = True
@shared_usage.deleter
def shared_usage(self):
self._shared_usage_value = None
self._shared_usage_present = False
@property
def unshared_usage(self):
"""
Array of the combined size (bytes) of team members' root namespaces, for
each day.
:rtype: list of [Optional[int]]
"""
if self._unshared_usage_present:
return self._unshared_usage_value
else:
raise AttributeError("missing required field 'unshared_usage'")
@unshared_usage.setter
def unshared_usage(self, val):
val = self._unshared_usage_validator.validate(val)
self._unshared_usage_value = val
self._unshared_usage_present = True
@unshared_usage.deleter
def unshared_usage(self):
self._unshared_usage_value = None
self._unshared_usage_present = False
@property
def shared_folders(self):
"""
Array of the number of shared folders owned by team members, for each
day.
:rtype: list of [Optional[int]]
"""
if self._shared_folders_present:
return self._shared_folders_value
else:
raise AttributeError("missing required field 'shared_folders'")
@shared_folders.setter
def shared_folders(self, val):
val = self._shared_folders_validator.validate(val)
self._shared_folders_value = val
self._shared_folders_present = True
@shared_folders.deleter
def shared_folders(self):
self._shared_folders_value = None
self._shared_folders_present = False
@property
def member_storage_map(self):
"""
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.
:rtype: list of [list of [StorageBucket]]
"""
if self._member_storage_map_present:
return self._member_storage_map_value
else:
raise AttributeError("missing required field 'member_storage_map'")
@member_storage_map.setter
def member_storage_map(self, val):
val = self._member_storage_map_validator.validate(val)
self._member_storage_map_value = val
self._member_storage_map_present = True
@member_storage_map.deleter
def member_storage_map(self):
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,
self._total_usage_value,
self._shared_usage_value,
self._unshared_usage_value,
self._shared_folders_value,
self._member_storage_map_value,
)
GetStorageReport_validator = bv.Struct(GetStorageReport)
class GroupAccessType(bb.Union):
"""
Role of a user in group.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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
# Attribute is overwritten below the class definition
member = None
# Attribute is overwritten below the class definition
owner = None
def is_member(self):
"""
Check if the union tag is ``member``.
:rtype: bool
"""
return self._tag == 'member'
def is_owner(self):
"""
Check if the union tag is ``owner``.
:rtype: bool
"""
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(bb.Struct):
"""
: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__ = [
'_group_name_value',
'_group_name_present',
'_group_external_id_value',
'_group_external_id_present',
'_group_management_type_value',
'_group_management_type_present',
]
_has_required_fields = True
def __init__(self,
group_name=None,
group_external_id=None,
group_management_type=None):
self._group_name_value = None
self._group_name_present = False
self._group_external_id_value = None
self._group_external_id_present = False
self._group_management_type_value = None
self._group_management_type_present = False
if group_name is not None:
self.group_name = group_name
if group_external_id is not None:
self.group_external_id = group_external_id
if group_management_type is not None:
self.group_management_type = group_management_type
@property
def group_name(self):
"""
Group name.
:rtype: str
"""
if self._group_name_present:
return self._group_name_value
else:
raise AttributeError("missing required field 'group_name'")
@group_name.setter
def group_name(self, val):
val = self._group_name_validator.validate(val)
self._group_name_value = val
self._group_name_present = True
@group_name.deleter
def group_name(self):
self._group_name_value = None
self._group_name_present = False
@property
def group_external_id(self):
"""
The creator of a team can associate an arbitrary external ID to the
group.
:rtype: str
"""
if self._group_external_id_present:
return self._group_external_id_value
else:
return None
@group_external_id.setter
def group_external_id(self, val):
if val is None:
del self.group_external_id
return
val = self._group_external_id_validator.validate(val)
self._group_external_id_value = val
self._group_external_id_present = True
@group_external_id.deleter
def group_external_id(self):
self._group_external_id_value = None
self._group_external_id_present = False
@property
def group_management_type(self):
"""
Whether the team can be managed by selected users, or only by team
admins.
:rtype: team_common.GroupManagementType
"""
if self._group_management_type_present:
return self._group_management_type_value
else:
return None
@group_management_type.setter
def group_management_type(self, val):
if val is None:
del self.group_management_type
return
self._group_management_type_validator.validate_type_only(val)
self._group_management_type_value = val
self._group_management_type_present = True
@group_management_type.deleter
def group_management_type(self):
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,
self._group_external_id_value,
self._group_management_type_value,
)
GroupCreateArg_validator = bv.Struct(GroupCreateArg)
class GroupCreateError(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.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'
# Attribute is overwritten below the class definition
group_name_already_used = None
# Attribute is overwritten below the class definition
group_name_invalid = None
# Attribute is overwritten below the class definition
external_id_already_in_use = None
# Attribute is overwritten below the class definition
system_managed_group_disallowed = None
# Attribute is overwritten below the class definition
other = None
def is_group_name_already_used(self):
"""
Check if the union tag is ``group_name_already_used``.
:rtype: bool
"""
return self._tag == 'group_name_already_used'
def is_group_name_invalid(self):
"""
Check if the union tag is ``group_name_invalid``.
:rtype: bool
"""
return self._tag == 'group_name_invalid'
def is_external_id_already_in_use(self):
"""
Check if the union tag is ``external_id_already_in_use``.
:rtype: bool
"""
return self._tag == 'external_id_already_in_use'
def is_system_managed_group_disallowed(self):
"""
Check if the union tag is ``system_managed_group_disallowed``.
:rtype: bool
"""
return self._tag == 'system_managed_group_disallowed'
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(GroupCreateError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupCreateError(%r, %r)' % (self._tag, self._value)
GroupCreateError_validator = bv.Union(GroupCreateError)
class GroupSelectorError(bb.Union):
"""
Error that can be raised when :class:`GroupSelector` is used.
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.GroupSelectorError.group_not_found: No matching group found. No
groups match the specified group ID.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
group_not_found = None
# Attribute is overwritten below the class definition
other = None
def is_group_not_found(self):
"""
Check if the union tag is ``group_not_found``.
:rtype: bool
"""
return self._tag == 'group_not_found'
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(GroupSelectorError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupSelectorError(%r, %r)' % (self._tag, self._value)
GroupSelectorError_validator = bv.Union(GroupSelectorError)
class GroupSelectorWithTeamGroupError(GroupSelectorError):
"""
Error that can be raised when :class:`GroupSelector` is used and team groups
are disallowed from being used.
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.GroupSelectorWithTeamGroupError.system_managed_group_disallowed:
This operation is not supported on system-managed groups.
"""
# Attribute is overwritten below the class definition
system_managed_group_disallowed = None
def is_system_managed_group_disallowed(self):
"""
Check if the union tag is ``system_managed_group_disallowed``.
:rtype: bool
"""
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)
GroupSelectorWithTeamGroupError_validator = bv.Union(GroupSelectorWithTeamGroupError)
class GroupDeleteError(GroupSelectorWithTeamGroupError):
"""
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.GroupDeleteError.group_already_deleted: This group has already
been deleted.
"""
# Attribute is overwritten below the class definition
group_already_deleted = None
def is_group_already_deleted(self):
"""
Check if the union tag is ``group_already_deleted``.
:rtype: bool
"""
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)
GroupDeleteError_validator = bv.Union(GroupDeleteError)
class GroupFullInfo(team_common.GroupSummary):
"""
Full description of a group.
: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__ = [
'_members_value',
'_members_present',
'_created_value',
'_created_present',
]
_has_required_fields = True
def __init__(self,
group_name=None,
group_id=None,
group_management_type=None,
created=None,
group_external_id=None,
member_count=None,
members=None):
super(GroupFullInfo, self).__init__(group_name,
group_id,
group_management_type,
group_external_id,
member_count)
self._members_value = None
self._members_present = False
self._created_value = None
self._created_present = False
if members is not None:
self.members = members
if created is not None:
self.created = created
@property
def members(self):
"""
List of group members.
:rtype: list of [GroupMemberInfo]
"""
if self._members_present:
return self._members_value
else:
return None
@members.setter
def members(self, val):
if val is None:
del self.members
return
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
self._members_value = None
self._members_present = False
@property
def created(self):
"""
The group creation time as a UTC timestamp in milliseconds since the
Unix epoch.
:rtype: int
"""
if self._created_present:
return self._created_value
else:
raise AttributeError("missing required field 'created'")
@created.setter
def created(self, val):
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
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,
self._group_id_value,
self._group_management_type_value,
self._created_value,
self._group_external_id_value,
self._member_count_value,
self._members_value,
)
GroupFullInfo_validator = bv.Struct(GroupFullInfo)
class GroupMemberInfo(bb.Struct):
"""
Profile of group member, and role in group.
:ivar team.GroupMemberInfo.profile: Profile of group member.
:ivar team.GroupMemberInfo.access_type: The role that the user has in the
group.
"""
__slots__ = [
'_profile_value',
'_profile_present',
'_access_type_value',
'_access_type_present',
]
_has_required_fields = True
def __init__(self,
profile=None,
access_type=None):
self._profile_value = None
self._profile_present = False
self._access_type_value = None
self._access_type_present = False
if profile is not None:
self.profile = profile
if access_type is not None:
self.access_type = access_type
@property
def profile(self):
"""
Profile of group member.
:rtype: MemberProfile
"""
if self._profile_present:
return self._profile_value
else:
raise AttributeError("missing required field 'profile'")
@profile.setter
def profile(self, val):
self._profile_validator.validate_type_only(val)
self._profile_value = val
self._profile_present = True
@profile.deleter
def profile(self):
self._profile_value = None
self._profile_present = False
@property
def access_type(self):
"""
The role that the user has in the group.
:rtype: GroupAccessType
"""
if self._access_type_present:
return self._access_type_value
else:
raise AttributeError("missing required field 'access_type'")
@access_type.setter
def access_type(self, val):
self._access_type_validator.validate_type_only(val)
self._access_type_value = val
self._access_type_present = True
@access_type.deleter
def access_type(self):
self._access_type_value = None
self._access_type_present = False
def _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,
self._access_type_value,
)
GroupMemberInfo_validator = bv.Struct(GroupMemberInfo)
class GroupMemberSelector(bb.Struct):
"""
Argument for selecting a group and a single user.
:ivar team.GroupMemberSelector.group: Specify a group.
:ivar team.GroupMemberSelector.user: Identity of a user that is a member of
``group``.
"""
__slots__ = [
'_group_value',
'_group_present',
'_user_value',
'_user_present',
]
_has_required_fields = True
def __init__(self,
group=None,
user=None):
self._group_value = None
self._group_present = False
self._user_value = None
self._user_present = False
if group is not None:
self.group = group
if user is not None:
self.user = user
@property
def group(self):
"""
Specify a group.
:rtype: GroupSelector
"""
if self._group_present:
return self._group_value
else:
raise AttributeError("missing required field 'group'")
@group.setter
def group(self, val):
self._group_validator.validate_type_only(val)
self._group_value = val
self._group_present = True
@group.deleter
def group(self):
self._group_value = None
self._group_present = False
@property
def user(self):
"""
Identity of a user that is a member of ``group``.
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
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,
self._user_value,
)
GroupMemberSelector_validator = bv.Struct(GroupMemberSelector)
class GroupMemberSelectorError(GroupSelectorWithTeamGroupError):
"""
Error that can be raised when :class:`GroupMemberSelector` is used, and the
user is required to be a member of the specified group.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar team.GroupMemberSelectorError.member_not_in_group: The specified user
is not a member of this group.
"""
# Attribute is overwritten below the class definition
member_not_in_group = None
def is_member_not_in_group(self):
"""
Check if the union tag is ``member_not_in_group``.
:rtype: bool
"""
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)
GroupMemberSelectorError_validator = bv.Union(GroupMemberSelectorError)
class GroupMemberSetAccessTypeError(GroupMemberSelectorError):
"""
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.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
user_cannot_be_manager_of_company_managed_group = None
def is_user_cannot_be_manager_of_company_managed_group(self):
"""
Check if the union tag is ``user_cannot_be_manager_of_company_managed_group``.
:rtype: bool
"""
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(bb.Struct):
"""
: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__ = [
'_return_members_value',
'_return_members_present',
]
_has_required_fields = False
def __init__(self,
return_members=None):
self._return_members_value = None
self._return_members_present = False
if return_members is not None:
self.return_members = return_members
@property
def return_members(self):
"""
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.
:rtype: bool
"""
if self._return_members_present:
return self._return_members_value
else:
return True
@return_members.setter
def return_members(self, val):
val = self._return_members_validator.validate(val)
self._return_members_value = val
self._return_members_present = True
@return_members.deleter
def return_members(self):
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,
)
IncludeMembersArg_validator = bv.Struct(IncludeMembersArg)
class GroupMembersAddArg(IncludeMembersArg):
"""
: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__ = [
'_group_value',
'_group_present',
'_members_value',
'_members_present',
]
_has_required_fields = True
def __init__(self,
group=None,
members=None,
return_members=None):
super(GroupMembersAddArg, self).__init__(return_members)
self._group_value = None
self._group_present = False
self._members_value = None
self._members_present = False
if group is not None:
self.group = group
if members is not None:
self.members = members
@property
def group(self):
"""
Group to which users will be added.
:rtype: GroupSelector
"""
if self._group_present:
return self._group_value
else:
raise AttributeError("missing required field 'group'")
@group.setter
def group(self, val):
self._group_validator.validate_type_only(val)
self._group_value = val
self._group_present = True
@group.deleter
def group(self):
self._group_value = None
self._group_present = False
@property
def members(self):
"""
List of users to be added to the group.
:rtype: list of [MemberAccess]
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
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,
self._members_value,
self._return_members_value,
)
GroupMembersAddArg_validator = bv.Struct(GroupMembersAddArg)
class GroupMembersAddError(GroupSelectorWithTeamGroupError):
"""
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.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
duplicate_user = None
# Attribute is overwritten below the class definition
group_not_in_team = None
# Attribute is overwritten below the class definition
user_must_be_active_to_be_owner = None
@classmethod
def members_not_in_team(cls, val):
"""
Create an instance of this class set to the ``members_not_in_team`` tag
with value ``val``.
:param list of [str] val:
:rtype: GroupMembersAddError
"""
return cls('members_not_in_team', val)
@classmethod
def users_not_found(cls, val):
"""
Create an instance of this class set to the ``users_not_found`` tag with
value ``val``.
:param list of [str] val:
:rtype: GroupMembersAddError
"""
return cls('users_not_found', val)
@classmethod
def user_cannot_be_manager_of_company_managed_group(cls, val):
"""
Create an instance of this class set to the
``user_cannot_be_manager_of_company_managed_group`` tag with value
``val``.
:param list of [str] val:
:rtype: GroupMembersAddError
"""
return cls('user_cannot_be_manager_of_company_managed_group', val)
def is_duplicate_user(self):
"""
Check if the union tag is ``duplicate_user``.
:rtype: bool
"""
return self._tag == 'duplicate_user'
def is_group_not_in_team(self):
"""
Check if the union tag is ``group_not_in_team``.
:rtype: bool
"""
return self._tag == 'group_not_in_team'
def is_members_not_in_team(self):
"""
Check if the union tag is ``members_not_in_team``.
:rtype: bool
"""
return self._tag == 'members_not_in_team'
def is_users_not_found(self):
"""
Check if the union tag is ``users_not_found``.
:rtype: bool
"""
return self._tag == 'users_not_found'
def is_user_must_be_active_to_be_owner(self):
"""
Check if the union tag is ``user_must_be_active_to_be_owner``.
:rtype: bool
"""
return self._tag == 'user_must_be_active_to_be_owner'
def is_user_cannot_be_manager_of_company_managed_group(self):
"""
Check if the union tag is ``user_cannot_be_manager_of_company_managed_group``.
:rtype: bool
"""
return self._tag == 'user_cannot_be_manager_of_company_managed_group'
def get_members_not_in_team(self):
"""
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 :meth:`dropbox.dropbox.Dropbox.team_members_add`
endpoint.
Only call this if :meth:`is_members_not_in_team` is true.
:rtype: list of [str]
"""
if not self.is_members_not_in_team():
raise AttributeError("tag 'members_not_in_team' not set")
return self._value
def get_users_not_found(self):
"""
These users were not found in Dropbox.
Only call this if :meth:`is_users_not_found` is true.
:rtype: list of [str]
"""
if not self.is_users_not_found():
raise AttributeError("tag 'users_not_found' not set")
return self._value
def get_user_cannot_be_manager_of_company_managed_group(self):
"""
A company-managed group cannot be managed by a user.
Only call this if :meth:`is_user_cannot_be_manager_of_company_managed_group` is true.
:rtype: list of [str]
"""
if not self.is_user_cannot_be_manager_of_company_managed_group():
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(bb.Struct):
"""
Result returned by :meth:`dropbox.dropbox.Dropbox.team_groups_members_add`
and :meth:`dropbox.dropbox.Dropbox.team_groups_members_remove`.
: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__ = [
'_group_info_value',
'_group_info_present',
'_async_job_id_value',
'_async_job_id_present',
]
_has_required_fields = True
def __init__(self,
group_info=None,
async_job_id=None):
self._group_info_value = None
self._group_info_present = False
self._async_job_id_value = None
self._async_job_id_present = False
if group_info is not None:
self.group_info = group_info
if async_job_id is not None:
self.async_job_id = async_job_id
@property
def group_info(self):
"""
The group info after member change operation has been performed.
:rtype: GroupFullInfo
"""
if self._group_info_present:
return self._group_info_value
else:
raise AttributeError("missing required field 'group_info'")
@group_info.setter
def group_info(self, val):
self._group_info_validator.validate_type_only(val)
self._group_info_value = val
self._group_info_present = True
@group_info.deleter
def group_info(self):
self._group_info_value = None
self._group_info_present = False
@property
def async_job_id(self):
"""
An ID that can be used to obtain the status of granting/revoking
group-owned resources.
: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(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,
self._async_job_id_value,
)
GroupMembersChangeResult_validator = bv.Struct(GroupMembersChangeResult)
class GroupMembersRemoveArg(IncludeMembersArg):
"""
: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__ = [
'_group_value',
'_group_present',
'_users_value',
'_users_present',
]
_has_required_fields = True
def __init__(self,
group=None,
users=None,
return_members=None):
super(GroupMembersRemoveArg, self).__init__(return_members)
self._group_value = None
self._group_present = False
self._users_value = None
self._users_present = False
if group is not None:
self.group = group
if users is not None:
self.users = users
@property
def group(self):
"""
Group from which users will be removed.
:rtype: GroupSelector
"""
if self._group_present:
return self._group_value
else:
raise AttributeError("missing required field 'group'")
@group.setter
def group(self, val):
self._group_validator.validate_type_only(val)
self._group_value = val
self._group_present = True
@group.deleter
def group(self):
self._group_value = None
self._group_present = False
@property
def users(self):
"""
List of users to be removed from the group.
:rtype: list of [UserSelectorArg]
"""
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
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,
self._users_value,
self._return_members_value,
)
GroupMembersRemoveArg_validator = bv.Struct(GroupMembersRemoveArg)
class GroupMembersSelectorError(GroupSelectorWithTeamGroupError):
"""
Error that can be raised when :class:`GroupMembersSelector` is used, and the
users are required to be members of the specified group.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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
member_not_in_group = None
def is_member_not_in_group(self):
"""
Check if the union tag is ``member_not_in_group``.
:rtype: bool
"""
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)
GroupMembersSelectorError_validator = bv.Union(GroupMembersSelectorError)
class GroupMembersRemoveError(GroupMembersSelectorError):
"""
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.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] 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
group_not_in_team = None
@classmethod
def members_not_in_team(cls, val):
"""
Create an instance of this class set to the ``members_not_in_team`` tag
with value ``val``.
:param list of [str] val:
:rtype: GroupMembersRemoveError
"""
return cls('members_not_in_team', val)
@classmethod
def users_not_found(cls, val):
"""
Create an instance of this class set to the ``users_not_found`` tag with
value ``val``.
:param list of [str] val:
:rtype: GroupMembersRemoveError
"""
return cls('users_not_found', val)
def is_group_not_in_team(self):
"""
Check if the union tag is ``group_not_in_team``.
:rtype: bool
"""
return self._tag == 'group_not_in_team'
def is_members_not_in_team(self):
"""
Check if the union tag is ``members_not_in_team``.
:rtype: bool
"""
return self._tag == 'members_not_in_team'
def is_users_not_found(self):
"""
Check if the union tag is ``users_not_found``.
:rtype: bool
"""
return self._tag == 'users_not_found'
def get_members_not_in_team(self):
"""
These members are not part of your team.
Only call this if :meth:`is_members_not_in_team` is true.
:rtype: list of [str]
"""
if not self.is_members_not_in_team():
raise AttributeError("tag 'members_not_in_team' not set")
return self._value
def get_users_not_found(self):
"""
These users were not found in Dropbox.
Only call this if :meth:`is_users_not_found` is true.
:rtype: list of [str]
"""
if not self.is_users_not_found():
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(bb.Struct):
"""
Argument for selecting a group and a list of users.
:ivar team.GroupMembersSelector.group: Specify a group.
:ivar team.GroupMembersSelector.users: A list of users that are members of
``group``.
"""
__slots__ = [
'_group_value',
'_group_present',
'_users_value',
'_users_present',
]
_has_required_fields = True
def __init__(self,
group=None,
users=None):
self._group_value = None
self._group_present = False
self._users_value = None
self._users_present = False
if group is not None:
self.group = group
if users is not None:
self.users = users
@property
def group(self):
"""
Specify a group.
:rtype: GroupSelector
"""
if self._group_present:
return self._group_value
else:
raise AttributeError("missing required field 'group'")
@group.setter
def group(self, val):
self._group_validator.validate_type_only(val)
self._group_value = val
self._group_present = True
@group.deleter
def group(self):
self._group_value = None
self._group_present = False
@property
def users(self):
"""
A list of users that are members of ``group``.
:rtype: UsersSelectorArg
"""
if self._users_present:
return self._users_value
else:
raise AttributeError("missing required field 'users'")
@users.setter
def users(self, val):
self._users_validator.validate_type_only(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(GroupMembersSelector, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupMembersSelector(group={!r}, users={!r})'.format(
self._group_value,
self._users_value,
)
GroupMembersSelector_validator = bv.Struct(GroupMembersSelector)
class GroupMembersSetAccessTypeArg(GroupMemberSelector):
"""
: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__ = [
'_access_type_value',
'_access_type_present',
'_return_members_value',
'_return_members_present',
]
_has_required_fields = True
def __init__(self,
group=None,
user=None,
access_type=None,
return_members=None):
super(GroupMembersSetAccessTypeArg, self).__init__(group,
user)
self._access_type_value = None
self._access_type_present = False
self._return_members_value = None
self._return_members_present = False
if access_type is not None:
self.access_type = access_type
if return_members is not None:
self.return_members = return_members
@property
def access_type(self):
"""
New group access type the user will have.
:rtype: GroupAccessType
"""
if self._access_type_present:
return self._access_type_value
else:
raise AttributeError("missing required field 'access_type'")
@access_type.setter
def access_type(self, val):
self._access_type_validator.validate_type_only(val)
self._access_type_value = val
self._access_type_present = True
@access_type.deleter
def access_type(self):
self._access_type_value = None
self._access_type_present = False
@property
def return_members(self):
"""
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.
:rtype: bool
"""
if self._return_members_present:
return self._return_members_value
else:
return True
@return_members.setter
def return_members(self, val):
val = self._return_members_validator.validate(val)
self._return_members_value = val
self._return_members_present = True
@return_members.deleter
def return_members(self):
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,
self._user_value,
self._access_type_value,
self._return_members_value,
)
GroupMembersSetAccessTypeArg_validator = bv.Struct(GroupMembersSetAccessTypeArg)
class GroupSelector(bb.Union):
"""
Argument for selecting a single group, either by group_id or by external
group ID.
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 team.GroupSelector.group_id: Group ID.
:ivar str team.GroupSelector.group_external_id: External ID of the group.
"""
_catch_all = None
@classmethod
def group_id(cls, val):
"""
Create an instance of this class set to the ``group_id`` tag with value
``val``.
:param str val:
:rtype: GroupSelector
"""
return cls('group_id', val)
@classmethod
def group_external_id(cls, val):
"""
Create an instance of this class set to the ``group_external_id`` tag
with value ``val``.
:param str val:
:rtype: GroupSelector
"""
return cls('group_external_id', val)
def is_group_id(self):
"""
Check if the union tag is ``group_id``.
:rtype: bool
"""
return self._tag == 'group_id'
def is_group_external_id(self):
"""
Check if the union tag is ``group_external_id``.
:rtype: bool
"""
return self._tag == 'group_external_id'
def get_group_id(self):
"""
Group ID.
Only call this if :meth:`is_group_id` is true.
:rtype: str
"""
if not self.is_group_id():
raise AttributeError("tag 'group_id' not set")
return self._value
def get_group_external_id(self):
"""
External ID of the group.
Only call this if :meth:`is_group_external_id` is true.
:rtype: str
"""
if not self.is_group_external_id():
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)
GroupSelector_validator = bv.Union(GroupSelector)
class GroupUpdateArgs(IncludeMembersArg):
"""
: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__ = [
'_group_value',
'_group_present',
'_new_group_name_value',
'_new_group_name_present',
'_new_group_external_id_value',
'_new_group_external_id_present',
'_new_group_management_type_value',
'_new_group_management_type_present',
]
_has_required_fields = True
def __init__(self,
group=None,
return_members=None,
new_group_name=None,
new_group_external_id=None,
new_group_management_type=None):
super(GroupUpdateArgs, self).__init__(return_members)
self._group_value = None
self._group_present = False
self._new_group_name_value = None
self._new_group_name_present = False
self._new_group_external_id_value = None
self._new_group_external_id_present = False
self._new_group_management_type_value = None
self._new_group_management_type_present = False
if group is not None:
self.group = group
if new_group_name is not None:
self.new_group_name = new_group_name
if new_group_external_id is not None:
self.new_group_external_id = new_group_external_id
if new_group_management_type is not None:
self.new_group_management_type = new_group_management_type
@property
def group(self):
"""
Specify a group.
:rtype: GroupSelector
"""
if self._group_present:
return self._group_value
else:
raise AttributeError("missing required field 'group'")
@group.setter
def group(self, val):
self._group_validator.validate_type_only(val)
self._group_value = val
self._group_present = True
@group.deleter
def group(self):
self._group_value = None
self._group_present = False
@property
def new_group_name(self):
"""
Optional argument. Set group name to this if provided.
:rtype: str
"""
if self._new_group_name_present:
return self._new_group_name_value
else:
return None
@new_group_name.setter
def new_group_name(self, val):
if val is None:
del self.new_group_name
return
val = self._new_group_name_validator.validate(val)
self._new_group_name_value = val
self._new_group_name_present = True
@new_group_name.deleter
def new_group_name(self):
self._new_group_name_value = None
self._new_group_name_present = False
@property
def new_group_external_id(self):
"""
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.
:rtype: str
"""
if self._new_group_external_id_present:
return self._new_group_external_id_value
else:
return None
@new_group_external_id.setter
def new_group_external_id(self, val):
if val is None:
del self.new_group_external_id
return
val = self._new_group_external_id_validator.validate(val)
self._new_group_external_id_value = val
self._new_group_external_id_present = True
@new_group_external_id.deleter
def new_group_external_id(self):
self._new_group_external_id_value = None
self._new_group_external_id_present = False
@property
def new_group_management_type(self):
"""
Set new group management type, if provided.
:rtype: team_common.GroupManagementType
"""
if self._new_group_management_type_present:
return self._new_group_management_type_value
else:
return None
@new_group_management_type.setter
def new_group_management_type(self, val):
if val is None:
del self.new_group_management_type
return
self._new_group_management_type_validator.validate_type_only(val)
self._new_group_management_type_value = val
self._new_group_management_type_present = True
@new_group_management_type.deleter
def new_group_management_type(self):
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,
self._return_members_value,
self._new_group_name_value,
self._new_group_external_id_value,
self._new_group_management_type_value,
)
GroupUpdateArgs_validator = bv.Struct(GroupUpdateArgs)
class GroupUpdateError(GroupSelectorWithTeamGroupError):
"""
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.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
group_name_already_used = None
# Attribute is overwritten below the class definition
group_name_invalid = None
# Attribute is overwritten below the class definition
external_id_already_in_use = None
def is_group_name_already_used(self):
"""
Check if the union tag is ``group_name_already_used``.
:rtype: bool
"""
return self._tag == 'group_name_already_used'
def is_group_name_invalid(self):
"""
Check if the union tag is ``group_name_invalid``.
:rtype: bool
"""
return self._tag == 'group_name_invalid'
def is_external_id_already_in_use(self):
"""
Check if the union tag is ``external_id_already_in_use``.
:rtype: bool
"""
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)
GroupUpdateError_validator = bv.Union(GroupUpdateError)
class GroupsGetInfoError(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.GroupsGetInfoError.group_not_on_team: The group is not on your
team.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
group_not_on_team = None
# Attribute is overwritten below the class definition
other = None
def is_group_not_on_team(self):
"""
Check if the union tag is ``group_not_on_team``.
:rtype: bool
"""
return self._tag == 'group_not_on_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(GroupsGetInfoError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupsGetInfoError(%r, %r)' % (self._tag, self._value)
GroupsGetInfoError_validator = bv.Union(GroupsGetInfoError)
class GroupsGetInfoItem(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 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
@classmethod
def id_not_found(cls, val):
"""
Create an instance of this class set to the ``id_not_found`` tag with
value ``val``.
:param str val:
:rtype: GroupsGetInfoItem
"""
return cls('id_not_found', val)
@classmethod
def group_info(cls, val):
"""
Create an instance of this class set to the ``group_info`` tag with
value ``val``.
:param GroupFullInfo val:
:rtype: GroupsGetInfoItem
"""
return cls('group_info', val)
def is_id_not_found(self):
"""
Check if the union tag is ``id_not_found``.
:rtype: bool
"""
return self._tag == 'id_not_found'
def is_group_info(self):
"""
Check if the union tag is ``group_info``.
:rtype: bool
"""
return self._tag == 'group_info'
def get_id_not_found(self):
"""
An ID that was provided as a parameter to
:meth:`dropbox.dropbox.Dropbox.team_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.
Only call this if :meth:`is_id_not_found` is true.
:rtype: str
"""
if not self.is_id_not_found():
raise AttributeError("tag 'id_not_found' not set")
return self._value
def get_group_info(self):
"""
Info about a group.
Only call this if :meth:`is_group_info` is true.
:rtype: GroupFullInfo
"""
if not self.is_group_info():
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(bb.Struct):
"""
:ivar team.GroupsListArg.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(GroupsListArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupsListArg(limit={!r})'.format(
self._limit_value,
)
GroupsListArg_validator = bv.Struct(GroupsListArg)
class GroupsListContinueArg(bb.Struct):
"""
:ivar team.GroupsListContinueArg.cursor: Indicates from what point to get
the next set of groups.
"""
__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 groups.
: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(GroupsListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupsListContinueArg(cursor={!r})'.format(
self._cursor_value,
)
GroupsListContinueArg_validator = bv.Struct(GroupsListContinueArg)
class GroupsListContinueError(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.GroupsListContinueError.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(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(bb.Struct):
"""
:ivar team.GroupsListResult.cursor: Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_groups_list_continue` to obtain the
additional groups.
: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.
"""
__slots__ = [
'_groups_value',
'_groups_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
groups=None,
cursor=None,
has_more=None):
self._groups_value = None
self._groups_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if groups is not None:
self.groups = groups
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def groups(self):
"""
:rtype: list of [team_common.GroupSummary]
"""
if self._groups_present:
return self._groups_value
else:
raise AttributeError("missing required field 'groups'")
@groups.setter
def groups(self, val):
val = self._groups_validator.validate(val)
self._groups_value = val
self._groups_present = True
@groups.deleter
def groups(self):
self._groups_value = None
self._groups_present = False
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_groups_list_continue` to obtain the
additional groups.
: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 groups that have not been returned yet.
An additional call to
:meth:`dropbox.dropbox.Dropbox.team_groups_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(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,
self._cursor_value,
self._has_more_value,
)
GroupsListResult_validator = bv.Struct(GroupsListResult)
class GroupsMembersListArg(bb.Struct):
"""
:ivar team.GroupsMembersListArg.group: The group whose members are to be
listed.
:ivar team.GroupsMembersListArg.limit: Number of results to return per call.
"""
__slots__ = [
'_group_value',
'_group_present',
'_limit_value',
'_limit_present',
]
_has_required_fields = True
def __init__(self,
group=None,
limit=None):
self._group_value = None
self._group_present = False
self._limit_value = None
self._limit_present = False
if group is not None:
self.group = group
if limit is not None:
self.limit = limit
@property
def group(self):
"""
The group whose members are to be listed.
:rtype: GroupSelector
"""
if self._group_present:
return self._group_value
else:
raise AttributeError("missing required field 'group'")
@group.setter
def group(self, val):
self._group_validator.validate_type_only(val)
self._group_value = val
self._group_present = True
@group.deleter
def group(self):
self._group_value = None
self._group_present = False
@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(GroupsMembersListArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupsMembersListArg(group={!r}, limit={!r})'.format(
self._group_value,
self._limit_value,
)
GroupsMembersListArg_validator = bv.Struct(GroupsMembersListArg)
class GroupsMembersListContinueArg(bb.Struct):
"""
:ivar team.GroupsMembersListContinueArg.cursor: Indicates from what point to
get the next set of groups.
"""
__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 groups.
: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(GroupsMembersListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupsMembersListContinueArg(cursor={!r})'.format(
self._cursor_value,
)
GroupsMembersListContinueArg_validator = bv.Struct(GroupsMembersListContinueArg)
class GroupsMembersListContinueError(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.GroupsMembersListContinueError.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(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(bb.Struct):
"""
:ivar team.GroupsMembersListResult.cursor: Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_groups_members_list_continue` to
obtain additional group members.
: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.
"""
__slots__ = [
'_members_value',
'_members_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
members=None,
cursor=None,
has_more=None):
self._members_value = None
self._members_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if members is not None:
self.members = members
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def members(self):
"""
:rtype: list of [GroupMemberInfo]
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
self._members_value = None
self._members_present = False
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_groups_members_list_continue` to
obtain additional group members.
: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 group members that have not been
returned yet. An additional call to
:meth:`dropbox.dropbox.Dropbox.team_groups_members_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(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,
self._cursor_value,
self._has_more_value,
)
GroupsMembersListResult_validator = bv.Struct(GroupsMembersListResult)
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 team.GroupsPollError.access_denied: You are not allowed to poll this
job.
"""
# Attribute is overwritten below the class definition
access_denied = None
def is_access_denied(self):
"""
Check if the union tag is ``access_denied``.
:rtype: bool
"""
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)
GroupsPollError_validator = bv.Union(GroupsPollError)
class GroupsSelector(bb.Union):
"""
Argument for selecting a list of groups, either by group_ids, or external
group IDs.
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] 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
@classmethod
def group_ids(cls, val):
"""
Create an instance of this class set to the ``group_ids`` tag with value
``val``.
:param list of [str] val:
:rtype: GroupsSelector
"""
return cls('group_ids', val)
@classmethod
def group_external_ids(cls, val):
"""
Create an instance of this class set to the ``group_external_ids`` tag
with value ``val``.
:param list of [str] val:
:rtype: GroupsSelector
"""
return cls('group_external_ids', val)
def is_group_ids(self):
"""
Check if the union tag is ``group_ids``.
:rtype: bool
"""
return self._tag == 'group_ids'
def is_group_external_ids(self):
"""
Check if the union tag is ``group_external_ids``.
:rtype: bool
"""
return self._tag == 'group_external_ids'
def get_group_ids(self):
"""
List of group IDs.
Only call this if :meth:`is_group_ids` is true.
:rtype: list of [str]
"""
if not self.is_group_ids():
raise AttributeError("tag 'group_ids' not set")
return self._value
def get_group_external_ids(self):
"""
List of external IDs of groups.
Only call this if :meth:`is_group_external_ids` is true.
:rtype: list of [str]
"""
if not self.is_group_external_ids():
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``.
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.HasTeamSharedDropboxValue.has_team_shared_dropbox: Does this
team have a shared team root.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def has_team_shared_dropbox(cls, val):
"""
Create an instance of this class set to the ``has_team_shared_dropbox``
tag with value ``val``.
:param bool val:
:rtype: HasTeamSharedDropboxValue
"""
return cls('has_team_shared_dropbox', val)
def is_has_team_shared_dropbox(self):
"""
Check if the union tag is ``has_team_shared_dropbox``.
:rtype: bool
"""
return self._tag == 'has_team_shared_dropbox'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_has_team_shared_dropbox(self):
"""
Does this team have a shared team root.
Only call this if :meth:`is_has_team_shared_dropbox` is true.
:rtype: bool
"""
if not self.is_has_team_shared_dropbox():
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(bb.Struct):
"""
:ivar team.ListMemberAppsArg.team_member_id: The team member id.
"""
__slots__ = [
'_team_member_id_value',
'_team_member_id_present',
]
_has_required_fields = True
def __init__(self,
team_member_id=None):
self._team_member_id_value = None
self._team_member_id_present = False
if team_member_id is not None:
self.team_member_id = team_member_id
@property
def team_member_id(self):
"""
The team member id.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
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,
)
ListMemberAppsArg_validator = bv.Struct(ListMemberAppsArg)
class ListMemberAppsError(bb.Union):
"""
Error returned by
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_member_linked_apps`.
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.ListMemberAppsError.member_not_found: Member not found.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
member_not_found = None
# Attribute is overwritten below the class definition
other = None
def is_member_not_found(self):
"""
Check if the union tag is ``member_not_found``.
:rtype: bool
"""
return self._tag == 'member_not_found'
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(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(bb.Struct):
"""
:ivar team.ListMemberAppsResult.linked_api_apps: List of third party
applications linked by this team member.
"""
__slots__ = [
'_linked_api_apps_value',
'_linked_api_apps_present',
]
_has_required_fields = True
def __init__(self,
linked_api_apps=None):
self._linked_api_apps_value = None
self._linked_api_apps_present = False
if linked_api_apps is not None:
self.linked_api_apps = linked_api_apps
@property
def linked_api_apps(self):
"""
List of third party applications linked by this team member.
:rtype: list of [ApiApp]
"""
if self._linked_api_apps_present:
return self._linked_api_apps_value
else:
raise AttributeError("missing required field 'linked_api_apps'")
@linked_api_apps.setter
def linked_api_apps(self, val):
val = self._linked_api_apps_validator.validate(val)
self._linked_api_apps_value = val
self._linked_api_apps_present = True
@linked_api_apps.deleter
def linked_api_apps(self):
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,
)
ListMemberAppsResult_validator = bv.Struct(ListMemberAppsResult)
class ListMemberDevicesArg(bb.Struct):
"""
: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__ = [
'_team_member_id_value',
'_team_member_id_present',
'_include_web_sessions_value',
'_include_web_sessions_present',
'_include_desktop_clients_value',
'_include_desktop_clients_present',
'_include_mobile_clients_value',
'_include_mobile_clients_present',
]
_has_required_fields = True
def __init__(self,
team_member_id=None,
include_web_sessions=None,
include_desktop_clients=None,
include_mobile_clients=None):
self._team_member_id_value = None
self._team_member_id_present = False
self._include_web_sessions_value = None
self._include_web_sessions_present = False
self._include_desktop_clients_value = None
self._include_desktop_clients_present = False
self._include_mobile_clients_value = None
self._include_mobile_clients_present = False
if team_member_id is not None:
self.team_member_id = team_member_id
if include_web_sessions is not None:
self.include_web_sessions = include_web_sessions
if include_desktop_clients is not None:
self.include_desktop_clients = include_desktop_clients
if include_mobile_clients is not None:
self.include_mobile_clients = include_mobile_clients
@property
def team_member_id(self):
"""
The team's member id.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def include_web_sessions(self):
"""
Whether to list web sessions of the team's member.
:rtype: bool
"""
if self._include_web_sessions_present:
return self._include_web_sessions_value
else:
return True
@include_web_sessions.setter
def include_web_sessions(self, val):
val = self._include_web_sessions_validator.validate(val)
self._include_web_sessions_value = val
self._include_web_sessions_present = True
@include_web_sessions.deleter
def include_web_sessions(self):
self._include_web_sessions_value = None
self._include_web_sessions_present = False
@property
def include_desktop_clients(self):
"""
Whether to list linked desktop devices of the team's member.
:rtype: bool
"""
if self._include_desktop_clients_present:
return self._include_desktop_clients_value
else:
return True
@include_desktop_clients.setter
def include_desktop_clients(self, val):
val = self._include_desktop_clients_validator.validate(val)
self._include_desktop_clients_value = val
self._include_desktop_clients_present = True
@include_desktop_clients.deleter
def include_desktop_clients(self):
self._include_desktop_clients_value = None
self._include_desktop_clients_present = False
@property
def include_mobile_clients(self):
"""
Whether to list linked mobile devices of the team's member.
:rtype: bool
"""
if self._include_mobile_clients_present:
return self._include_mobile_clients_value
else:
return True
@include_mobile_clients.setter
def include_mobile_clients(self, val):
val = self._include_mobile_clients_validator.validate(val)
self._include_mobile_clients_value = val
self._include_mobile_clients_present = True
@include_mobile_clients.deleter
def include_mobile_clients(self):
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,
self._include_web_sessions_value,
self._include_desktop_clients_value,
self._include_mobile_clients_value,
)
ListMemberDevicesArg_validator = bv.Struct(ListMemberDevicesArg)
class ListMemberDevicesError(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.ListMemberDevicesError.member_not_found: Member not found.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
member_not_found = None
# Attribute is overwritten below the class definition
other = None
def is_member_not_found(self):
"""
Check if the union tag is ``member_not_found``.
:rtype: bool
"""
return self._tag == 'member_not_found'
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(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(bb.Struct):
"""
: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__ = [
'_active_web_sessions_value',
'_active_web_sessions_present',
'_desktop_client_sessions_value',
'_desktop_client_sessions_present',
'_mobile_client_sessions_value',
'_mobile_client_sessions_present',
]
_has_required_fields = False
def __init__(self,
active_web_sessions=None,
desktop_client_sessions=None,
mobile_client_sessions=None):
self._active_web_sessions_value = None
self._active_web_sessions_present = False
self._desktop_client_sessions_value = None
self._desktop_client_sessions_present = False
self._mobile_client_sessions_value = None
self._mobile_client_sessions_present = False
if active_web_sessions is not None:
self.active_web_sessions = active_web_sessions
if desktop_client_sessions is not None:
self.desktop_client_sessions = desktop_client_sessions
if mobile_client_sessions is not None:
self.mobile_client_sessions = mobile_client_sessions
@property
def active_web_sessions(self):
"""
List of web sessions made by this team member.
:rtype: list of [ActiveWebSession]
"""
if self._active_web_sessions_present:
return self._active_web_sessions_value
else:
return None
@active_web_sessions.setter
def active_web_sessions(self, val):
if val is None:
del self.active_web_sessions
return
val = self._active_web_sessions_validator.validate(val)
self._active_web_sessions_value = val
self._active_web_sessions_present = True
@active_web_sessions.deleter
def active_web_sessions(self):
self._active_web_sessions_value = None
self._active_web_sessions_present = False
@property
def desktop_client_sessions(self):
"""
List of desktop clients used by this team member.
:rtype: list of [DesktopClientSession]
"""
if self._desktop_client_sessions_present:
return self._desktop_client_sessions_value
else:
return None
@desktop_client_sessions.setter
def desktop_client_sessions(self, val):
if val is None:
del self.desktop_client_sessions
return
val = self._desktop_client_sessions_validator.validate(val)
self._desktop_client_sessions_value = val
self._desktop_client_sessions_present = True
@desktop_client_sessions.deleter
def desktop_client_sessions(self):
self._desktop_client_sessions_value = None
self._desktop_client_sessions_present = False
@property
def mobile_client_sessions(self):
"""
List of mobile client used by this team member.
:rtype: list of [MobileClientSession]
"""
if self._mobile_client_sessions_present:
return self._mobile_client_sessions_value
else:
return None
@mobile_client_sessions.setter
def mobile_client_sessions(self, val):
if val is None:
del self.mobile_client_sessions
return
val = self._mobile_client_sessions_validator.validate(val)
self._mobile_client_sessions_value = val
self._mobile_client_sessions_present = True
@mobile_client_sessions.deleter
def mobile_client_sessions(self):
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,
self._desktop_client_sessions_value,
self._mobile_client_sessions_value,
)
ListMemberDevicesResult_validator = bv.Struct(ListMemberDevicesResult)
class ListMembersAppsArg(bb.Struct):
"""
Arguments for
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps`.
: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
order to receive the next sub list of the team applications.
"""
__slots__ = [
'_cursor_value',
'_cursor_present',
]
_has_required_fields = False
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):
"""
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
order to receive the next sub list of the team applications.
: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(ListMembersAppsArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListMembersAppsArg(cursor={!r})'.format(
self._cursor_value,
)
ListMembersAppsArg_validator = bv.Struct(ListMembersAppsArg)
class ListMembersAppsError(bb.Union):
"""
Error returned by
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps`.
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.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.
"""
_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(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(bb.Struct):
"""
Information returned by
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_members_linked_apps`.
: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 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.
"""
__slots__ = [
'_apps_value',
'_apps_present',
'_has_more_value',
'_has_more_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
apps=None,
has_more=None,
cursor=None):
self._apps_value = None
self._apps_present = False
self._has_more_value = None
self._has_more_present = False
self._cursor_value = None
self._cursor_present = False
if apps is not None:
self.apps = apps
if has_more is not None:
self.has_more = has_more
if cursor is not None:
self.cursor = cursor
@property
def apps(self):
"""
The linked applications of each member of the team.
:rtype: list of [MemberLinkedApps]
"""
if self._apps_present:
return self._apps_value
else:
raise AttributeError("missing required field 'apps'")
@apps.setter
def apps(self, val):
val = self._apps_validator.validate(val)
self._apps_value = val
self._apps_present = True
@apps.deleter
def apps(self):
self._apps_value = None
self._apps_present = False
@property
def has_more(self):
"""
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.
: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
@property
def cursor(self):
"""
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.
: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(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,
self._has_more_value,
self._cursor_value,
)
ListMembersAppsResult_validator = bv.Struct(ListMembersAppsResult)
class ListMembersDevicesArg(bb.Struct):
"""
: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 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__ = [
'_cursor_value',
'_cursor_present',
'_include_web_sessions_value',
'_include_web_sessions_present',
'_include_desktop_clients_value',
'_include_desktop_clients_present',
'_include_mobile_clients_value',
'_include_mobile_clients_present',
]
_has_required_fields = False
def __init__(self,
cursor=None,
include_web_sessions=None,
include_desktop_clients=None,
include_mobile_clients=None):
self._cursor_value = None
self._cursor_present = False
self._include_web_sessions_value = None
self._include_web_sessions_present = False
self._include_desktop_clients_value = None
self._include_desktop_clients_present = False
self._include_mobile_clients_value = None
self._include_mobile_clients_present = False
if cursor is not None:
self.cursor = cursor
if include_web_sessions is not None:
self.include_web_sessions = include_web_sessions
if include_desktop_clients is not None:
self.include_desktop_clients = include_desktop_clients
if include_mobile_clients is not None:
self.include_mobile_clients = include_mobile_clients
@property
def cursor(self):
"""
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.
: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 include_web_sessions(self):
"""
Whether to list web sessions of the team members.
:rtype: bool
"""
if self._include_web_sessions_present:
return self._include_web_sessions_value
else:
return True
@include_web_sessions.setter
def include_web_sessions(self, val):
val = self._include_web_sessions_validator.validate(val)
self._include_web_sessions_value = val
self._include_web_sessions_present = True
@include_web_sessions.deleter
def include_web_sessions(self):
self._include_web_sessions_value = None
self._include_web_sessions_present = False
@property
def include_desktop_clients(self):
"""
Whether to list desktop clients of the team members.
:rtype: bool
"""
if self._include_desktop_clients_present:
return self._include_desktop_clients_value
else:
return True
@include_desktop_clients.setter
def include_desktop_clients(self, val):
val = self._include_desktop_clients_validator.validate(val)
self._include_desktop_clients_value = val
self._include_desktop_clients_present = True
@include_desktop_clients.deleter
def include_desktop_clients(self):
self._include_desktop_clients_value = None
self._include_desktop_clients_present = False
@property
def include_mobile_clients(self):
"""
Whether to list mobile clients of the team members.
:rtype: bool
"""
if self._include_mobile_clients_present:
return self._include_mobile_clients_value
else:
return True
@include_mobile_clients.setter
def include_mobile_clients(self, val):
val = self._include_mobile_clients_validator.validate(val)
self._include_mobile_clients_value = val
self._include_mobile_clients_present = True
@include_mobile_clients.deleter
def include_mobile_clients(self):
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,
self._include_web_sessions_value,
self._include_desktop_clients_value,
self._include_mobile_clients_value,
)
ListMembersDevicesArg_validator = bv.Struct(ListMembersDevicesArg)
class ListMembersDevicesError(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.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.
"""
_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(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(bb.Struct):
"""
: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 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.
"""
__slots__ = [
'_devices_value',
'_devices_present',
'_has_more_value',
'_has_more_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
devices=None,
has_more=None,
cursor=None):
self._devices_value = None
self._devices_present = False
self._has_more_value = None
self._has_more_present = False
self._cursor_value = None
self._cursor_present = False
if devices is not None:
self.devices = devices
if has_more is not None:
self.has_more = has_more
if cursor is not None:
self.cursor = cursor
@property
def devices(self):
"""
The devices of each member of the team.
:rtype: list of [MemberDevices]
"""
if self._devices_present:
return self._devices_value
else:
raise AttributeError("missing required field 'devices'")
@devices.setter
def devices(self, val):
val = self._devices_validator.validate(val)
self._devices_value = val
self._devices_present = True
@devices.deleter
def devices(self):
self._devices_value = None
self._devices_present = False
@property
def has_more(self):
"""
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.
: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
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_devices_list_members_devices` to
receive the next sub list of team's devices.
: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(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,
self._has_more_value,
self._cursor_value,
)
ListMembersDevicesResult_validator = bv.Struct(ListMembersDevicesResult)
class ListTeamAppsArg(bb.Struct):
"""
Arguments for
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps`.
: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
order to receive the next sub list of the team applications.
"""
__slots__ = [
'_cursor_value',
'_cursor_present',
]
_has_required_fields = False
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):
"""
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
order to receive the next sub list of the team applications.
: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(ListTeamAppsArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ListTeamAppsArg(cursor={!r})'.format(
self._cursor_value,
)
ListTeamAppsArg_validator = bv.Struct(ListTeamAppsArg)
class ListTeamAppsError(bb.Union):
"""
Error returned by
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps`.
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.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.
"""
_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(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(bb.Struct):
"""
Information returned by
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_list_team_linked_apps`.
: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 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.
"""
__slots__ = [
'_apps_value',
'_apps_present',
'_has_more_value',
'_has_more_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
apps=None,
has_more=None,
cursor=None):
self._apps_value = None
self._apps_present = False
self._has_more_value = None
self._has_more_present = False
self._cursor_value = None
self._cursor_present = False
if apps is not None:
self.apps = apps
if has_more is not None:
self.has_more = has_more
if cursor is not None:
self.cursor = cursor
@property
def apps(self):
"""
The linked applications of each member of the team.
:rtype: list of [MemberLinkedApps]
"""
if self._apps_present:
return self._apps_value
else:
raise AttributeError("missing required field 'apps'")
@apps.setter
def apps(self, val):
val = self._apps_validator.validate(val)
self._apps_value = val
self._apps_present = True
@apps.deleter
def apps(self):
self._apps_value = None
self._apps_present = False
@property
def has_more(self):
"""
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.
: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
@property
def cursor(self):
"""
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.
: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(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,
self._has_more_value,
self._cursor_value,
)
ListTeamAppsResult_validator = bv.Struct(ListTeamAppsResult)
class ListTeamDevicesArg(bb.Struct):
"""
: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 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__ = [
'_cursor_value',
'_cursor_present',
'_include_web_sessions_value',
'_include_web_sessions_present',
'_include_desktop_clients_value',
'_include_desktop_clients_present',
'_include_mobile_clients_value',
'_include_mobile_clients_present',
]
_has_required_fields = False
def __init__(self,
cursor=None,
include_web_sessions=None,
include_desktop_clients=None,
include_mobile_clients=None):
self._cursor_value = None
self._cursor_present = False
self._include_web_sessions_value = None
self._include_web_sessions_present = False
self._include_desktop_clients_value = None
self._include_desktop_clients_present = False
self._include_mobile_clients_value = None
self._include_mobile_clients_present = False
if cursor is not None:
self.cursor = cursor
if include_web_sessions is not None:
self.include_web_sessions = include_web_sessions
if include_desktop_clients is not None:
self.include_desktop_clients = include_desktop_clients
if include_mobile_clients is not None:
self.include_mobile_clients = include_mobile_clients
@property
def cursor(self):
"""
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.
: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 include_web_sessions(self):
"""
Whether to list web sessions of the team members.
:rtype: bool
"""
if self._include_web_sessions_present:
return self._include_web_sessions_value
else:
return True
@include_web_sessions.setter
def include_web_sessions(self, val):
val = self._include_web_sessions_validator.validate(val)
self._include_web_sessions_value = val
self._include_web_sessions_present = True
@include_web_sessions.deleter
def include_web_sessions(self):
self._include_web_sessions_value = None
self._include_web_sessions_present = False
@property
def include_desktop_clients(self):
"""
Whether to list desktop clients of the team members.
:rtype: bool
"""
if self._include_desktop_clients_present:
return self._include_desktop_clients_value
else:
return True
@include_desktop_clients.setter
def include_desktop_clients(self, val):
val = self._include_desktop_clients_validator.validate(val)
self._include_desktop_clients_value = val
self._include_desktop_clients_present = True
@include_desktop_clients.deleter
def include_desktop_clients(self):
self._include_desktop_clients_value = None
self._include_desktop_clients_present = False
@property
def include_mobile_clients(self):
"""
Whether to list mobile clients of the team members.
:rtype: bool
"""
if self._include_mobile_clients_present:
return self._include_mobile_clients_value
else:
return True
@include_mobile_clients.setter
def include_mobile_clients(self, val):
val = self._include_mobile_clients_validator.validate(val)
self._include_mobile_clients_value = val
self._include_mobile_clients_present = True
@include_mobile_clients.deleter
def include_mobile_clients(self):
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,
self._include_web_sessions_value,
self._include_desktop_clients_value,
self._include_mobile_clients_value,
)
ListTeamDevicesArg_validator = bv.Struct(ListTeamDevicesArg)
class ListTeamDevicesError(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.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.
"""
_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(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(bb.Struct):
"""
: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.
"""
__slots__ = [
'_devices_value',
'_devices_present',
'_has_more_value',
'_has_more_present',
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
devices=None,
has_more=None,
cursor=None):
self._devices_value = None
self._devices_present = False
self._has_more_value = None
self._has_more_present = False
self._cursor_value = None
self._cursor_present = False
if devices is not None:
self.devices = devices
if has_more is not None:
self.has_more = has_more
if cursor is not None:
self.cursor = cursor
@property
def devices(self):
"""
The devices of each member of the team.
:rtype: list of [MemberDevices]
"""
if self._devices_present:
return self._devices_value
else:
raise AttributeError("missing required field 'devices'")
@devices.setter
def devices(self, val):
val = self._devices_validator.validate(val)
self._devices_value = val
self._devices_present = True
@devices.deleter
def devices(self):
self._devices_value = None
self._devices_present = False
@property
def has_more(self):
"""
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.
: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
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_devices_list_team_devices` to
receive the next sub list of team's devices.
: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(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,
self._has_more_value,
self._cursor_value,
)
ListTeamDevicesResult_validator = bv.Struct(ListTeamDevicesResult)
class MemberAccess(bb.Struct):
"""
Specify access type a member should have when joined to a group.
:ivar team.MemberAccess.user: Identity of a user.
:ivar team.MemberAccess.access_type: Access type.
"""
__slots__ = [
'_user_value',
'_user_present',
'_access_type_value',
'_access_type_present',
]
_has_required_fields = True
def __init__(self,
user=None,
access_type=None):
self._user_value = None
self._user_present = False
self._access_type_value = None
self._access_type_present = False
if user is not None:
self.user = user
if access_type is not None:
self.access_type = access_type
@property
def user(self):
"""
Identity of a user.
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
self._user_value = None
self._user_present = False
@property
def access_type(self):
"""
Access type.
:rtype: GroupAccessType
"""
if self._access_type_present:
return self._access_type_value
else:
raise AttributeError("missing required field 'access_type'")
@access_type.setter
def access_type(self, val):
self._access_type_validator.validate_type_only(val)
self._access_type_value = val
self._access_type_present = True
@access_type.deleter
def access_type(self):
self._access_type_value = None
self._access_type_present = False
def _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,
self._access_type_value,
)
MemberAccess_validator = bv.Struct(MemberAccess)
class MemberAddArg(bb.Struct):
"""
: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__ = [
'_member_email_value',
'_member_email_present',
'_member_given_name_value',
'_member_given_name_present',
'_member_surname_value',
'_member_surname_present',
'_member_external_id_value',
'_member_external_id_present',
'_member_persistent_id_value',
'_member_persistent_id_present',
'_send_welcome_email_value',
'_send_welcome_email_present',
'_role_value',
'_role_present',
'_is_directory_restricted_value',
'_is_directory_restricted_present',
]
_has_required_fields = True
def __init__(self,
member_email=None,
member_given_name=None,
member_surname=None,
member_external_id=None,
member_persistent_id=None,
send_welcome_email=None,
role=None,
is_directory_restricted=None):
self._member_email_value = None
self._member_email_present = False
self._member_given_name_value = None
self._member_given_name_present = False
self._member_surname_value = None
self._member_surname_present = False
self._member_external_id_value = None
self._member_external_id_present = False
self._member_persistent_id_value = None
self._member_persistent_id_present = False
self._send_welcome_email_value = None
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:
self.member_given_name = member_given_name
if member_surname is not None:
self.member_surname = member_surname
if member_external_id is not None:
self.member_external_id = member_external_id
if member_persistent_id is not None:
self.member_persistent_id = member_persistent_id
if send_welcome_email is not None:
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):
"""
:rtype: str
"""
if self._member_email_present:
return self._member_email_value
else:
raise AttributeError("missing required field 'member_email'")
@member_email.setter
def member_email(self, val):
val = self._member_email_validator.validate(val)
self._member_email_value = val
self._member_email_present = True
@member_email.deleter
def member_email(self):
self._member_email_value = None
self._member_email_present = False
@property
def member_given_name(self):
"""
Member's first name.
:rtype: str
"""
if self._member_given_name_present:
return self._member_given_name_value
else:
return None
@member_given_name.setter
def member_given_name(self, val):
if val is None:
del self.member_given_name
return
val = self._member_given_name_validator.validate(val)
self._member_given_name_value = val
self._member_given_name_present = True
@member_given_name.deleter
def member_given_name(self):
self._member_given_name_value = None
self._member_given_name_present = False
@property
def member_surname(self):
"""
Member's last name.
:rtype: str
"""
if self._member_surname_present:
return self._member_surname_value
else:
return None
@member_surname.setter
def member_surname(self, val):
if val is None:
del self.member_surname
return
val = self._member_surname_validator.validate(val)
self._member_surname_value = val
self._member_surname_present = True
@member_surname.deleter
def member_surname(self):
self._member_surname_value = None
self._member_surname_present = False
@property
def member_external_id(self):
"""
External ID for member.
:rtype: str
"""
if self._member_external_id_present:
return self._member_external_id_value
else:
return None
@member_external_id.setter
def member_external_id(self, val):
if val is None:
del self.member_external_id
return
val = self._member_external_id_validator.validate(val)
self._member_external_id_value = val
self._member_external_id_present = True
@member_external_id.deleter
def member_external_id(self):
self._member_external_id_value = None
self._member_external_id_present = False
@property
def member_persistent_id(self):
"""
Persistent ID for member. This field is only available to teams using
persistent ID SAML configuration.
:rtype: str
"""
if self._member_persistent_id_present:
return self._member_persistent_id_value
else:
return None
@member_persistent_id.setter
def member_persistent_id(self, val):
if val is None:
del self.member_persistent_id
return
val = self._member_persistent_id_validator.validate(val)
self._member_persistent_id_value = val
self._member_persistent_id_present = True
@member_persistent_id.deleter
def member_persistent_id(self):
self._member_persistent_id_value = None
self._member_persistent_id_present = False
@property
def send_welcome_email(self):
"""
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.
:rtype: bool
"""
if self._send_welcome_email_present:
return self._send_welcome_email_value
else:
return True
@send_welcome_email.setter
def send_welcome_email(self, val):
val = self._send_welcome_email_validator.validate(val)
self._send_welcome_email_value = val
self._send_welcome_email_present = True
@send_welcome_email.deleter
def send_welcome_email(self):
self._send_welcome_email_value = None
self._send_welcome_email_present = False
@property
def role(self):
"""
:rtype: AdminTier
"""
if self._role_present:
return self._role_value
else:
return AdminTier.member_only
@role.setter
def role(self, val):
self._role_validator.validate_type_only(val)
self._role_value = val
self._role_present = True
@role.deleter
def role(self):
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}, is_directory_restricted={!r})'.format(
self._member_email_value,
self._member_given_name_value,
self._member_surname_value,
self._member_external_id_value,
self._member_persistent_id_value,
self._send_welcome_email_value,
self._role_value,
self._is_directory_restricted_value,
)
MemberAddArg_validator = bv.Struct(MemberAddArg)
class MemberAddResult(bb.Union):
"""
Describes the result of attempting to add a single user to the team.
'success' is the only value indicating that a user was indeed added to the
team - the other values explain the type of failure that occurred, and
include the email of the user for which the operation has failed.
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 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
@classmethod
def success(cls, val):
"""
Create an instance of this class set to the ``success`` tag with value
``val``.
:param TeamMemberInfo val:
:rtype: MemberAddResult
"""
return cls('success', val)
@classmethod
def team_license_limit(cls, val):
"""
Create an instance of this class set to the ``team_license_limit`` tag
with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('team_license_limit', val)
@classmethod
def free_team_member_limit_reached(cls, val):
"""
Create an instance of this class set to the
``free_team_member_limit_reached`` tag with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('free_team_member_limit_reached', val)
@classmethod
def user_already_on_team(cls, val):
"""
Create an instance of this class set to the ``user_already_on_team`` tag
with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('user_already_on_team', val)
@classmethod
def user_on_another_team(cls, val):
"""
Create an instance of this class set to the ``user_on_another_team`` tag
with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('user_on_another_team', val)
@classmethod
def user_already_paired(cls, val):
"""
Create an instance of this class set to the ``user_already_paired`` tag
with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('user_already_paired', val)
@classmethod
def user_migration_failed(cls, val):
"""
Create an instance of this class set to the ``user_migration_failed``
tag with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('user_migration_failed', val)
@classmethod
def duplicate_external_member_id(cls, val):
"""
Create an instance of this class set to the
``duplicate_external_member_id`` tag with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('duplicate_external_member_id', val)
@classmethod
def duplicate_member_persistent_id(cls, val):
"""
Create an instance of this class set to the
``duplicate_member_persistent_id`` tag with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('duplicate_member_persistent_id', val)
@classmethod
def persistent_id_disabled(cls, val):
"""
Create an instance of this class set to the ``persistent_id_disabled``
tag with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('persistent_id_disabled', val)
@classmethod
def user_creation_failed(cls, val):
"""
Create an instance of this class set to the ``user_creation_failed`` tag
with value ``val``.
:param str val:
:rtype: MemberAddResult
"""
return cls('user_creation_failed', val)
def is_success(self):
"""
Check if the union tag is ``success``.
:rtype: bool
"""
return self._tag == 'success'
def is_team_license_limit(self):
"""
Check if the union tag is ``team_license_limit``.
:rtype: bool
"""
return self._tag == 'team_license_limit'
def is_free_team_member_limit_reached(self):
"""
Check if the union tag is ``free_team_member_limit_reached``.
:rtype: bool
"""
return self._tag == 'free_team_member_limit_reached'
def is_user_already_on_team(self):
"""
Check if the union tag is ``user_already_on_team``.
:rtype: bool
"""
return self._tag == 'user_already_on_team'
def is_user_on_another_team(self):
"""
Check if the union tag is ``user_on_another_team``.
:rtype: bool
"""
return self._tag == 'user_on_another_team'
def is_user_already_paired(self):
"""
Check if the union tag is ``user_already_paired``.
:rtype: bool
"""
return self._tag == 'user_already_paired'
def is_user_migration_failed(self):
"""
Check if the union tag is ``user_migration_failed``.
:rtype: bool
"""
return self._tag == 'user_migration_failed'
def is_duplicate_external_member_id(self):
"""
Check if the union tag is ``duplicate_external_member_id``.
:rtype: bool
"""
return self._tag == 'duplicate_external_member_id'
def is_duplicate_member_persistent_id(self):
"""
Check if the union tag is ``duplicate_member_persistent_id``.
:rtype: bool
"""
return self._tag == 'duplicate_member_persistent_id'
def is_persistent_id_disabled(self):
"""
Check if the union tag is ``persistent_id_disabled``.
:rtype: bool
"""
return self._tag == 'persistent_id_disabled'
def is_user_creation_failed(self):
"""
Check if the union tag is ``user_creation_failed``.
:rtype: bool
"""
return self._tag == 'user_creation_failed'
def get_success(self):
"""
Describes a user that was successfully added to the team.
Only call this if :meth:`is_success` is true.
:rtype: TeamMemberInfo
"""
if not self.is_success():
raise AttributeError("tag 'success' not set")
return self._value
def get_team_license_limit(self):
"""
Team is already full. The organization has no available licenses.
Only call this if :meth:`is_team_license_limit` is true.
:rtype: str
"""
if not self.is_team_license_limit():
raise AttributeError("tag 'team_license_limit' not set")
return self._value
def get_free_team_member_limit_reached(self):
"""
Team is already full. The free team member limit has been reached.
Only call this if :meth:`is_free_team_member_limit_reached` is true.
:rtype: str
"""
if not self.is_free_team_member_limit_reached():
raise AttributeError("tag 'free_team_member_limit_reached' not set")
return self._value
def get_user_already_on_team(self):
"""
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.
Only call this if :meth:`is_user_already_on_team` is true.
:rtype: str
"""
if not self.is_user_already_on_team():
raise AttributeError("tag 'user_already_on_team' not set")
return self._value
def get_user_on_another_team(self):
"""
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.
Only call this if :meth:`is_user_on_another_team` is true.
:rtype: str
"""
if not self.is_user_on_another_team():
raise AttributeError("tag 'user_on_another_team' not set")
return self._value
def get_user_already_paired(self):
"""
User is already paired.
Only call this if :meth:`is_user_already_paired` is true.
:rtype: str
"""
if not self.is_user_already_paired():
raise AttributeError("tag 'user_already_paired' not set")
return self._value
def get_user_migration_failed(self):
"""
User migration has failed.
Only call this if :meth:`is_user_migration_failed` is true.
:rtype: str
"""
if not self.is_user_migration_failed():
raise AttributeError("tag 'user_migration_failed' not set")
return self._value
def get_duplicate_external_member_id(self):
"""
A user with the given external member ID already exists on the team
(including in recoverable state).
Only call this if :meth:`is_duplicate_external_member_id` is true.
:rtype: str
"""
if not self.is_duplicate_external_member_id():
raise AttributeError("tag 'duplicate_external_member_id' not set")
return self._value
def get_duplicate_member_persistent_id(self):
"""
A user with the given persistent ID already exists on the team
(including in recoverable state).
Only call this if :meth:`is_duplicate_member_persistent_id` is true.
:rtype: str
"""
if not self.is_duplicate_member_persistent_id():
raise AttributeError("tag 'duplicate_member_persistent_id' not set")
return self._value
def get_persistent_id_disabled(self):
"""
Persistent ID is only available to teams with persistent ID SAML
configuration. Please contact Dropbox for more information.
Only call this if :meth:`is_persistent_id_disabled` is true.
:rtype: str
"""
if not self.is_persistent_id_disabled():
raise AttributeError("tag 'persistent_id_disabled' not set")
return self._value
def get_user_creation_failed(self):
"""
User creation has failed.
Only call this if :meth:`is_user_creation_failed` is true.
:rtype: str
"""
if not self.is_user_creation_failed():
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(bb.Struct):
"""
Information on devices of a team's 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__ = [
'_team_member_id_value',
'_team_member_id_present',
'_web_sessions_value',
'_web_sessions_present',
'_desktop_clients_value',
'_desktop_clients_present',
'_mobile_clients_value',
'_mobile_clients_present',
]
_has_required_fields = True
def __init__(self,
team_member_id=None,
web_sessions=None,
desktop_clients=None,
mobile_clients=None):
self._team_member_id_value = None
self._team_member_id_present = False
self._web_sessions_value = None
self._web_sessions_present = False
self._desktop_clients_value = None
self._desktop_clients_present = False
self._mobile_clients_value = None
self._mobile_clients_present = False
if team_member_id is not None:
self.team_member_id = team_member_id
if web_sessions is not None:
self.web_sessions = web_sessions
if desktop_clients is not None:
self.desktop_clients = desktop_clients
if mobile_clients is not None:
self.mobile_clients = mobile_clients
@property
def team_member_id(self):
"""
The member unique Id.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def web_sessions(self):
"""
List of web sessions made by this team member.
:rtype: list of [ActiveWebSession]
"""
if self._web_sessions_present:
return self._web_sessions_value
else:
return None
@web_sessions.setter
def web_sessions(self, val):
if val is None:
del self.web_sessions
return
val = self._web_sessions_validator.validate(val)
self._web_sessions_value = val
self._web_sessions_present = True
@web_sessions.deleter
def web_sessions(self):
self._web_sessions_value = None
self._web_sessions_present = False
@property
def desktop_clients(self):
"""
List of desktop clients by this team member.
:rtype: list of [DesktopClientSession]
"""
if self._desktop_clients_present:
return self._desktop_clients_value
else:
return None
@desktop_clients.setter
def desktop_clients(self, val):
if val is None:
del self.desktop_clients
return
val = self._desktop_clients_validator.validate(val)
self._desktop_clients_value = val
self._desktop_clients_present = True
@desktop_clients.deleter
def desktop_clients(self):
self._desktop_clients_value = None
self._desktop_clients_present = False
@property
def mobile_clients(self):
"""
List of mobile clients by this team member.
:rtype: list of [MobileClientSession]
"""
if self._mobile_clients_present:
return self._mobile_clients_value
else:
return None
@mobile_clients.setter
def mobile_clients(self, val):
if val is None:
del self.mobile_clients
return
val = self._mobile_clients_validator.validate(val)
self._mobile_clients_value = val
self._mobile_clients_present = True
@mobile_clients.deleter
def mobile_clients(self):
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,
self._web_sessions_value,
self._desktop_clients_value,
self._mobile_clients_value,
)
MemberDevices_validator = bv.Struct(MemberDevices)
class MemberLinkedApps(bb.Struct):
"""
Information on linked applications of a 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__ = [
'_team_member_id_value',
'_team_member_id_present',
'_linked_api_apps_value',
'_linked_api_apps_present',
]
_has_required_fields = True
def __init__(self,
team_member_id=None,
linked_api_apps=None):
self._team_member_id_value = None
self._team_member_id_present = False
self._linked_api_apps_value = None
self._linked_api_apps_present = False
if team_member_id is not None:
self.team_member_id = team_member_id
if linked_api_apps is not None:
self.linked_api_apps = linked_api_apps
@property
def team_member_id(self):
"""
The member unique Id.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def linked_api_apps(self):
"""
List of third party applications linked by this team member.
:rtype: list of [ApiApp]
"""
if self._linked_api_apps_present:
return self._linked_api_apps_value
else:
raise AttributeError("missing required field 'linked_api_apps'")
@linked_api_apps.setter
def linked_api_apps(self, val):
val = self._linked_api_apps_validator.validate(val)
self._linked_api_apps_value = val
self._linked_api_apps_present = True
@linked_api_apps.deleter
def linked_api_apps(self):
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,
self._linked_api_apps_value,
)
MemberLinkedApps_validator = bv.Struct(MemberLinkedApps)
class MemberProfile(bb.Struct):
"""
Basic member profile.
: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 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__ = [
'_team_member_id_value',
'_team_member_id_present',
'_external_id_value',
'_external_id_present',
'_account_id_value',
'_account_id_present',
'_email_value',
'_email_present',
'_email_verified_value',
'_email_verified_present',
'_status_value',
'_status_present',
'_name_value',
'_name_present',
'_membership_type_value',
'_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
def __init__(self,
team_member_id=None,
email=None,
email_verified=None,
status=None,
name=None,
membership_type=None,
external_id=None,
account_id=None,
joined_on=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
self._external_id_present = False
self._account_id_value = None
self._account_id_present = False
self._email_value = None
self._email_present = False
self._email_verified_value = None
self._email_verified_present = False
self._status_value = None
self._status_present = False
self._name_value = None
self._name_present = False
self._membership_type_value = None
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:
self.external_id = external_id
if account_id is not None:
self.account_id = account_id
if email is not None:
self.email = email
if email_verified is not None:
self.email_verified = email_verified
if status is not None:
self.status = status
if name is not None:
self.name = name
if membership_type is not None:
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):
"""
ID of user as a member of a team.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def external_id(self):
"""
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.
:rtype: str
"""
if self._external_id_present:
return self._external_id_value
else:
return None
@external_id.setter
def external_id(self, val):
if val is None:
del self.external_id
return
val = self._external_id_validator.validate(val)
self._external_id_value = val
self._external_id_present = True
@external_id.deleter
def external_id(self):
self._external_id_value = None
self._external_id_present = False
@property
def account_id(self):
"""
A user's account identifier.
:rtype: str
"""
if self._account_id_present:
return self._account_id_value
else:
return None
@account_id.setter
def account_id(self, val):
if val is None:
del self.account_id
return
val = self._account_id_validator.validate(val)
self._account_id_value = val
self._account_id_present = True
@account_id.deleter
def account_id(self):
self._account_id_value = None
self._account_id_present = False
@property
def 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 email_verified(self):
"""
Is true if the user's email is verified to be owned by the user.
:rtype: bool
"""
if self._email_verified_present:
return self._email_verified_value
else:
raise AttributeError("missing required field 'email_verified'")
@email_verified.setter
def email_verified(self, val):
val = self._email_verified_validator.validate(val)
self._email_verified_value = val
self._email_verified_present = True
@email_verified.deleter
def email_verified(self):
self._email_verified_value = None
self._email_verified_present = False
@property
def status(self):
"""
The user's status as a member of a specific team.
:rtype: TeamMemberStatus
"""
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
@property
def name(self):
"""
Representations for a person's name.
:rtype: users.Name
"""
if self._name_present:
return self._name_value
else:
raise AttributeError("missing required field 'name'")
@name.setter
def name(self, val):
self._name_validator.validate_type_only(val)
self._name_value = val
self._name_present = True
@name.deleter
def name(self):
self._name_value = None
self._name_present = False
@property
def membership_type(self):
"""
The user's membership type: full (normal team member) vs limited (does
not use a license; no access to the team's shared quota).
:rtype: TeamMembershipType
"""
if self._membership_type_present:
return self._membership_type_value
else:
raise AttributeError("missing required field 'membership_type'")
@membership_type.setter
def membership_type(self, val):
self._membership_type_validator.validate_type_only(val)
self._membership_type_value = val
self._membership_type_present = True
@membership_type.deleter
def membership_type(self):
self._membership_type_value = None
self._membership_type_present = False
@property
def joined_on(self):
"""
The date and time the user joined as a member of a specific team.
:rtype: datetime.datetime
"""
if self._joined_on_present:
return self._joined_on_value
else:
return None
@joined_on.setter
def joined_on(self, val):
if val is None:
del self.joined_on
return
val = self._joined_on_validator.validate(val)
self._joined_on_value = val
self._joined_on_present = True
@joined_on.deleter
def joined_on(self):
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):
"""
Persistent ID that a team can attach to the user. The persistent ID is
unique ID to be used for SAML authentication.
:rtype: str
"""
if self._persistent_id_present:
return self._persistent_id_value
else:
return None
@persistent_id.setter
def persistent_id(self, val):
if val is None:
del self.persistent_id
return
val = self._persistent_id_validator.validate(val)
self._persistent_id_value = val
self._persistent_id_present = True
@persistent_id.deleter
def persistent_id(self):
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}, 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,
self._status_value,
self._name_value,
self._membership_type_value,
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)
class UserSelectorError(bb.Union):
"""
Error that can be returned whenever a struct derived from
:class:`UserSelectorArg` is used.
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.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
# Attribute is overwritten below the class definition
user_not_found = None
def is_user_not_found(self):
"""
Check if the union tag is ``user_not_found``.
:rtype: bool
"""
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)
UserSelectorError_validator = bv.Union(UserSelectorError)
class MemberSelectorError(UserSelectorError):
"""
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.MemberSelectorError.user_not_in_team: The user is not a member of
the team.
"""
# Attribute is overwritten below the class definition
user_not_in_team = None
def is_user_not_in_team(self):
"""
Check if the union tag is ``user_not_in_team``.
:rtype: bool
"""
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(bb.Struct):
"""
: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__ = [
'_new_members_value',
'_new_members_present',
'_force_async_value',
'_force_async_present',
]
_has_required_fields = True
def __init__(self,
new_members=None,
force_async=None):
self._new_members_value = None
self._new_members_present = False
self._force_async_value = None
self._force_async_present = False
if new_members is not None:
self.new_members = new_members
if force_async is not None:
self.force_async = force_async
@property
def new_members(self):
"""
Details of new members to be added to the team.
:rtype: list of [MemberAddArg]
"""
if self._new_members_present:
return self._new_members_value
else:
raise AttributeError("missing required field 'new_members'")
@new_members.setter
def new_members(self, val):
val = self._new_members_validator.validate(val)
self._new_members_value = val
self._new_members_present = True
@new_members.deleter
def new_members(self):
self._new_members_value = None
self._new_members_present = False
@property
def force_async(self):
"""
Whether to force the add 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(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,
self._force_async_value,
)
MembersAddArg_validator = bv.Struct(MembersAddArg)
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] 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
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param list of [MemberAddResult] val:
:rtype: MembersAddJobStatus
"""
return cls('complete', val)
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param str val:
:rtype: MembersAddJobStatus
"""
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 get_complete(self):
"""
The asynchronous job has finished. For each member that was specified in
the parameter :class:`MembersAddArg` that was provided to
:meth:`dropbox.dropbox.Dropbox.team_members_add`, a corresponding item
is returned in this list.
Only call this if :meth:`is_complete` is true.
:rtype: list of [MemberAddResult]
"""
if not self.is_complete():
raise AttributeError("tag 'complete' not set")
return self._value
def get_failed(self):
"""
The asynchronous job returned an error. The string contains an error
message.
Only call this if :meth:`is_failed` is true.
:rtype: str
"""
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(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):
"""
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 list of [MemberAddResult] val:
:rtype: MembersAddLaunch
"""
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: list of [MemberAddResult]
"""
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(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 MembersDeactivateBaseArg(bb.Struct):
"""
Exactly one of team_member_id, email, or external_id must be provided to
identify the user account.
:ivar team.MembersDeactivateBaseArg.user: Identity of user to
remove/suspend/have their files moved.
"""
__slots__ = [
'_user_value',
'_user_present',
]
_has_required_fields = True
def __init__(self,
user=None):
self._user_value = None
self._user_present = False
if user is not None:
self.user = user
@property
def user(self):
"""
Identity of user to remove/suspend/have their files moved.
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
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):
"""
If provided, controls if the user's data will be deleted on their linked
devices.
:rtype: bool
"""
if self._wipe_data_present:
return self._wipe_data_value
else:
return True
@wipe_data.setter
def wipe_data(self, val):
val = self._wipe_data_validator.validate(val)
self._wipe_data_value = val
self._wipe_data_present = True
@wipe_data.deleter
def wipe_data(self):
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,
self._wipe_data_value,
)
MembersDeactivateArg_validator = bv.Struct(MembersDeactivateArg)
class MembersDeactivateError(UserSelectorError):
"""
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.MembersDeactivateError.user_not_in_team: The user is not a member
of the team.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
user_not_in_team = None
# Attribute is overwritten below the class definition
other = None
def is_user_not_in_team(self):
"""
Check if the union tag is ``user_not_in_team``.
:rtype: bool
"""
return self._tag == 'user_not_in_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(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(bb.Struct):
"""
:ivar team.MembersGetInfoArgs.members: List of team members.
"""
__slots__ = [
'_members_value',
'_members_present',
]
_has_required_fields = True
def __init__(self,
members=None):
self._members_value = None
self._members_present = False
if members is not None:
self.members = members
@property
def members(self):
"""
List of team members.
:rtype: list of [UserSelectorArg]
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
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,
)
MembersGetInfoArgs_validator = bv.Struct(MembersGetInfoArgs)
class MembersGetInfoError(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
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(MembersGetInfoError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'MembersGetInfoError(%r, %r)' % (self._tag, self._value)
MembersGetInfoError_validator = bv.Union(MembersGetInfoError)
class MembersGetInfoItem(bb.Union):
"""
Describes a result obtained for a single user whose id was specified in the
parameter of :meth:`dropbox.dropbox.Dropbox.team_members_get_info`.
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 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
@classmethod
def id_not_found(cls, val):
"""
Create an instance of this class set to the ``id_not_found`` tag with
value ``val``.
:param str val:
:rtype: MembersGetInfoItem
"""
return cls('id_not_found', val)
@classmethod
def member_info(cls, val):
"""
Create an instance of this class set to the ``member_info`` tag with
value ``val``.
:param TeamMemberInfo val:
:rtype: MembersGetInfoItem
"""
return cls('member_info', val)
def is_id_not_found(self):
"""
Check if the union tag is ``id_not_found``.
:rtype: bool
"""
return self._tag == 'id_not_found'
def is_member_info(self):
"""
Check if the union tag is ``member_info``.
:rtype: bool
"""
return self._tag == 'member_info'
def get_id_not_found(self):
"""
An ID that was provided as a parameter to
:meth:`dropbox.dropbox.Dropbox.team_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.
Only call this if :meth:`is_id_not_found` is true.
:rtype: str
"""
if not self.is_id_not_found():
raise AttributeError("tag 'id_not_found' not set")
return self._value
def get_member_info(self):
"""
Info about a team member.
Only call this if :meth:`is_member_info` is true.
:rtype: TeamMemberInfo
"""
if not self.is_member_info():
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(bb.Struct):
"""
:ivar team.MembersListArg.limit: Number of results to return per call.
:ivar team.MembersListArg.include_removed: Whether to return removed
members.
"""
__slots__ = [
'_limit_value',
'_limit_present',
'_include_removed_value',
'_include_removed_present',
]
_has_required_fields = False
def __init__(self,
limit=None,
include_removed=None):
self._limit_value = None
self._limit_present = False
self._include_removed_value = None
self._include_removed_present = False
if limit is not None:
self.limit = limit
if include_removed is not None:
self.include_removed = include_removed
@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
@property
def include_removed(self):
"""
Whether to return removed members.
:rtype: bool
"""
if self._include_removed_present:
return self._include_removed_value
else:
return False
@include_removed.setter
def include_removed(self, val):
val = self._include_removed_validator.validate(val)
self._include_removed_value = val
self._include_removed_present = True
@include_removed.deleter
def include_removed(self):
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,
self._include_removed_value,
)
MembersListArg_validator = bv.Struct(MembersListArg)
class MembersListContinueArg(bb.Struct):
"""
:ivar team.MembersListContinueArg.cursor: Indicates from what point to get
the next set of members.
"""
__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 members.
: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(MembersListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'MembersListContinueArg(cursor={!r})'.format(
self._cursor_value,
)
MembersListContinueArg_validator = bv.Struct(MembersListContinueArg)
class MembersListContinueError(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.MembersListContinueError.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(MembersListContinueError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'MembersListContinueError(%r, %r)' % (self._tag, self._value)
MembersListContinueError_validator = bv.Union(MembersListContinueError)
class MembersListError(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
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(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(bb.Struct):
"""
: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 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.
"""
__slots__ = [
'_members_value',
'_members_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
members=None,
cursor=None,
has_more=None):
self._members_value = None
self._members_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if members is not None:
self.members = members
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def members(self):
"""
List of team members.
:rtype: list of [TeamMemberInfo]
"""
if self._members_present:
return self._members_value
else:
raise AttributeError("missing required field 'members'")
@members.setter
def members(self, val):
val = self._members_validator.validate(val)
self._members_value = val
self._members_present = True
@members.deleter
def members(self):
self._members_value = None
self._members_present = False
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_members_list_continue` to obtain the
additional members.
:rtype: str
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
val = self._cursor_validator.validate(val)
self._cursor_value = val
self._cursor_present = True
@cursor.deleter
def cursor(self):
self._cursor_value = None
self._cursor_present = False
@property
def has_more(self):
"""
Is true if there are additional team members that have not been returned
yet. An additional call to
:meth:`dropbox.dropbox.Dropbox.team_members_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(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,
self._cursor_value,
self._has_more_value,
)
MembersListResult_validator = bv.Struct(MembersListResult)
class MembersRecoverArg(bb.Struct):
"""
Exactly one of team_member_id, email, or external_id must be provided to
identify the user account.
:ivar team.MembersRecoverArg.user: Identity of user to recover.
"""
__slots__ = [
'_user_value',
'_user_present',
]
_has_required_fields = True
def __init__(self,
user=None):
self._user_value = None
self._user_present = False
if user is not None:
self.user = user
@property
def user(self):
"""
Identity of user to recover.
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
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,
)
MembersRecoverArg_validator = bv.Struct(MembersRecoverArg)
class MembersRecoverError(UserSelectorError):
"""
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.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'
# Attribute is overwritten below the class definition
user_unrecoverable = None
# Attribute is overwritten below the class definition
user_not_in_team = None
# Attribute is overwritten below the class definition
team_license_limit = None
# Attribute is overwritten below the class definition
other = None
def is_user_unrecoverable(self):
"""
Check if the union tag is ``user_unrecoverable``.
:rtype: bool
"""
return self._tag == 'user_unrecoverable'
def is_user_not_in_team(self):
"""
Check if the union tag is ``user_not_in_team``.
:rtype: bool
"""
return self._tag == 'user_not_in_team'
def is_team_license_limit(self):
"""
Check if the union tag is ``team_license_limit``.
:rtype: bool
"""
return self._tag == 'team_license_limit'
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(MembersRecoverError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'MembersRecoverError(%r, %r)' % (self._tag, self._value)
MembersRecoverError_validator = bv.Union(MembersRecoverError)
class MembersRemoveArg(MembersDeactivateArg):
"""
: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__ = [
'_transfer_dest_id_value',
'_transfer_dest_id_present',
'_transfer_admin_id_value',
'_transfer_admin_id_present',
'_keep_account_value',
'_keep_account_present',
]
_has_required_fields = True
def __init__(self,
user=None,
wipe_data=None,
transfer_dest_id=None,
transfer_admin_id=None,
keep_account=None):
super(MembersRemoveArg, self).__init__(user,
wipe_data)
self._transfer_dest_id_value = None
self._transfer_dest_id_present = False
self._transfer_admin_id_value = None
self._transfer_admin_id_present = False
self._keep_account_value = None
self._keep_account_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
if keep_account is not None:
self.keep_account = keep_account
@property
def transfer_dest_id(self):
"""
If provided, 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:
return None
@transfer_dest_id.setter
def transfer_dest_id(self, val):
if val is None:
del self.transfer_dest_id
return
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):
"""
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.
:rtype: UserSelectorArg
"""
if self._transfer_admin_id_present:
return self._transfer_admin_id_value
else:
return None
@transfer_admin_id.setter
def transfer_admin_id(self, val):
if val is None:
del self.transfer_admin_id
return
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
@property
def keep_account(self):
"""
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.
:rtype: bool
"""
if self._keep_account_present:
return self._keep_account_value
else:
return False
@keep_account.setter
def keep_account(self, val):
val = self._keep_account_validator.validate(val)
self._keep_account_value = val
self._keep_account_present = True
@keep_account.deleter
def keep_account(self):
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,
self._wipe_data_value,
self._transfer_dest_id_value,
self._transfer_admin_id_value,
self._keep_account_value,
)
MembersRemoveArg_validator = bv.Struct(MembersRemoveArg)
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
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
removed_and_transfer_dest_should_differ = None
# Attribute is overwritten below the class definition
removed_and_transfer_admin_should_differ = None
# Attribute is overwritten below the class definition
transfer_dest_user_not_found = None
# 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_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
recipient_not_verified = None
def is_removed_and_transfer_dest_should_differ(self):
"""
Check if the union tag is ``removed_and_transfer_dest_should_differ``.
:rtype: bool
"""
return self._tag == 'removed_and_transfer_dest_should_differ'
def is_removed_and_transfer_admin_should_differ(self):
"""
Check if the union tag is ``removed_and_transfer_admin_should_differ``.
:rtype: bool
"""
return self._tag == 'removed_and_transfer_admin_should_differ'
def is_transfer_dest_user_not_found(self):
"""
Check if the union tag is ``transfer_dest_user_not_found``.
:rtype: bool
"""
return self._tag == 'transfer_dest_user_not_found'
def is_transfer_dest_user_not_in_team(self):
"""
Check if the union tag is ``transfer_dest_user_not_in_team``.
:rtype: bool
"""
return self._tag == 'transfer_dest_user_not_in_team'
def is_transfer_admin_user_not_in_team(self):
"""
Check if the union tag is ``transfer_admin_user_not_in_team``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'unspecified_transfer_admin_id'
def is_transfer_admin_is_not_admin(self):
"""
Check if the union tag is ``transfer_admin_is_not_admin``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'cannot_keep_account_and_transfer'
def is_cannot_keep_account_and_delete_data(self):
"""
Check if the union tag is ``cannot_keep_account_and_delete_data``.
:rtype: bool
"""
return self._tag == 'cannot_keep_account_and_delete_data'
def is_email_address_too_long_to_be_disabled(self):
"""
Check if the union tag is ``email_address_too_long_to_be_disabled``.
:rtype: bool
"""
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)
MembersRemoveError_validator = bv.Union(MembersRemoveError)
class MembersSendWelcomeError(MemberSelectorError):
"""
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
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(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(bb.Struct):
"""
Exactly one of team_member_id, email, or external_id must be provided to
identify the user account.
:ivar team.MembersSetPermissionsArg.user: Identity of user whose role will
be set.
:ivar team.MembersSetPermissionsArg.new_role: The new role of the member.
"""
__slots__ = [
'_user_value',
'_user_present',
'_new_role_value',
'_new_role_present',
]
_has_required_fields = True
def __init__(self,
user=None,
new_role=None):
self._user_value = None
self._user_present = False
self._new_role_value = None
self._new_role_present = False
if user is not None:
self.user = user
if new_role is not None:
self.new_role = new_role
@property
def user(self):
"""
Identity of user whose role will be set.
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
self._user_value = None
self._user_present = False
@property
def new_role(self):
"""
The new role of the member.
:rtype: AdminTier
"""
if self._new_role_present:
return self._new_role_value
else:
raise AttributeError("missing required field 'new_role'")
@new_role.setter
def new_role(self, val):
self._new_role_validator.validate_type_only(val)
self._new_role_value = val
self._new_role_present = True
@new_role.deleter
def new_role(self):
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,
self._new_role_value,
)
MembersSetPermissionsArg_validator = bv.Struct(MembersSetPermissionsArg)
class MembersSetPermissionsError(UserSelectorError):
"""
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.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'
# Attribute is overwritten below the class definition
last_admin = None
# Attribute is overwritten below the class definition
user_not_in_team = None
# Attribute is overwritten below the class definition
cannot_set_permissions = None
# Attribute is overwritten below the class definition
team_license_limit = None
# Attribute is overwritten below the class definition
other = None
def is_last_admin(self):
"""
Check if the union tag is ``last_admin``.
:rtype: bool
"""
return self._tag == 'last_admin'
def is_user_not_in_team(self):
"""
Check if the union tag is ``user_not_in_team``.
:rtype: bool
"""
return self._tag == 'user_not_in_team'
def is_cannot_set_permissions(self):
"""
Check if the union tag is ``cannot_set_permissions``.
:rtype: bool
"""
return self._tag == 'cannot_set_permissions'
def is_team_license_limit(self):
"""
Check if the union tag is ``team_license_limit``.
:rtype: bool
"""
return self._tag == 'team_license_limit'
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(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(bb.Struct):
"""
: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__ = [
'_team_member_id_value',
'_team_member_id_present',
'_role_value',
'_role_present',
]
_has_required_fields = True
def __init__(self,
team_member_id=None,
role=None):
self._team_member_id_value = None
self._team_member_id_present = False
self._role_value = None
self._role_present = False
if team_member_id is not None:
self.team_member_id = team_member_id
if role is not None:
self.role = role
@property
def team_member_id(self):
"""
The member ID of the user to which the change was applied.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def role(self):
"""
The role after the change.
:rtype: AdminTier
"""
if self._role_present:
return self._role_value
else:
raise AttributeError("missing required field 'role'")
@role.setter
def role(self, val):
self._role_validator.validate_type_only(val)
self._role_value = val
self._role_present = True
@role.deleter
def role(self):
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,
self._role_value,
)
MembersSetPermissionsResult_validator = bv.Struct(MembersSetPermissionsResult)
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 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__ = [
'_user_value',
'_user_present',
'_new_email_value',
'_new_email_present',
'_new_external_id_value',
'_new_external_id_present',
'_new_given_name_value',
'_new_given_name_present',
'_new_surname_value',
'_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
def __init__(self,
user=None,
new_email=None,
new_external_id=None,
new_given_name=None,
new_surname=None,
new_persistent_id=None,
new_is_directory_restricted=None):
self._user_value = None
self._user_present = False
self._new_email_value = None
self._new_email_present = False
self._new_external_id_value = None
self._new_external_id_present = False
self._new_given_name_value = None
self._new_given_name_present = False
self._new_surname_value = None
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:
self.new_email = new_email
if new_external_id is not None:
self.new_external_id = new_external_id
if new_given_name is not None:
self.new_given_name = new_given_name
if new_surname is not None:
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):
"""
Identity of user whose profile will be set.
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
self._user_value = None
self._user_present = False
@property
def new_email(self):
"""
New email for member.
:rtype: str
"""
if self._new_email_present:
return self._new_email_value
else:
return None
@new_email.setter
def new_email(self, val):
if val is None:
del self.new_email
return
val = self._new_email_validator.validate(val)
self._new_email_value = val
self._new_email_present = True
@new_email.deleter
def new_email(self):
self._new_email_value = None
self._new_email_present = False
@property
def new_external_id(self):
"""
New external ID for member.
:rtype: str
"""
if self._new_external_id_present:
return self._new_external_id_value
else:
return None
@new_external_id.setter
def new_external_id(self, val):
if val is None:
del self.new_external_id
return
val = self._new_external_id_validator.validate(val)
self._new_external_id_value = val
self._new_external_id_present = True
@new_external_id.deleter
def new_external_id(self):
self._new_external_id_value = None
self._new_external_id_present = False
@property
def new_given_name(self):
"""
New given name for member.
:rtype: str
"""
if self._new_given_name_present:
return self._new_given_name_value
else:
return None
@new_given_name.setter
def new_given_name(self, val):
if val is None:
del self.new_given_name
return
val = self._new_given_name_validator.validate(val)
self._new_given_name_value = val
self._new_given_name_present = True
@new_given_name.deleter
def new_given_name(self):
self._new_given_name_value = None
self._new_given_name_present = False
@property
def new_surname(self):
"""
New surname for member.
:rtype: str
"""
if self._new_surname_present:
return self._new_surname_value
else:
return None
@new_surname.setter
def new_surname(self, val):
if val is None:
del self.new_surname
return
val = self._new_surname_validator.validate(val)
self._new_surname_value = val
self._new_surname_present = True
@new_surname.deleter
def new_surname(self):
self._new_surname_value = None
self._new_surname_present = False
@property
def new_persistent_id(self):
"""
New persistent ID. This field only available to teams using persistent
ID SAML configuration.
:rtype: str
"""
if self._new_persistent_id_present:
return self._new_persistent_id_value
else:
return None
@new_persistent_id.setter
def new_persistent_id(self, val):
if val is None:
del self.new_persistent_id
return
val = self._new_persistent_id_validator.validate(val)
self._new_persistent_id_value = val
self._new_persistent_id_present = True
@new_persistent_id.deleter
def new_persistent_id(self):
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}, 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)
class MembersSetProfileError(MemberSelectorError):
"""
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.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'
# Attribute is overwritten below the class definition
external_id_and_new_external_id_unsafe = None
# Attribute is overwritten below the class definition
no_new_data_specified = None
# Attribute is overwritten below the class definition
email_reserved_for_other_user = None
# Attribute is overwritten below the class definition
external_id_used_by_other_user = None
# Attribute is overwritten below the class definition
set_profile_disallowed = None
# Attribute is overwritten below the class definition
param_cannot_be_empty = None
# Attribute is overwritten below the class definition
persistent_id_disabled = None
# 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):
"""
Check if the union tag is ``external_id_and_new_external_id_unsafe``.
:rtype: bool
"""
return self._tag == 'external_id_and_new_external_id_unsafe'
def is_no_new_data_specified(self):
"""
Check if the union tag is ``no_new_data_specified``.
:rtype: bool
"""
return self._tag == 'no_new_data_specified'
def is_email_reserved_for_other_user(self):
"""
Check if the union tag is ``email_reserved_for_other_user``.
:rtype: bool
"""
return self._tag == 'email_reserved_for_other_user'
def is_external_id_used_by_other_user(self):
"""
Check if the union tag is ``external_id_used_by_other_user``.
:rtype: bool
"""
return self._tag == 'external_id_used_by_other_user'
def is_set_profile_disallowed(self):
"""
Check if the union tag is ``set_profile_disallowed``.
:rtype: bool
"""
return self._tag == 'set_profile_disallowed'
def is_param_cannot_be_empty(self):
"""
Check if the union tag is ``param_cannot_be_empty``.
:rtype: bool
"""
return self._tag == 'param_cannot_be_empty'
def is_persistent_id_disabled(self):
"""
Check if the union tag is ``persistent_id_disabled``.
:rtype: bool
"""
return self._tag == 'persistent_id_disabled'
def is_persistent_id_used_by_other_user(self):
"""
Check if the union tag is ``persistent_id_used_by_other_user``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
MembersSetProfileError_validator = bv.Union(MembersSetProfileError)
class MembersSuspendError(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 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
suspend_inactive_user = None
# Attribute is overwritten below the class definition
suspend_last_admin = None
# Attribute is overwritten below the class definition
team_license_limit = None
def is_suspend_inactive_user(self):
"""
Check if the union tag is ``suspend_inactive_user``.
:rtype: bool
"""
return self._tag == 'suspend_inactive_user'
def is_suspend_last_admin(self):
"""
Check if the union tag is ``suspend_last_admin``.
:rtype: bool
"""
return self._tag == 'suspend_last_admin'
def is_team_license_limit(self):
"""
Check if the union tag is ``team_license_limit``.
:rtype: bool
"""
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 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 team.MembersUnsuspendArg.user: Identity of user to unsuspend.
"""
__slots__ = [
'_user_value',
'_user_present',
]
_has_required_fields = True
def __init__(self,
user=None):
self._user_value = None
self._user_present = False
if user is not None:
self.user = user
@property
def user(self):
"""
Identity of user to unsuspend.
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
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,
)
MembersUnsuspendArg_validator = bv.Struct(MembersUnsuspendArg)
class MembersUnsuspendError(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 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
unsuspend_non_suspended_member = None
# Attribute is overwritten below the class definition
team_license_limit = None
def is_unsuspend_non_suspended_member(self):
"""
Check if the union tag is ``unsuspend_non_suspended_member``.
:rtype: bool
"""
return self._tag == 'unsuspend_non_suspended_member'
def is_team_license_limit(self):
"""
Check if the union tag is ``team_license_limit``.
:rtype: bool
"""
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)
MembersUnsuspendError_validator = bv.Union(MembersUnsuspendError)
class MobileClientPlatform(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.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'
# Attribute is overwritten below the class definition
iphone = None
# Attribute is overwritten below the class definition
ipad = None
# Attribute is overwritten below the class definition
android = None
# Attribute is overwritten below the class definition
windows_phone = None
# Attribute is overwritten below the class definition
blackberry = None
# Attribute is overwritten below the class definition
other = None
def is_iphone(self):
"""
Check if the union tag is ``iphone``.
:rtype: bool
"""
return self._tag == 'iphone'
def is_ipad(self):
"""
Check if the union tag is ``ipad``.
:rtype: bool
"""
return self._tag == 'ipad'
def is_android(self):
"""
Check if the union tag is ``android``.
:rtype: bool
"""
return self._tag == 'android'
def is_windows_phone(self):
"""
Check if the union tag is ``windows_phone``.
:rtype: bool
"""
return self._tag == 'windows_phone'
def is_blackberry(self):
"""
Check if the union tag is ``blackberry``.
:rtype: bool
"""
return self._tag == 'blackberry'
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(MobileClientPlatform, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'MobileClientPlatform(%r, %r)' % (self._tag, self._value)
MobileClientPlatform_validator = bv.Union(MobileClientPlatform)
class MobileClientSession(DeviceSession):
"""
Information about linked Dropbox mobile client sessions.
: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__ = [
'_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,
session_id=None,
device_name=None,
client_type=None,
ip_address=None,
country=None,
created=None,
updated=None,
client_version=None,
os_version=None,
last_carrier=None):
super(MobileClientSession, self).__init__(session_id,
ip_address,
country,
created,
updated)
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 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 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: 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(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,
self._device_name_value,
self._client_type_value,
self._ip_address_value,
self._country_value,
self._created_value,
self._updated_value,
self._client_version_value,
self._os_version_value,
self._last_carrier_value,
)
MobileClientSession_validator = bv.Struct(MobileClientSession)
class NamespaceMetadata(bb.Struct):
"""
Properties of a namespace.
: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__ = [
'_name_value',
'_name_present',
'_namespace_id_value',
'_namespace_id_present',
'_namespace_type_value',
'_namespace_type_present',
'_team_member_id_value',
'_team_member_id_present',
]
_has_required_fields = True
def __init__(self,
name=None,
namespace_id=None,
namespace_type=None,
team_member_id=None):
self._name_value = None
self._name_present = False
self._namespace_id_value = None
self._namespace_id_present = False
self._namespace_type_value = None
self._namespace_type_present = False
self._team_member_id_value = None
self._team_member_id_present = False
if name is not None:
self.name = name
if namespace_id is not None:
self.namespace_id = namespace_id
if namespace_type is not None:
self.namespace_type = namespace_type
if team_member_id is not None:
self.team_member_id = team_member_id
@property
def name(self):
"""
The name of this namespace.
: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 namespace_id(self):
"""
The ID of this namespace.
:rtype: str
"""
if self._namespace_id_present:
return self._namespace_id_value
else:
raise AttributeError("missing required field 'namespace_id'")
@namespace_id.setter
def namespace_id(self, val):
val = self._namespace_id_validator.validate(val)
self._namespace_id_value = val
self._namespace_id_present = True
@namespace_id.deleter
def namespace_id(self):
self._namespace_id_value = None
self._namespace_id_present = False
@property
def namespace_type(self):
"""
The type of this namespace.
:rtype: NamespaceType
"""
if self._namespace_type_present:
return self._namespace_type_value
else:
raise AttributeError("missing required field 'namespace_type'")
@namespace_type.setter
def namespace_type(self, val):
self._namespace_type_validator.validate_type_only(val)
self._namespace_type_value = val
self._namespace_type_present = True
@namespace_type.deleter
def namespace_type(self):
self._namespace_type_value = None
self._namespace_type_present = False
@property
def team_member_id(self):
"""
If this is a team member or app folder, the ID of the owning team
member. Otherwise, this field is not present.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
return None
@team_member_id.setter
def team_member_id(self, val):
if val is None:
del self.team_member_id
return
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
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,
self._namespace_id_value,
self._namespace_type_value,
self._team_member_id_value,
)
NamespaceMetadata_validator = bv.Struct(NamespaceMetadata)
class NamespaceType(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.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'
# Attribute is overwritten below the class definition
app_folder = None
# Attribute is overwritten below the class definition
shared_folder = None
# Attribute is overwritten below the class definition
team_folder = None
# Attribute is overwritten below the class definition
team_member_folder = None
# Attribute is overwritten below the class definition
other = None
def is_app_folder(self):
"""
Check if the union tag is ``app_folder``.
:rtype: bool
"""
return self._tag == 'app_folder'
def is_shared_folder(self):
"""
Check if the union tag is ``shared_folder``.
:rtype: bool
"""
return self._tag == 'shared_folder'
def is_team_folder(self):
"""
Check if the union tag is ``team_folder``.
:rtype: bool
"""
return self._tag == 'team_folder'
def is_team_member_folder(self):
"""
Check if the union tag is ``team_member_folder``.
:rtype: bool
"""
return self._tag == 'team_member_folder'
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(NamespaceType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'NamespaceType(%r, %r)' % (self._tag, self._value)
NamespaceType_validator = bv.Union(NamespaceType)
class RemoveCustomQuotaResult(bb.Union):
"""
User result for 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 UserSelectorArg RemoveCustomQuotaResult.success: Successfully removed
user.
:ivar UserSelectorArg RemoveCustomQuotaResult.invalid_user: Invalid user
(not in team).
"""
_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 UserSelectorArg val:
:rtype: RemoveCustomQuotaResult
"""
return cls('success', val)
@classmethod
def invalid_user(cls, val):
"""
Create an instance of this class set to the ``invalid_user`` tag with
value ``val``.
:param UserSelectorArg val:
:rtype: RemoveCustomQuotaResult
"""
return cls('invalid_user', val)
def is_success(self):
"""
Check if the union tag is ``success``.
:rtype: bool
"""
return self._tag == 'success'
def is_invalid_user(self):
"""
Check if the union tag is ``invalid_user``.
:rtype: bool
"""
return self._tag == 'invalid_user'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_success(self):
"""
Successfully removed user.
Only call this if :meth:`is_success` is true.
:rtype: UserSelectorArg
"""
if not self.is_success():
raise AttributeError("tag 'success' not set")
return self._value
def get_invalid_user(self):
"""
Invalid user (not in team).
Only call this if :meth:`is_invalid_user` is true.
:rtype: UserSelectorArg
"""
if not self.is_invalid_user():
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(bb.Struct):
"""
: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_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):
"""
True if the removed team member is recoverable.
:rtype: bool
"""
if self._is_recoverable_present:
return self._is_recoverable_value
else:
raise AttributeError("missing required field 'is_recoverable'")
@is_recoverable.setter
def is_recoverable(self, val):
val = self._is_recoverable_validator.validate(val)
self._is_recoverable_value = val
self._is_recoverable_present = True
@is_recoverable.deleter
def is_recoverable(self):
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}, is_disconnected={!r})'.format(
self._is_recoverable_value,
self._is_disconnected_value,
)
RemovedStatus_validator = bv.Struct(RemovedStatus)
class RevokeDesktopClientArg(DeviceSessionArg):
"""
: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__ = [
'_delete_on_unlink_value',
'_delete_on_unlink_present',
]
_has_required_fields = True
def __init__(self,
session_id=None,
team_member_id=None,
delete_on_unlink=None):
super(RevokeDesktopClientArg, self).__init__(session_id,
team_member_id)
self._delete_on_unlink_value = None
self._delete_on_unlink_present = False
if delete_on_unlink is not None:
self.delete_on_unlink = delete_on_unlink
@property
def delete_on_unlink(self):
"""
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).
:rtype: bool
"""
if self._delete_on_unlink_present:
return self._delete_on_unlink_value
else:
return False
@delete_on_unlink.setter
def delete_on_unlink(self, val):
val = self._delete_on_unlink_validator.validate(val)
self._delete_on_unlink_value = val
self._delete_on_unlink_present = True
@delete_on_unlink.deleter
def delete_on_unlink(self):
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,
self._team_member_id_value,
self._delete_on_unlink_value,
)
RevokeDesktopClientArg_validator = bv.Struct(RevokeDesktopClientArg)
class RevokeDeviceSessionArg(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 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
@classmethod
def web_session(cls, val):
"""
Create an instance of this class set to the ``web_session`` tag with
value ``val``.
:param DeviceSessionArg val:
:rtype: RevokeDeviceSessionArg
"""
return cls('web_session', val)
@classmethod
def desktop_client(cls, val):
"""
Create an instance of this class set to the ``desktop_client`` tag with
value ``val``.
:param RevokeDesktopClientArg val:
:rtype: RevokeDeviceSessionArg
"""
return cls('desktop_client', val)
@classmethod
def mobile_client(cls, val):
"""
Create an instance of this class set to the ``mobile_client`` tag with
value ``val``.
:param DeviceSessionArg val:
:rtype: RevokeDeviceSessionArg
"""
return cls('mobile_client', val)
def is_web_session(self):
"""
Check if the union tag is ``web_session``.
:rtype: bool
"""
return self._tag == 'web_session'
def is_desktop_client(self):
"""
Check if the union tag is ``desktop_client``.
:rtype: bool
"""
return self._tag == 'desktop_client'
def is_mobile_client(self):
"""
Check if the union tag is ``mobile_client``.
:rtype: bool
"""
return self._tag == 'mobile_client'
def get_web_session(self):
"""
End an active session.
Only call this if :meth:`is_web_session` is true.
:rtype: DeviceSessionArg
"""
if not self.is_web_session():
raise AttributeError("tag 'web_session' not set")
return self._value
def get_desktop_client(self):
"""
Unlink a linked desktop device.
Only call this if :meth:`is_desktop_client` is true.
:rtype: RevokeDesktopClientArg
"""
if not self.is_desktop_client():
raise AttributeError("tag 'desktop_client' not set")
return self._value
def get_mobile_client(self):
"""
Unlink a linked mobile device.
Only call this if :meth:`is_mobile_client` is true.
:rtype: DeviceSessionArg
"""
if not self.is_mobile_client():
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(bb.Struct):
__slots__ = [
'_revoke_devices_value',
'_revoke_devices_present',
]
_has_required_fields = True
def __init__(self,
revoke_devices=None):
self._revoke_devices_value = None
self._revoke_devices_present = False
if revoke_devices is not None:
self.revoke_devices = revoke_devices
@property
def revoke_devices(self):
"""
:rtype: list of [RevokeDeviceSessionArg]
"""
if self._revoke_devices_present:
return self._revoke_devices_value
else:
raise AttributeError("missing required field 'revoke_devices'")
@revoke_devices.setter
def revoke_devices(self, val):
val = self._revoke_devices_validator.validate(val)
self._revoke_devices_value = val
self._revoke_devices_present = True
@revoke_devices.deleter
def revoke_devices(self):
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,
)
RevokeDeviceSessionBatchArg_validator = bv.Struct(RevokeDeviceSessionBatchArg)
class RevokeDeviceSessionBatchError(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
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(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(bb.Struct):
__slots__ = [
'_revoke_devices_status_value',
'_revoke_devices_status_present',
]
_has_required_fields = True
def __init__(self,
revoke_devices_status=None):
self._revoke_devices_status_value = None
self._revoke_devices_status_present = False
if revoke_devices_status is not None:
self.revoke_devices_status = revoke_devices_status
@property
def revoke_devices_status(self):
"""
:rtype: list of [RevokeDeviceSessionStatus]
"""
if self._revoke_devices_status_present:
return self._revoke_devices_status_value
else:
raise AttributeError("missing required field 'revoke_devices_status'")
@revoke_devices_status.setter
def revoke_devices_status(self, val):
val = self._revoke_devices_status_validator.validate(val)
self._revoke_devices_status_value = val
self._revoke_devices_status_present = True
@revoke_devices_status.deleter
def revoke_devices_status(self):
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,
)
RevokeDeviceSessionBatchResult_validator = bv.Struct(RevokeDeviceSessionBatchResult)
class RevokeDeviceSessionError(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.RevokeDeviceSessionError.device_session_not_found: Device session
not found.
:ivar team.RevokeDeviceSessionError.member_not_found: Member not found.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
device_session_not_found = None
# Attribute is overwritten below the class definition
member_not_found = None
# Attribute is overwritten below the class definition
other = None
def is_device_session_not_found(self):
"""
Check if the union tag is ``device_session_not_found``.
:rtype: bool
"""
return self._tag == 'device_session_not_found'
def is_member_not_found(self):
"""
Check if the union tag is ``member_not_found``.
:rtype: bool
"""
return self._tag == 'member_not_found'
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(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(bb.Struct):
"""
:ivar team.RevokeDeviceSessionStatus.success: Result of the revoking
request.
:ivar team.RevokeDeviceSessionStatus.error_type: The error cause in case of
a failure.
"""
__slots__ = [
'_success_value',
'_success_present',
'_error_type_value',
'_error_type_present',
]
_has_required_fields = True
def __init__(self,
success=None,
error_type=None):
self._success_value = None
self._success_present = False
self._error_type_value = None
self._error_type_present = False
if success is not None:
self.success = success
if error_type is not None:
self.error_type = error_type
@property
def success(self):
"""
Result of the revoking request.
:rtype: bool
"""
if self._success_present:
return self._success_value
else:
raise AttributeError("missing required field 'success'")
@success.setter
def success(self, val):
val = self._success_validator.validate(val)
self._success_value = val
self._success_present = True
@success.deleter
def success(self):
self._success_value = None
self._success_present = False
@property
def error_type(self):
"""
The error cause in case of a failure.
:rtype: RevokeDeviceSessionError
"""
if self._error_type_present:
return self._error_type_value
else:
return None
@error_type.setter
def error_type(self, val):
if val is None:
del self.error_type
return
self._error_type_validator.validate_type_only(val)
self._error_type_value = val
self._error_type_present = True
@error_type.deleter
def error_type(self):
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,
self._error_type_value,
)
RevokeDeviceSessionStatus_validator = bv.Struct(RevokeDeviceSessionStatus)
class RevokeLinkedApiAppArg(bb.Struct):
"""
: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__ = [
'_app_id_value',
'_app_id_present',
'_team_member_id_value',
'_team_member_id_present',
'_keep_app_folder_value',
'_keep_app_folder_present',
]
_has_required_fields = True
def __init__(self,
app_id=None,
team_member_id=None,
keep_app_folder=None):
self._app_id_value = None
self._app_id_present = False
self._team_member_id_value = None
self._team_member_id_present = False
self._keep_app_folder_value = None
self._keep_app_folder_present = False
if app_id is not None:
self.app_id = app_id
if team_member_id is not None:
self.team_member_id = team_member_id
if keep_app_folder is not None:
self.keep_app_folder = keep_app_folder
@property
def app_id(self):
"""
The application's unique id.
:rtype: str
"""
if self._app_id_present:
return self._app_id_value
else:
raise AttributeError("missing required field 'app_id'")
@app_id.setter
def app_id(self, val):
val = self._app_id_validator.validate(val)
self._app_id_value = val
self._app_id_present = True
@app_id.deleter
def app_id(self):
self._app_id_value = None
self._app_id_present = False
@property
def team_member_id(self):
"""
The unique id of the member owning the device.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
raise AttributeError("missing required field 'team_member_id'")
@team_member_id.setter
def team_member_id(self, val):
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def keep_app_folder(self):
"""
Whether to keep the application dedicated folder (in case the
application uses one).
:rtype: bool
"""
if self._keep_app_folder_present:
return self._keep_app_folder_value
else:
return True
@keep_app_folder.setter
def keep_app_folder(self, val):
val = self._keep_app_folder_validator.validate(val)
self._keep_app_folder_value = val
self._keep_app_folder_present = True
@keep_app_folder.deleter
def keep_app_folder(self):
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,
self._team_member_id_value,
self._keep_app_folder_value,
)
RevokeLinkedApiAppArg_validator = bv.Struct(RevokeLinkedApiAppArg)
class RevokeLinkedApiAppBatchArg(bb.Struct):
__slots__ = [
'_revoke_linked_app_value',
'_revoke_linked_app_present',
]
_has_required_fields = True
def __init__(self,
revoke_linked_app=None):
self._revoke_linked_app_value = None
self._revoke_linked_app_present = False
if revoke_linked_app is not None:
self.revoke_linked_app = revoke_linked_app
@property
def revoke_linked_app(self):
"""
:rtype: list of [RevokeLinkedApiAppArg]
"""
if self._revoke_linked_app_present:
return self._revoke_linked_app_value
else:
raise AttributeError("missing required field 'revoke_linked_app'")
@revoke_linked_app.setter
def revoke_linked_app(self, val):
val = self._revoke_linked_app_validator.validate(val)
self._revoke_linked_app_value = val
self._revoke_linked_app_present = True
@revoke_linked_app.deleter
def revoke_linked_app(self):
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,
)
RevokeLinkedApiAppBatchArg_validator = bv.Struct(RevokeLinkedApiAppBatchArg)
class RevokeLinkedAppBatchError(bb.Union):
"""
Error returned by
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_revoke_linked_app_batch`.
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
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(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(bb.Struct):
__slots__ = [
'_revoke_linked_app_status_value',
'_revoke_linked_app_status_present',
]
_has_required_fields = True
def __init__(self,
revoke_linked_app_status=None):
self._revoke_linked_app_status_value = None
self._revoke_linked_app_status_present = False
if revoke_linked_app_status is not None:
self.revoke_linked_app_status = revoke_linked_app_status
@property
def revoke_linked_app_status(self):
"""
:rtype: list of [RevokeLinkedAppStatus]
"""
if self._revoke_linked_app_status_present:
return self._revoke_linked_app_status_value
else:
raise AttributeError("missing required field 'revoke_linked_app_status'")
@revoke_linked_app_status.setter
def revoke_linked_app_status(self, val):
val = self._revoke_linked_app_status_validator.validate(val)
self._revoke_linked_app_status_value = val
self._revoke_linked_app_status_present = True
@revoke_linked_app_status.deleter
def revoke_linked_app_status(self):
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,
)
RevokeLinkedAppBatchResult_validator = bv.Struct(RevokeLinkedAppBatchResult)
class RevokeLinkedAppError(bb.Union):
"""
Error returned by
:meth:`dropbox.dropbox.Dropbox.team_linked_apps_revoke_linked_app`.
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.RevokeLinkedAppError.app_not_found: Application not found.
:ivar team.RevokeLinkedAppError.member_not_found: Member not found.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
app_not_found = None
# Attribute is overwritten below the class definition
member_not_found = None
# Attribute is overwritten below the class definition
other = None
def is_app_not_found(self):
"""
Check if the union tag is ``app_not_found``.
:rtype: bool
"""
return self._tag == 'app_not_found'
def is_member_not_found(self):
"""
Check if the union tag is ``member_not_found``.
:rtype: bool
"""
return self._tag == 'member_not_found'
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(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(bb.Struct):
"""
:ivar team.RevokeLinkedAppStatus.success: Result of the revoking request.
:ivar team.RevokeLinkedAppStatus.error_type: The error cause in case of a
failure.
"""
__slots__ = [
'_success_value',
'_success_present',
'_error_type_value',
'_error_type_present',
]
_has_required_fields = True
def __init__(self,
success=None,
error_type=None):
self._success_value = None
self._success_present = False
self._error_type_value = None
self._error_type_present = False
if success is not None:
self.success = success
if error_type is not None:
self.error_type = error_type
@property
def success(self):
"""
Result of the revoking request.
:rtype: bool
"""
if self._success_present:
return self._success_value
else:
raise AttributeError("missing required field 'success'")
@success.setter
def success(self, val):
val = self._success_validator.validate(val)
self._success_value = val
self._success_present = True
@success.deleter
def success(self):
self._success_value = None
self._success_present = False
@property
def error_type(self):
"""
The error cause in case of a failure.
:rtype: RevokeLinkedAppError
"""
if self._error_type_present:
return self._error_type_value
else:
return None
@error_type.setter
def error_type(self, val):
if val is None:
del self.error_type
return
self._error_type_validator.validate_type_only(val)
self._error_type_value = val
self._error_type_present = True
@error_type.deleter
def error_type(self):
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,
self._error_type_value,
)
RevokeLinkedAppStatus_validator = bv.Struct(RevokeLinkedAppStatus)
class SetCustomQuotaArg(bb.Struct):
"""
:ivar team.SetCustomQuotaArg.users_and_quotas: List of users and their
custom quotas.
"""
__slots__ = [
'_users_and_quotas_value',
'_users_and_quotas_present',
]
_has_required_fields = True
def __init__(self,
users_and_quotas=None):
self._users_and_quotas_value = None
self._users_and_quotas_present = False
if users_and_quotas is not None:
self.users_and_quotas = users_and_quotas
@property
def users_and_quotas(self):
"""
List of users and their custom quotas.
:rtype: list of [UserCustomQuotaArg]
"""
if self._users_and_quotas_present:
return self._users_and_quotas_value
else:
raise AttributeError("missing required field 'users_and_quotas'")
@users_and_quotas.setter
def users_and_quotas(self, val):
val = self._users_and_quotas_validator.validate(val)
self._users_and_quotas_value = val
self._users_and_quotas_present = True
@users_and_quotas.deleter
def users_and_quotas(self):
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,
)
SetCustomQuotaArg_validator = bv.Struct(SetCustomQuotaArg)
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 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__ = [
'_bucket_value',
'_bucket_present',
'_users_value',
'_users_present',
]
_has_required_fields = True
def __init__(self,
bucket=None,
users=None):
self._bucket_value = None
self._bucket_present = False
self._users_value = None
self._users_present = False
if bucket is not None:
self.bucket = bucket
if users is not None:
self.users = users
@property
def bucket(self):
"""
The name of the storage bucket. For example, '1G' is a bucket of users
with storage size up to 1 Giga.
:rtype: str
"""
if self._bucket_present:
return self._bucket_value
else:
raise AttributeError("missing required field 'bucket'")
@bucket.setter
def bucket(self, val):
val = self._bucket_validator.validate(val)
self._bucket_value = val
self._bucket_present = True
@bucket.deleter
def bucket(self):
self._bucket_value = None
self._bucket_present = False
@property
def users(self):
"""
The number of people whose storage is in the range of this storage
bucket.
:rtype: int
"""
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
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,
self._users_value,
)
StorageBucket_validator = bv.Struct(StorageBucket)
class TeamFolderAccessError(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.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'
# Attribute is overwritten below the class definition
invalid_team_folder_id = None
# Attribute is overwritten below the class definition
no_access = None
# Attribute is overwritten below the class definition
other = None
def is_invalid_team_folder_id(self):
"""
Check if the union tag is ``invalid_team_folder_id``.
:rtype: bool
"""
return self._tag == 'invalid_team_folder_id'
def is_no_access(self):
"""
Check if the union tag is ``no_access``.
:rtype: bool
"""
return self._tag == 'no_access'
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(TeamFolderAccessError, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'TeamFolderAccessError(%r, %r)' % (self._tag, self._value)
TeamFolderAccessError_validator = bv.Union(TeamFolderAccessError)
class TeamFolderActivateError(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.
"""
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(bb.Struct):
"""
:ivar team.TeamFolderIdArg.team_folder_id: The ID of the team folder.
"""
__slots__ = [
'_team_folder_id_value',
'_team_folder_id_present',
]
_has_required_fields = True
def __init__(self,
team_folder_id=None):
self._team_folder_id_value = None
self._team_folder_id_present = False
if team_folder_id is not None:
self.team_folder_id = team_folder_id
@property
def team_folder_id(self):
"""
The ID of the team folder.
:rtype: str
"""
if self._team_folder_id_present:
return self._team_folder_id_value
else:
raise AttributeError("missing required field 'team_folder_id'")
@team_folder_id.setter
def team_folder_id(self, val):
val = self._team_folder_id_validator.validate(val)
self._team_folder_id_value = val
self._team_folder_id_present = True
@team_folder_id.deleter
def team_folder_id(self):
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,
)
TeamFolderIdArg_validator = bv.Struct(TeamFolderIdArg)
class TeamFolderArchiveArg(TeamFolderIdArg):
"""
:ivar team.TeamFolderArchiveArg.force_async_off: Whether to force the
archive to happen synchronously.
"""
__slots__ = [
'_force_async_off_value',
'_force_async_off_present',
]
_has_required_fields = True
def __init__(self,
team_folder_id=None,
force_async_off=None):
super(TeamFolderArchiveArg, self).__init__(team_folder_id)
self._force_async_off_value = None
self._force_async_off_present = False
if force_async_off is not None:
self.force_async_off = force_async_off
@property
def force_async_off(self):
"""
Whether to force the archive to happen synchronously.
:rtype: bool
"""
if self._force_async_off_present:
return self._force_async_off_value
else:
return False
@force_async_off.setter
def force_async_off(self, val):
val = self._force_async_off_validator.validate(val)
self._force_async_off_value = val
self._force_async_off_present = True
@force_async_off.deleter
def force_async_off(self):
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,
self._force_async_off_value,
)
TeamFolderArchiveArg_validator = bv.Struct(TeamFolderArchiveArg)
class TeamFolderArchiveError(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.
"""
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):
"""
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 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`.
"""
@classmethod
def complete(cls, val):
"""
Create an instance of this class set to the ``complete`` tag with value
``val``.
:param TeamFolderMetadata val:
:rtype: TeamFolderArchiveJobStatus
"""
return cls('complete', val)
@classmethod
def failed(cls, val):
"""
Create an instance of this class set to the ``failed`` tag with value
``val``.
:param TeamFolderArchiveError val:
:rtype: TeamFolderArchiveJobStatus
"""
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 get_complete(self):
"""
The archive job has finished. The value is the metadata for the
resulting team folder.
Only call this if :meth:`is_complete` is true.
:rtype: TeamFolderMetadata
"""
if not self.is_complete():
raise AttributeError("tag 'complete' not set")
return self._value
def get_failed(self):
"""
Error occurred while performing an asynchronous job from
:meth:`dropbox.dropbox.Dropbox.team_team_folder_archive`.
Only call this if :meth:`is_failed` is true.
:rtype: TeamFolderArchiveError
"""
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(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):
"""
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 TeamFolderMetadata val:
:rtype: TeamFolderArchiveLaunch
"""
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: TeamFolderMetadata
"""
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(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(bb.Struct):
"""
: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,
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):
"""
Name for the new team folder.
:rtype: str
"""
if self._name_present:
return self._name_value
else:
raise AttributeError("missing required field 'name'")
@name.setter
def name(self, val):
val = self._name_validator.validate(val)
self._name_value = val
self._name_present = True
@name.deleter
def name(self):
self._name_value = None
self._name_present = False
@property
def 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}, sync_setting={!r})'.format(
self._name_value,
self._sync_setting_value,
)
TeamFolderCreateArg_validator = bv.Struct(TeamFolderCreateArg)
class TeamFolderCreateError(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.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'
# Attribute is overwritten below the class definition
invalid_folder_name = None
# Attribute is overwritten below the class definition
folder_name_already_used = None
# Attribute is overwritten below the class definition
folder_name_reserved = None
# 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``.
:rtype: bool
"""
return self._tag == 'invalid_folder_name'
def is_folder_name_already_used(self):
"""
Check if the union tag is ``folder_name_already_used``.
:rtype: bool
"""
return self._tag == 'folder_name_already_used'
def is_folder_name_reserved(self):
"""
Check if the union tag is ``folder_name_reserved``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
TeamFolderCreateError_validator = bv.Union(TeamFolderCreateError)
class TeamFolderGetInfoItem(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 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
@classmethod
def id_not_found(cls, val):
"""
Create an instance of this class set to the ``id_not_found`` tag with
value ``val``.
:param str val:
:rtype: TeamFolderGetInfoItem
"""
return cls('id_not_found', val)
@classmethod
def team_folder_metadata(cls, val):
"""
Create an instance of this class set to the ``team_folder_metadata`` tag
with value ``val``.
:param TeamFolderMetadata val:
:rtype: TeamFolderGetInfoItem
"""
return cls('team_folder_metadata', val)
def is_id_not_found(self):
"""
Check if the union tag is ``id_not_found``.
:rtype: bool
"""
return self._tag == 'id_not_found'
def is_team_folder_metadata(self):
"""
Check if the union tag is ``team_folder_metadata``.
:rtype: bool
"""
return self._tag == 'team_folder_metadata'
def get_id_not_found(self):
"""
An ID that was provided as a parameter to
:meth:`dropbox.dropbox.Dropbox.team_team_folder_get_info` did not match
any of the team's team folders.
Only call this if :meth:`is_id_not_found` is true.
:rtype: str
"""
if not self.is_id_not_found():
raise AttributeError("tag 'id_not_found' not set")
return self._value
def get_team_folder_metadata(self):
"""
Properties of a team folder.
Only call this if :meth:`is_team_folder_metadata` is true.
:rtype: TeamFolderMetadata
"""
if not self.is_team_folder_metadata():
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(bb.Struct):
"""
:ivar team.TeamFolderIdListArg.team_folder_ids: The list of team folder IDs.
"""
__slots__ = [
'_team_folder_ids_value',
'_team_folder_ids_present',
]
_has_required_fields = True
def __init__(self,
team_folder_ids=None):
self._team_folder_ids_value = None
self._team_folder_ids_present = False
if team_folder_ids is not None:
self.team_folder_ids = team_folder_ids
@property
def team_folder_ids(self):
"""
The list of team folder IDs.
:rtype: list of [str]
"""
if self._team_folder_ids_present:
return self._team_folder_ids_value
else:
raise AttributeError("missing required field 'team_folder_ids'")
@team_folder_ids.setter
def team_folder_ids(self, val):
val = self._team_folder_ids_validator.validate(val)
self._team_folder_ids_value = val
self._team_folder_ids_present = True
@team_folder_ids.deleter
def team_folder_ids(self):
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,
)
TeamFolderIdListArg_validator = bv.Struct(TeamFolderIdListArg)
class TeamFolderInvalidStatusError(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.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'
# Attribute is overwritten below the class definition
active = None
# Attribute is overwritten below the class definition
archived = None
# Attribute is overwritten below the class definition
archive_in_progress = None
# Attribute is overwritten below the class definition
other = None
def is_active(self):
"""
Check if the union tag is ``active``.
:rtype: bool
"""
return self._tag == 'active'
def is_archived(self):
"""
Check if the union tag is ``archived``.
:rtype: bool
"""
return self._tag == 'archived'
def is_archive_in_progress(self):
"""
Check if the union tag is ``archive_in_progress``.
:rtype: bool
"""
return self._tag == 'archive_in_progress'
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(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(bb.Struct):
"""
:ivar team.TeamFolderListArg.limit: The maximum number of results to return
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 results to return 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(TeamFolderListArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'TeamFolderListArg(limit={!r})'.format(
self._limit_value,
)
TeamFolderListArg_validator = bv.Struct(TeamFolderListArg)
class TeamFolderListContinueArg(bb.Struct):
"""
:ivar team.TeamFolderListContinueArg.cursor: Indicates from what point to
get the next set of team folders.
"""
__slots__ = [
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
cursor=None):
self._cursor_value = None
self._cursor_present = False
if cursor is not None:
self.cursor = cursor
@property
def cursor(self):
"""
Indicates from what point to get the next set of team folders.
:rtype: str
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
val = self._cursor_validator.validate(val)
self._cursor_value = val
self._cursor_present = True
@cursor.deleter
def cursor(self):
self._cursor_value = None
self._cursor_present = False
def _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,
)
TeamFolderListContinueArg_validator = bv.Struct(TeamFolderListContinueArg)
class TeamFolderListContinueError(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar team.TeamFolderListContinueError.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(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(bb.Struct):
__slots__ = [
'_access_error_value',
'_access_error_present',
]
_has_required_fields = True
def __init__(self,
access_error=None):
self._access_error_value = None
self._access_error_present = False
if access_error is not None:
self.access_error = access_error
@property
def access_error(self):
"""
:rtype: TeamFolderAccessError
"""
if self._access_error_present:
return self._access_error_value
else:
raise AttributeError("missing required field 'access_error'")
@access_error.setter
def access_error(self, val):
self._access_error_validator.validate_type_only(val)
self._access_error_value = val
self._access_error_present = True
@access_error.deleter
def access_error(self):
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,
)
TeamFolderListError_validator = bv.Struct(TeamFolderListError)
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.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 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.
"""
__slots__ = [
'_team_folders_value',
'_team_folders_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
team_folders=None,
cursor=None,
has_more=None):
self._team_folders_value = None
self._team_folders_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if team_folders is not None:
self.team_folders = team_folders
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def team_folders(self):
"""
List of all team folders in the authenticated team.
:rtype: list of [TeamFolderMetadata]
"""
if self._team_folders_present:
return self._team_folders_value
else:
raise AttributeError("missing required field 'team_folders'")
@team_folders.setter
def team_folders(self, val):
val = self._team_folders_validator.validate(val)
self._team_folders_value = val
self._team_folders_present = True
@team_folders.deleter
def team_folders(self):
self._team_folders_value = None
self._team_folders_present = False
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_team_folder_list_continue` to obtain
additional team folders.
:rtype: str
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
val = self._cursor_validator.validate(val)
self._cursor_value = val
self._cursor_present = True
@cursor.deleter
def cursor(self):
self._cursor_value = None
self._cursor_present = False
@property
def has_more(self):
"""
Is true if there are additional team folders that have not been returned
yet. An additional call to
:meth:`dropbox.dropbox.Dropbox.team_team_folder_list_continue` can
retrieve them.
:rtype: bool
"""
if self._has_more_present:
return self._has_more_value
else:
raise AttributeError("missing required field 'has_more'")
@has_more.setter
def has_more(self, val):
val = self._has_more_validator.validate(val)
self._has_more_value = val
self._has_more_present = True
@has_more.deleter
def has_more(self):
self._has_more_value = None
self._has_more_present = False
def _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,
self._cursor_value,
self._has_more_value,
)
TeamFolderListResult_validator = bv.Struct(TeamFolderListResult)
class TeamFolderMetadata(bb.Struct):
"""
Properties of a team folder.
: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__ = [
'_team_folder_id_value',
'_team_folder_id_present',
'_name_value',
'_name_present',
'_status_value',
'_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
def __init__(self,
team_folder_id=None,
name=None,
status=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
self._name_present = False
self._status_value = None
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:
self.name = name
if status is not None:
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):
"""
The ID of the team folder.
:rtype: str
"""
if self._team_folder_id_present:
return self._team_folder_id_value
else:
raise AttributeError("missing required field 'team_folder_id'")
@team_folder_id.setter
def team_folder_id(self, val):
val = self._team_folder_id_validator.validate(val)
self._team_folder_id_value = val
self._team_folder_id_present = True
@team_folder_id.deleter
def team_folder_id(self):
self._team_folder_id_value = None
self._team_folder_id_present = False
@property
def name(self):
"""
The name of the team folder.
:rtype: str
"""
if self._name_present:
return self._name_value
else:
raise AttributeError("missing required field 'name'")
@name.setter
def name(self, val):
val = self._name_validator.validate(val)
self._name_value = val
self._name_present = True
@name.deleter
def name(self):
self._name_value = None
self._name_present = False
@property
def status(self):
"""
The status of the team folder.
:rtype: TeamFolderStatus
"""
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
@property
def is_team_shared_dropbox(self):
"""
True if this team folder is a shared team root.
:rtype: bool
"""
if self._is_team_shared_dropbox_present:
return self._is_team_shared_dropbox_value
else:
raise AttributeError("missing required field 'is_team_shared_dropbox'")
@is_team_shared_dropbox.setter
def is_team_shared_dropbox(self, val):
val = self._is_team_shared_dropbox_validator.validate(val)
self._is_team_shared_dropbox_value = val
self._is_team_shared_dropbox_present = True
@is_team_shared_dropbox.deleter
def is_team_shared_dropbox(self):
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}, 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)
class TeamFolderPermanentlyDeleteError(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.
"""
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)
TeamFolderPermanentlyDeleteError_validator = bv.Union(TeamFolderPermanentlyDeleteError)
class TeamFolderRenameArg(TeamFolderIdArg):
"""
:ivar team.TeamFolderRenameArg.name: New team folder name.
"""
__slots__ = [
'_name_value',
'_name_present',
]
_has_required_fields = True
def __init__(self,
team_folder_id=None,
name=None):
super(TeamFolderRenameArg, self).__init__(team_folder_id)
self._name_value = None
self._name_present = False
if name is not None:
self.name = name
@property
def name(self):
"""
New team folder name.
: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
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,
self._name_value,
)
TeamFolderRenameArg_validator = bv.Struct(TeamFolderRenameArg)
class TeamFolderRenameError(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 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
invalid_folder_name = None
# Attribute is overwritten below the class definition
folder_name_already_used = None
# Attribute is overwritten below the class definition
folder_name_reserved = None
def is_invalid_folder_name(self):
"""
Check if the union tag is ``invalid_folder_name``.
:rtype: bool
"""
return self._tag == 'invalid_folder_name'
def is_folder_name_already_used(self):
"""
Check if the union tag is ``folder_name_already_used``.
:rtype: bool
"""
return self._tag == 'folder_name_already_used'
def is_folder_name_reserved(self):
"""
Check if the union tag is ``folder_name_reserved``.
:rtype: bool
"""
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)
TeamFolderRenameError_validator = bv.Union(TeamFolderRenameError)
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.
: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'
# Attribute is overwritten below the class definition
active = None
# Attribute is overwritten below the class definition
archived = None
# Attribute is overwritten below the class definition
archive_in_progress = None
# Attribute is overwritten below the class definition
other = None
def is_active(self):
"""
Check if the union tag is ``active``.
:rtype: bool
"""
return self._tag == 'active'
def is_archived(self):
"""
Check if the union tag is ``archived``.
:rtype: bool
"""
return self._tag == 'archived'
def is_archive_in_progress(self):
"""
Check if the union tag is ``archive_in_progress``.
:rtype: bool
"""
return self._tag == 'archive_in_progress'
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(TeamFolderStatus, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'TeamFolderStatus(%r, %r)' % (self._tag, self._value)
TeamFolderStatus_validator = bv.Union(TeamFolderStatus)
class TeamFolderTeamSharedDropboxError(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.TeamFolderTeamSharedDropboxError.disallowed: This action is not
allowed for a shared team root.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
disallowed = None
# Attribute is overwritten below the class definition
other = None
def is_disallowed(self):
"""
Check if the union tag is ``disallowed``.
:rtype: bool
"""
return self._tag == 'disallowed'
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(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 TeamFolderUpdateSyncSettingsArg(TeamFolderIdArg):
"""
: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__ = [
'_name_value',
'_name_present',
'_team_id_value',
'_team_id_present',
'_num_licensed_users_value',
'_num_licensed_users_present',
'_num_provisioned_users_value',
'_num_provisioned_users_present',
'_policies_value',
'_policies_present',
]
_has_required_fields = True
def __init__(self,
name=None,
team_id=None,
num_licensed_users=None,
num_provisioned_users=None,
policies=None):
self._name_value = None
self._name_present = False
self._team_id_value = None
self._team_id_present = False
self._num_licensed_users_value = None
self._num_licensed_users_present = False
self._num_provisioned_users_value = None
self._num_provisioned_users_present = False
self._policies_value = None
self._policies_present = False
if name is not None:
self.name = name
if team_id is not None:
self.team_id = team_id
if num_licensed_users is not None:
self.num_licensed_users = num_licensed_users
if num_provisioned_users is not None:
self.num_provisioned_users = num_provisioned_users
if policies is not None:
self.policies = policies
@property
def name(self):
"""
The name of the team.
: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 team_id(self):
"""
The ID of the team.
:rtype: str
"""
if self._team_id_present:
return self._team_id_value
else:
raise AttributeError("missing required field 'team_id'")
@team_id.setter
def team_id(self, val):
val = self._team_id_validator.validate(val)
self._team_id_value = val
self._team_id_present = True
@team_id.deleter
def team_id(self):
self._team_id_value = None
self._team_id_present = False
@property
def num_licensed_users(self):
"""
The number of licenses available to the team.
:rtype: int
"""
if self._num_licensed_users_present:
return self._num_licensed_users_value
else:
raise AttributeError("missing required field 'num_licensed_users'")
@num_licensed_users.setter
def num_licensed_users(self, val):
val = self._num_licensed_users_validator.validate(val)
self._num_licensed_users_value = val
self._num_licensed_users_present = True
@num_licensed_users.deleter
def num_licensed_users(self):
self._num_licensed_users_value = None
self._num_licensed_users_present = False
@property
def num_provisioned_users(self):
"""
The number of accounts that have been invited or are already active
members of the team.
:rtype: int
"""
if self._num_provisioned_users_present:
return self._num_provisioned_users_value
else:
raise AttributeError("missing required field 'num_provisioned_users'")
@num_provisioned_users.setter
def num_provisioned_users(self, val):
val = self._num_provisioned_users_validator.validate(val)
self._num_provisioned_users_value = val
self._num_provisioned_users_present = True
@num_provisioned_users.deleter
def num_provisioned_users(self):
self._num_provisioned_users_value = None
self._num_provisioned_users_present = False
@property
def policies(self):
"""
:rtype: team_policies.TeamMemberPolicies
"""
if self._policies_present:
return self._policies_value
else:
raise AttributeError("missing required field 'policies'")
@policies.setter
def policies(self, val):
self._policies_validator.validate_type_only(val)
self._policies_value = val
self._policies_present = True
@policies.deleter
def policies(self):
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,
self._team_id_value,
self._num_licensed_users_value,
self._num_provisioned_users_value,
self._policies_value,
)
TeamGetInfoResult_validator = bv.Struct(TeamGetInfoResult)
class TeamMemberInfo(bb.Struct):
"""
Information about a team member.
: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__ = [
'_profile_value',
'_profile_present',
'_role_value',
'_role_present',
]
_has_required_fields = True
def __init__(self,
profile=None,
role=None):
self._profile_value = None
self._profile_present = False
self._role_value = None
self._role_present = False
if profile is not None:
self.profile = profile
if role is not None:
self.role = role
@property
def profile(self):
"""
Profile of a user as a member of a team.
:rtype: TeamMemberProfile
"""
if self._profile_present:
return self._profile_value
else:
raise AttributeError("missing required field 'profile'")
@profile.setter
def profile(self, val):
self._profile_validator.validate_type_only(val)
self._profile_value = val
self._profile_present = True
@profile.deleter
def profile(self):
self._profile_value = None
self._profile_present = False
@property
def role(self):
"""
The user's role in the team.
:rtype: AdminTier
"""
if self._role_present:
return self._role_value
else:
raise AttributeError("missing required field 'role'")
@role.setter
def role(self, val):
self._role_validator.validate_type_only(val)
self._role_value = val
self._role_present = True
@role.deleter
def role(self):
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,
self._role_value,
)
TeamMemberInfo_validator = bv.Struct(TeamMemberInfo)
class TeamMemberProfile(MemberProfile):
"""
Profile of a user as a member of a team.
: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__ = [
'_groups_value',
'_groups_present',
'_member_folder_id_value',
'_member_folder_id_present',
]
_has_required_fields = True
def __init__(self,
team_member_id=None,
email=None,
email_verified=None,
status=None,
name=None,
membership_type=None,
groups=None,
member_folder_id=None,
external_id=None,
account_id=None,
joined_on=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,
status,
name,
membership_type,
external_id,
account_id,
joined_on,
suspended_on,
persistent_id,
is_directory_restricted,
profile_photo_url)
self._groups_value = None
self._groups_present = False
self._member_folder_id_value = None
self._member_folder_id_present = False
if groups is not None:
self.groups = groups
if member_folder_id is not None:
self.member_folder_id = member_folder_id
@property
def groups(self):
"""
List of group IDs of groups that the user belongs to.
:rtype: list of [str]
"""
if self._groups_present:
return self._groups_value
else:
raise AttributeError("missing required field 'groups'")
@groups.setter
def groups(self, val):
val = self._groups_validator.validate(val)
self._groups_value = val
self._groups_present = True
@groups.deleter
def groups(self):
self._groups_value = None
self._groups_present = False
@property
def member_folder_id(self):
"""
The namespace id of the user's root folder.
:rtype: str
"""
if self._member_folder_id_present:
return self._member_folder_id_value
else:
raise AttributeError("missing required field 'member_folder_id'")
@member_folder_id.setter
def member_folder_id(self, val):
val = self._member_folder_id_validator.validate(val)
self._member_folder_id_value = val
self._member_folder_id_present = True
@member_folder_id.deleter
def member_folder_id(self):
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}, 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,
self._status_value,
self._name_value,
self._membership_type_value,
self._groups_value,
self._member_folder_id_value,
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)
class TeamMemberStatus(bb.Union):
"""
The user's status as a member of a specific 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.
: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
# Attribute is overwritten below the class definition
active = None
# Attribute is overwritten below the class definition
invited = None
# Attribute is overwritten below the class definition
suspended = None
@classmethod
def removed(cls, val):
"""
Create an instance of this class set to the ``removed`` tag with value
``val``.
:param RemovedStatus val:
:rtype: TeamMemberStatus
"""
return cls('removed', val)
def is_active(self):
"""
Check if the union tag is ``active``.
:rtype: bool
"""
return self._tag == 'active'
def is_invited(self):
"""
Check if the union tag is ``invited``.
:rtype: bool
"""
return self._tag == 'invited'
def is_suspended(self):
"""
Check if the union tag is ``suspended``.
:rtype: bool
"""
return self._tag == 'suspended'
def is_removed(self):
"""
Check if the union tag is ``removed``.
:rtype: bool
"""
return self._tag == 'removed'
def get_removed(self):
"""
User is no longer a member of the team. Removed users are only listed
when include_removed is true in members/list.
Only call this if :meth:`is_removed` is true.
:rtype: RemovedStatus
"""
if not self.is_removed():
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)
TeamMemberStatus_validator = bv.Union(TeamMemberStatus)
class TeamMembershipType(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.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
# Attribute is overwritten below the class definition
full = None
# Attribute is overwritten below the class definition
limited = None
def is_full(self):
"""
Check if the union tag is ``full``.
:rtype: bool
"""
return self._tag == 'full'
def is_limited(self):
"""
Check if the union tag is ``limited``.
:rtype: bool
"""
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(bb.Struct):
"""
:ivar team.TeamNamespacesListArg.limit: Specifying a value here has no
effect.
"""
__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):
"""
Specifying a value here has no effect.
: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(TeamNamespacesListArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'TeamNamespacesListArg(limit={!r})'.format(
self._limit_value,
)
TeamNamespacesListArg_validator = bv.Struct(TeamNamespacesListArg)
class TeamNamespacesListContinueArg(bb.Struct):
"""
:ivar team.TeamNamespacesListContinueArg.cursor: Indicates from what point
to get the next set of team-accessible namespaces.
"""
__slots__ = [
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
cursor=None):
self._cursor_value = None
self._cursor_present = False
if cursor is not None:
self.cursor = cursor
@property
def cursor(self):
"""
Indicates from what point to get the next set of team-accessible
namespaces.
: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(TeamNamespacesListContinueArg, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'TeamNamespacesListContinueArg(cursor={!r})'.format(
self._cursor_value,
)
TeamNamespacesListContinueArg_validator = bv.Struct(TeamNamespacesListContinueArg)
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 team.TeamNamespacesListError.invalid_arg: Argument passed in is
invalid.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
invalid_arg = None
# Attribute is overwritten below the class definition
other = None
def is_invalid_arg(self):
"""
Check if the union tag is ``invalid_arg``.
:rtype: bool
"""
return self._tag == 'invalid_arg'
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(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(bb.Struct):
"""
Result for :meth:`dropbox.dropbox.Dropbox.team_namespaces_list`.
: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 team.TeamNamespacesListResult.has_more: Is true if there are
additional namespaces that have not been returned yet.
"""
__slots__ = [
'_namespaces_value',
'_namespaces_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
namespaces=None,
cursor=None,
has_more=None):
self._namespaces_value = None
self._namespaces_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if namespaces is not None:
self.namespaces = namespaces
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def namespaces(self):
"""
List of all namespaces the team can access.
:rtype: list of [NamespaceMetadata]
"""
if self._namespaces_present:
return self._namespaces_value
else:
raise AttributeError("missing required field 'namespaces'")
@namespaces.setter
def namespaces(self, val):
val = self._namespaces_validator.validate(val)
self._namespaces_value = val
self._namespaces_present = True
@namespaces.deleter
def namespaces(self):
self._namespaces_value = None
self._namespaces_present = False
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_namespaces_list_continue` to obtain
additional namespaces. Note that duplicate namespaces may be returned.
: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 namespaces that have not been returned
yet.
: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(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,
self._cursor_value,
self._has_more_value,
)
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
:meth:`dropbox.dropbox.Dropbox.team_token_get_authenticated_admin`.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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'
# Attribute is overwritten below the class definition
mapping_not_found = None
# Attribute is overwritten below the class definition
admin_not_active = None
# Attribute is overwritten below the class definition
other = None
def is_mapping_not_found(self):
"""
Check if the union tag is ``mapping_not_found``.
:rtype: bool
"""
return self._tag == 'mapping_not_found'
def is_admin_not_active(self):
"""
Check if the union tag is ``admin_not_active``.
:rtype: bool
"""
return self._tag == 'admin_not_active'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Results for
:meth:`dropbox.dropbox.Dropbox.team_token_get_authenticated_admin`.
:ivar team.TokenGetAuthenticatedAdminResult.admin_profile: The admin who
authorized the token.
"""
__slots__ = [
'_admin_profile_value',
'_admin_profile_present',
]
_has_required_fields = True
def __init__(self,
admin_profile=None):
self._admin_profile_value = None
self._admin_profile_present = False
if admin_profile is not None:
self.admin_profile = admin_profile
@property
def admin_profile(self):
"""
The admin who authorized the token.
:rtype: TeamMemberProfile
"""
if self._admin_profile_present:
return self._admin_profile_value
else:
raise AttributeError("missing required field 'admin_profile'")
@admin_profile.setter
def admin_profile(self, val):
self._admin_profile_validator.validate_type_only(val)
self._admin_profile_value = val
self._admin_profile_present = True
@admin_profile.deleter
def admin_profile(self):
self._admin_profile_value = None
self._admin_profile_present = False
def _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,
)
TokenGetAuthenticatedAdminResult_validator = bv.Struct(TokenGetAuthenticatedAdminResult)
class UploadApiRateLimitValue(bb.Union):
"""
The value for ``Feature.upload_api_rate_limit``.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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'
# Attribute is overwritten below the class definition
unlimited = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def limit(cls, val):
"""
Create an instance of this class set to the ``limit`` tag with value
``val``.
:param int val:
:rtype: UploadApiRateLimitValue
"""
return cls('limit', val)
def is_unlimited(self):
"""
Check if the union tag is ``unlimited``.
:rtype: bool
"""
return self._tag == 'unlimited'
def is_limit(self):
"""
Check if the union tag is ``limit``.
:rtype: bool
"""
return self._tag == 'limit'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_limit(self):
"""
The number of upload API calls allowed per month.
Only call this if :meth:`is_limit` is true.
:rtype: 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(bb.Struct):
"""
User and their required custom quota in GB (1 TB = 1024 GB).
"""
__slots__ = [
'_user_value',
'_user_present',
'_quota_gb_value',
'_quota_gb_present',
]
_has_required_fields = True
def __init__(self,
user=None,
quota_gb=None):
self._user_value = None
self._user_present = False
self._quota_gb_value = None
self._quota_gb_present = False
if user is not None:
self.user = user
if quota_gb is not None:
self.quota_gb = quota_gb
@property
def user(self):
"""
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
self._user_value = None
self._user_present = False
@property
def quota_gb(self):
"""
:rtype: int
"""
if self._quota_gb_present:
return self._quota_gb_value
else:
raise AttributeError("missing required field 'quota_gb'")
@quota_gb.setter
def quota_gb(self, val):
val = self._quota_gb_validator.validate(val)
self._quota_gb_value = val
self._quota_gb_present = True
@quota_gb.deleter
def quota_gb(self):
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,
self._quota_gb_value,
)
UserCustomQuotaArg_validator = bv.Struct(UserCustomQuotaArg)
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.
"""
__slots__ = [
'_user_value',
'_user_present',
'_quota_gb_value',
'_quota_gb_present',
]
_has_required_fields = True
def __init__(self,
user=None,
quota_gb=None):
self._user_value = None
self._user_present = False
self._quota_gb_value = None
self._quota_gb_present = False
if user is not None:
self.user = user
if quota_gb is not None:
self.quota_gb = quota_gb
@property
def user(self):
"""
:rtype: UserSelectorArg
"""
if self._user_present:
return self._user_value
else:
raise AttributeError("missing required field 'user'")
@user.setter
def user(self, val):
self._user_validator.validate_type_only(val)
self._user_value = val
self._user_present = True
@user.deleter
def user(self):
self._user_value = None
self._user_present = False
@property
def quota_gb(self):
"""
:rtype: int
"""
if self._quota_gb_present:
return self._quota_gb_value
else:
return None
@quota_gb.setter
def quota_gb(self, val):
if val is None:
del self.quota_gb
return
val = self._quota_gb_validator.validate(val)
self._quota_gb_value = val
self._quota_gb_present = True
@quota_gb.deleter
def quota_gb(self):
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,
self._quota_gb_value,
)
UserCustomQuotaResult_validator = bv.Struct(UserCustomQuotaResult)
class UserSelectorArg(bb.Union):
"""
Argument for selecting a single user, either by team_member_id, external_id
or email.
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 team_member_id(cls, val):
"""
Create an instance of this class set to the ``team_member_id`` tag with
value ``val``.
:param str val:
:rtype: UserSelectorArg
"""
return cls('team_member_id', val)
@classmethod
def external_id(cls, val):
"""
Create an instance of this class set to the ``external_id`` tag with
value ``val``.
:param str val:
:rtype: UserSelectorArg
"""
return cls('external_id', val)
@classmethod
def email(cls, val):
"""
Create an instance of this class set to the ``email`` tag with value
``val``.
:param str val:
:rtype: UserSelectorArg
"""
return cls('email', val)
def is_team_member_id(self):
"""
Check if the union tag is ``team_member_id``.
:rtype: bool
"""
return self._tag == 'team_member_id'
def is_external_id(self):
"""
Check if the union tag is ``external_id``.
:rtype: bool
"""
return self._tag == 'external_id'
def is_email(self):
"""
Check if the union tag is ``email``.
:rtype: bool
"""
return self._tag == 'email'
def get_team_member_id(self):
"""
Only call this if :meth:`is_team_member_id` is true.
:rtype: str
"""
if not self.is_team_member_id():
raise AttributeError("tag 'team_member_id' not set")
return self._value
def get_external_id(self):
"""
Only call this if :meth:`is_external_id` is true.
:rtype: str
"""
if not self.is_external_id():
raise AttributeError("tag 'external_id' not set")
return self._value
def get_email(self):
"""
Only call this if :meth:`is_email` is true.
:rtype: str
"""
if not self.is_email():
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)
UserSelectorArg_validator = bv.Union(UserSelectorArg)
class UsersSelectorArg(bb.Union):
"""
Argument for selecting a list of users, either by team_member_ids,
external_ids or emails.
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] 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
@classmethod
def team_member_ids(cls, val):
"""
Create an instance of this class set to the ``team_member_ids`` tag with
value ``val``.
:param list of [str] val:
:rtype: UsersSelectorArg
"""
return cls('team_member_ids', val)
@classmethod
def external_ids(cls, val):
"""
Create an instance of this class set to the ``external_ids`` tag with
value ``val``.
:param list of [str] val:
:rtype: UsersSelectorArg
"""
return cls('external_ids', val)
@classmethod
def emails(cls, val):
"""
Create an instance of this class set to the ``emails`` tag with value
``val``.
:param list of [str] val:
:rtype: UsersSelectorArg
"""
return cls('emails', val)
def is_team_member_ids(self):
"""
Check if the union tag is ``team_member_ids``.
:rtype: bool
"""
return self._tag == 'team_member_ids'
def is_external_ids(self):
"""
Check if the union tag is ``external_ids``.
:rtype: bool
"""
return self._tag == 'external_ids'
def is_emails(self):
"""
Check if the union tag is ``emails``.
:rtype: bool
"""
return self._tag == 'emails'
def get_team_member_ids(self):
"""
List of member IDs.
Only call this if :meth:`is_team_member_ids` is true.
:rtype: list of [str]
"""
if not self.is_team_member_ids():
raise AttributeError("tag 'team_member_ids' not set")
return self._value
def get_external_ids(self):
"""
List of external user IDs.
Only call this if :meth:`is_external_ids` is true.
:rtype: list of [str]
"""
if not self.is_external_ids():
raise AttributeError("tag 'external_ids' not set")
return self._value
def get_emails(self):
"""
List of email addresses.
Only call this if :meth:`is_emails` is true.
:rtype: list of [str]
"""
if not self.is_emails():
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)
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=15)
DeviceSession._session_id_validator = bv.String()
DeviceSession._ip_address_validator = bv.Nullable(bv.String())
DeviceSession._country_validator = bv.Nullable(bv.String())
DeviceSession._created_validator = bv.Nullable(common.DropboxTimestamp_validator)
DeviceSession._updated_validator = bv.Nullable(common.DropboxTimestamp_validator)
DeviceSession._all_field_names_ = set([
'session_id',
'ip_address',
'country',
'created',
'updated',
])
DeviceSession._all_fields_ = [
('session_id', DeviceSession._session_id_validator),
('ip_address', DeviceSession._ip_address_validator),
('country', DeviceSession._country_validator),
('created', DeviceSession._created_validator),
('updated', DeviceSession._updated_validator),
]
ActiveWebSession._user_agent_validator = bv.String()
ActiveWebSession._os_validator = bv.String()
ActiveWebSession._browser_validator = bv.String()
ActiveWebSession._expires_validator = bv.Nullable(common.DropboxTimestamp_validator)
ActiveWebSession._all_field_names_ = DeviceSession._all_field_names_.union(set([
'user_agent',
'os',
'browser',
'expires',
]))
ActiveWebSession._all_fields_ = DeviceSession._all_fields_ + [
('user_agent', ActiveWebSession._user_agent_validator),
('os', ActiveWebSession._os_validator),
('browser', ActiveWebSession._browser_validator),
('expires', ActiveWebSession._expires_validator),
]
AdminTier._team_admin_validator = bv.Void()
AdminTier._user_management_admin_validator = bv.Void()
AdminTier._support_admin_validator = bv.Void()
AdminTier._member_only_validator = bv.Void()
AdminTier._tagmap = {
'team_admin': AdminTier._team_admin_validator,
'user_management_admin': AdminTier._user_management_admin_validator,
'support_admin': AdminTier._support_admin_validator,
'member_only': AdminTier._member_only_validator,
}
AdminTier.team_admin = AdminTier('team_admin')
AdminTier.user_management_admin = AdminTier('user_management_admin')
AdminTier.support_admin = AdminTier('support_admin')
AdminTier.member_only = AdminTier('member_only')
ApiApp._app_id_validator = bv.String()
ApiApp._app_name_validator = bv.String()
ApiApp._publisher_validator = bv.Nullable(bv.String())
ApiApp._publisher_url_validator = bv.Nullable(bv.String())
ApiApp._linked_validator = bv.Nullable(common.DropboxTimestamp_validator)
ApiApp._is_app_folder_validator = bv.Boolean()
ApiApp._all_field_names_ = set([
'app_id',
'app_name',
'publisher',
'publisher_url',
'linked',
'is_app_folder',
])
ApiApp._all_fields_ = [
('app_id', ApiApp._app_id_validator),
('app_name', ApiApp._app_name_validator),
('publisher', ApiApp._publisher_validator),
('publisher_url', ApiApp._publisher_url_validator),
('linked', ApiApp._linked_validator),
('is_app_folder', ApiApp._is_app_folder_validator),
]
BaseDfbReport._start_date_validator = bv.String()
BaseDfbReport._all_field_names_ = set(['start_date'])
BaseDfbReport._all_fields_ = [('start_date', BaseDfbReport._start_date_validator)]
BaseTeamFolderError._access_error_validator = TeamFolderAccessError_validator
BaseTeamFolderError._status_error_validator = TeamFolderInvalidStatusError_validator
BaseTeamFolderError._team_shared_dropbox_error_validator = TeamFolderTeamSharedDropboxError_validator
BaseTeamFolderError._other_validator = bv.Void()
BaseTeamFolderError._tagmap = {
'access_error': BaseTeamFolderError._access_error_validator,
'status_error': BaseTeamFolderError._status_error_validator,
'team_shared_dropbox_error': BaseTeamFolderError._team_shared_dropbox_error_validator,
'other': BaseTeamFolderError._other_validator,
}
BaseTeamFolderError.other = BaseTeamFolderError('other')
CustomQuotaError._too_many_users_validator = bv.Void()
CustomQuotaError._other_validator = bv.Void()
CustomQuotaError._tagmap = {
'too_many_users': CustomQuotaError._too_many_users_validator,
'other': CustomQuotaError._other_validator,
}
CustomQuotaError.too_many_users = CustomQuotaError('too_many_users')
CustomQuotaError.other = CustomQuotaError('other')
CustomQuotaResult._success_validator = UserCustomQuotaResult_validator
CustomQuotaResult._invalid_user_validator = UserSelectorArg_validator
CustomQuotaResult._other_validator = bv.Void()
CustomQuotaResult._tagmap = {
'success': CustomQuotaResult._success_validator,
'invalid_user': CustomQuotaResult._invalid_user_validator,
'other': CustomQuotaResult._other_validator,
}
CustomQuotaResult.other = CustomQuotaResult('other')
CustomQuotaUsersArg._users_validator = bv.List(UserSelectorArg_validator)
CustomQuotaUsersArg._all_field_names_ = set(['users'])
CustomQuotaUsersArg._all_fields_ = [('users', CustomQuotaUsersArg._users_validator)]
DateRange._start_date_validator = bv.Nullable(common.Date_validator)
DateRange._end_date_validator = bv.Nullable(common.Date_validator)
DateRange._all_field_names_ = set([
'start_date',
'end_date',
])
DateRange._all_fields_ = [
('start_date', DateRange._start_date_validator),
('end_date', DateRange._end_date_validator),
]
DateRangeError._other_validator = bv.Void()
DateRangeError._tagmap = {
'other': DateRangeError._other_validator,
}
DateRangeError.other = DateRangeError('other')
DesktopClientSession._host_name_validator = bv.String()
DesktopClientSession._client_type_validator = DesktopPlatform_validator
DesktopClientSession._client_version_validator = bv.String()
DesktopClientSession._platform_validator = bv.String()
DesktopClientSession._is_delete_on_unlink_supported_validator = bv.Boolean()
DesktopClientSession._all_field_names_ = DeviceSession._all_field_names_.union(set([
'host_name',
'client_type',
'client_version',
'platform',
'is_delete_on_unlink_supported',
]))
DesktopClientSession._all_fields_ = DeviceSession._all_fields_ + [
('host_name', DesktopClientSession._host_name_validator),
('client_type', DesktopClientSession._client_type_validator),
('client_version', DesktopClientSession._client_version_validator),
('platform', DesktopClientSession._platform_validator),
('is_delete_on_unlink_supported', DesktopClientSession._is_delete_on_unlink_supported_validator),
]
DesktopPlatform._windows_validator = bv.Void()
DesktopPlatform._mac_validator = bv.Void()
DesktopPlatform._linux_validator = bv.Void()
DesktopPlatform._other_validator = bv.Void()
DesktopPlatform._tagmap = {
'windows': DesktopPlatform._windows_validator,
'mac': DesktopPlatform._mac_validator,
'linux': DesktopPlatform._linux_validator,
'other': DesktopPlatform._other_validator,
}
DesktopPlatform.windows = DesktopPlatform('windows')
DesktopPlatform.mac = DesktopPlatform('mac')
DesktopPlatform.linux = DesktopPlatform('linux')
DesktopPlatform.other = DesktopPlatform('other')
DeviceSessionArg._session_id_validator = bv.String()
DeviceSessionArg._team_member_id_validator = bv.String()
DeviceSessionArg._all_field_names_ = set([
'session_id',
'team_member_id',
])
DeviceSessionArg._all_fields_ = [
('session_id', DeviceSessionArg._session_id_validator),
('team_member_id', DeviceSessionArg._team_member_id_validator),
]
DevicesActive._windows_validator = NumberPerDay_validator
DevicesActive._macos_validator = NumberPerDay_validator
DevicesActive._linux_validator = NumberPerDay_validator
DevicesActive._ios_validator = NumberPerDay_validator
DevicesActive._android_validator = NumberPerDay_validator
DevicesActive._other_validator = NumberPerDay_validator
DevicesActive._total_validator = NumberPerDay_validator
DevicesActive._all_field_names_ = set([
'windows',
'macos',
'linux',
'ios',
'android',
'other',
'total',
])
DevicesActive._all_fields_ = [
('windows', DevicesActive._windows_validator),
('macos', DevicesActive._macos_validator),
('linux', DevicesActive._linux_validator),
('ios', DevicesActive._ios_validator),
('android', DevicesActive._android_validator),
('other', DevicesActive._other_validator),
('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,
}
FeatureValue.other = FeatureValue('other')
FeaturesGetValuesBatchArg._features_validator = bv.List(Feature_validator)
FeaturesGetValuesBatchArg._all_field_names_ = set(['features'])
FeaturesGetValuesBatchArg._all_fields_ = [('features', FeaturesGetValuesBatchArg._features_validator)]
FeaturesGetValuesBatchError._empty_features_list_validator = bv.Void()
FeaturesGetValuesBatchError._other_validator = bv.Void()
FeaturesGetValuesBatchError._tagmap = {
'empty_features_list': FeaturesGetValuesBatchError._empty_features_list_validator,
'other': FeaturesGetValuesBatchError._other_validator,
}
FeaturesGetValuesBatchError.empty_features_list = FeaturesGetValuesBatchError('empty_features_list')
FeaturesGetValuesBatchError.other = FeaturesGetValuesBatchError('other')
FeaturesGetValuesBatchResult._values_validator = bv.List(FeatureValue_validator)
FeaturesGetValuesBatchResult._all_field_names_ = set(['values'])
FeaturesGetValuesBatchResult._all_fields_ = [('values', FeaturesGetValuesBatchResult._values_validator)]
GetActivityReport._adds_validator = NumberPerDay_validator
GetActivityReport._edits_validator = NumberPerDay_validator
GetActivityReport._deletes_validator = NumberPerDay_validator
GetActivityReport._active_users_28_day_validator = NumberPerDay_validator
GetActivityReport._active_users_7_day_validator = NumberPerDay_validator
GetActivityReport._active_users_1_day_validator = NumberPerDay_validator
GetActivityReport._active_shared_folders_28_day_validator = NumberPerDay_validator
GetActivityReport._active_shared_folders_7_day_validator = NumberPerDay_validator
GetActivityReport._active_shared_folders_1_day_validator = NumberPerDay_validator
GetActivityReport._shared_links_created_validator = NumberPerDay_validator
GetActivityReport._shared_links_viewed_by_team_validator = NumberPerDay_validator
GetActivityReport._shared_links_viewed_by_outside_user_validator = NumberPerDay_validator
GetActivityReport._shared_links_viewed_by_not_logged_in_validator = NumberPerDay_validator
GetActivityReport._shared_links_viewed_total_validator = NumberPerDay_validator
GetActivityReport._all_field_names_ = BaseDfbReport._all_field_names_.union(set([
'adds',
'edits',
'deletes',
'active_users_28_day',
'active_users_7_day',
'active_users_1_day',
'active_shared_folders_28_day',
'active_shared_folders_7_day',
'active_shared_folders_1_day',
'shared_links_created',
'shared_links_viewed_by_team',
'shared_links_viewed_by_outside_user',
'shared_links_viewed_by_not_logged_in',
'shared_links_viewed_total',
]))
GetActivityReport._all_fields_ = BaseDfbReport._all_fields_ + [
('adds', GetActivityReport._adds_validator),
('edits', GetActivityReport._edits_validator),
('deletes', GetActivityReport._deletes_validator),
('active_users_28_day', GetActivityReport._active_users_28_day_validator),
('active_users_7_day', GetActivityReport._active_users_7_day_validator),
('active_users_1_day', GetActivityReport._active_users_1_day_validator),
('active_shared_folders_28_day', GetActivityReport._active_shared_folders_28_day_validator),
('active_shared_folders_7_day', GetActivityReport._active_shared_folders_7_day_validator),
('active_shared_folders_1_day', GetActivityReport._active_shared_folders_1_day_validator),
('shared_links_created', GetActivityReport._shared_links_created_validator),
('shared_links_viewed_by_team', GetActivityReport._shared_links_viewed_by_team_validator),
('shared_links_viewed_by_outside_user', GetActivityReport._shared_links_viewed_by_outside_user_validator),
('shared_links_viewed_by_not_logged_in', GetActivityReport._shared_links_viewed_by_not_logged_in_validator),
('shared_links_viewed_total', GetActivityReport._shared_links_viewed_total_validator),
]
GetDevicesReport._active_1_day_validator = DevicesActive_validator
GetDevicesReport._active_7_day_validator = DevicesActive_validator
GetDevicesReport._active_28_day_validator = DevicesActive_validator
GetDevicesReport._all_field_names_ = BaseDfbReport._all_field_names_.union(set([
'active_1_day',
'active_7_day',
'active_28_day',
]))
GetDevicesReport._all_fields_ = BaseDfbReport._all_fields_ + [
('active_1_day', GetDevicesReport._active_1_day_validator),
('active_7_day', GetDevicesReport._active_7_day_validator),
('active_28_day', GetDevicesReport._active_28_day_validator),
]
GetMembershipReport._team_size_validator = NumberPerDay_validator
GetMembershipReport._pending_invites_validator = NumberPerDay_validator
GetMembershipReport._members_joined_validator = NumberPerDay_validator
GetMembershipReport._suspended_members_validator = NumberPerDay_validator
GetMembershipReport._licenses_validator = NumberPerDay_validator
GetMembershipReport._all_field_names_ = BaseDfbReport._all_field_names_.union(set([
'team_size',
'pending_invites',
'members_joined',
'suspended_members',
'licenses',
]))
GetMembershipReport._all_fields_ = BaseDfbReport._all_fields_ + [
('team_size', GetMembershipReport._team_size_validator),
('pending_invites', GetMembershipReport._pending_invites_validator),
('members_joined', GetMembershipReport._members_joined_validator),
('suspended_members', GetMembershipReport._suspended_members_validator),
('licenses', GetMembershipReport._licenses_validator),
]
GetStorageReport._total_usage_validator = NumberPerDay_validator
GetStorageReport._shared_usage_validator = NumberPerDay_validator
GetStorageReport._unshared_usage_validator = NumberPerDay_validator
GetStorageReport._shared_folders_validator = NumberPerDay_validator
GetStorageReport._member_storage_map_validator = bv.List(bv.List(StorageBucket_validator))
GetStorageReport._all_field_names_ = BaseDfbReport._all_field_names_.union(set([
'total_usage',
'shared_usage',
'unshared_usage',
'shared_folders',
'member_storage_map',
]))
GetStorageReport._all_fields_ = BaseDfbReport._all_fields_ + [
('total_usage', GetStorageReport._total_usage_validator),
('shared_usage', GetStorageReport._shared_usage_validator),
('unshared_usage', GetStorageReport._unshared_usage_validator),
('shared_folders', GetStorageReport._shared_folders_validator),
('member_storage_map', GetStorageReport._member_storage_map_validator),
]
GroupAccessType._member_validator = bv.Void()
GroupAccessType._owner_validator = bv.Void()
GroupAccessType._tagmap = {
'member': GroupAccessType._member_validator,
'owner': GroupAccessType._owner_validator,
}
GroupAccessType.member = GroupAccessType('member')
GroupAccessType.owner = GroupAccessType('owner')
GroupCreateArg._group_name_validator = bv.String()
GroupCreateArg._group_external_id_validator = bv.Nullable(team_common.GroupExternalId_validator)
GroupCreateArg._group_management_type_validator = bv.Nullable(team_common.GroupManagementType_validator)
GroupCreateArg._all_field_names_ = set([
'group_name',
'group_external_id',
'group_management_type',
])
GroupCreateArg._all_fields_ = [
('group_name', GroupCreateArg._group_name_validator),
('group_external_id', GroupCreateArg._group_external_id_validator),
('group_management_type', GroupCreateArg._group_management_type_validator),
]
GroupCreateError._group_name_already_used_validator = bv.Void()
GroupCreateError._group_name_invalid_validator = bv.Void()
GroupCreateError._external_id_already_in_use_validator = bv.Void()
GroupCreateError._system_managed_group_disallowed_validator = bv.Void()
GroupCreateError._other_validator = bv.Void()
GroupCreateError._tagmap = {
'group_name_already_used': GroupCreateError._group_name_already_used_validator,
'group_name_invalid': GroupCreateError._group_name_invalid_validator,
'external_id_already_in_use': GroupCreateError._external_id_already_in_use_validator,
'system_managed_group_disallowed': GroupCreateError._system_managed_group_disallowed_validator,
'other': GroupCreateError._other_validator,
}
GroupCreateError.group_name_already_used = GroupCreateError('group_name_already_used')
GroupCreateError.group_name_invalid = GroupCreateError('group_name_invalid')
GroupCreateError.external_id_already_in_use = GroupCreateError('external_id_already_in_use')
GroupCreateError.system_managed_group_disallowed = GroupCreateError('system_managed_group_disallowed')
GroupCreateError.other = GroupCreateError('other')
GroupSelectorError._group_not_found_validator = bv.Void()
GroupSelectorError._other_validator = bv.Void()
GroupSelectorError._tagmap = {
'group_not_found': GroupSelectorError._group_not_found_validator,
'other': GroupSelectorError._other_validator,
}
GroupSelectorError.group_not_found = GroupSelectorError('group_not_found')
GroupSelectorError.other = GroupSelectorError('other')
GroupSelectorWithTeamGroupError._system_managed_group_disallowed_validator = bv.Void()
GroupSelectorWithTeamGroupError._tagmap = {
'system_managed_group_disallowed': GroupSelectorWithTeamGroupError._system_managed_group_disallowed_validator,
}
GroupSelectorWithTeamGroupError._tagmap.update(GroupSelectorError._tagmap)
GroupSelectorWithTeamGroupError.system_managed_group_disallowed = GroupSelectorWithTeamGroupError('system_managed_group_disallowed')
GroupDeleteError._group_already_deleted_validator = bv.Void()
GroupDeleteError._tagmap = {
'group_already_deleted': GroupDeleteError._group_already_deleted_validator,
}
GroupDeleteError._tagmap.update(GroupSelectorWithTeamGroupError._tagmap)
GroupDeleteError.group_already_deleted = GroupDeleteError('group_already_deleted')
GroupFullInfo._members_validator = bv.Nullable(bv.List(GroupMemberInfo_validator))
GroupFullInfo._created_validator = bv.UInt64()
GroupFullInfo._all_field_names_ = team_common.GroupSummary._all_field_names_.union(set([
'members',
'created',
]))
GroupFullInfo._all_fields_ = team_common.GroupSummary._all_fields_ + [
('members', GroupFullInfo._members_validator),
('created', GroupFullInfo._created_validator),
]
GroupMemberInfo._profile_validator = MemberProfile_validator
GroupMemberInfo._access_type_validator = GroupAccessType_validator
GroupMemberInfo._all_field_names_ = set([
'profile',
'access_type',
])
GroupMemberInfo._all_fields_ = [
('profile', GroupMemberInfo._profile_validator),
('access_type', GroupMemberInfo._access_type_validator),
]
GroupMemberSelector._group_validator = GroupSelector_validator
GroupMemberSelector._user_validator = UserSelectorArg_validator
GroupMemberSelector._all_field_names_ = set([
'group',
'user',
])
GroupMemberSelector._all_fields_ = [
('group', GroupMemberSelector._group_validator),
('user', GroupMemberSelector._user_validator),
]
GroupMemberSelectorError._member_not_in_group_validator = bv.Void()
GroupMemberSelectorError._tagmap = {
'member_not_in_group': GroupMemberSelectorError._member_not_in_group_validator,
}
GroupMemberSelectorError._tagmap.update(GroupSelectorWithTeamGroupError._tagmap)
GroupMemberSelectorError.member_not_in_group = GroupMemberSelectorError('member_not_in_group')
GroupMemberSetAccessTypeError._user_cannot_be_manager_of_company_managed_group_validator = bv.Void()
GroupMemberSetAccessTypeError._tagmap = {
'user_cannot_be_manager_of_company_managed_group': GroupMemberSetAccessTypeError._user_cannot_be_manager_of_company_managed_group_validator,
}
GroupMemberSetAccessTypeError._tagmap.update(GroupMemberSelectorError._tagmap)
GroupMemberSetAccessTypeError.user_cannot_be_manager_of_company_managed_group = GroupMemberSetAccessTypeError('user_cannot_be_manager_of_company_managed_group')
IncludeMembersArg._return_members_validator = bv.Boolean()
IncludeMembersArg._all_field_names_ = set(['return_members'])
IncludeMembersArg._all_fields_ = [('return_members', IncludeMembersArg._return_members_validator)]
GroupMembersAddArg._group_validator = GroupSelector_validator
GroupMembersAddArg._members_validator = bv.List(MemberAccess_validator)
GroupMembersAddArg._all_field_names_ = IncludeMembersArg._all_field_names_.union(set([
'group',
'members',
]))
GroupMembersAddArg._all_fields_ = IncludeMembersArg._all_fields_ + [
('group', GroupMembersAddArg._group_validator),
('members', GroupMembersAddArg._members_validator),
]
GroupMembersAddError._duplicate_user_validator = bv.Void()
GroupMembersAddError._group_not_in_team_validator = bv.Void()
GroupMembersAddError._members_not_in_team_validator = bv.List(bv.String())
GroupMembersAddError._users_not_found_validator = bv.List(bv.String())
GroupMembersAddError._user_must_be_active_to_be_owner_validator = bv.Void()
GroupMembersAddError._user_cannot_be_manager_of_company_managed_group_validator = bv.List(bv.String())
GroupMembersAddError._tagmap = {
'duplicate_user': GroupMembersAddError._duplicate_user_validator,
'group_not_in_team': GroupMembersAddError._group_not_in_team_validator,
'members_not_in_team': GroupMembersAddError._members_not_in_team_validator,
'users_not_found': GroupMembersAddError._users_not_found_validator,
'user_must_be_active_to_be_owner': GroupMembersAddError._user_must_be_active_to_be_owner_validator,
'user_cannot_be_manager_of_company_managed_group': GroupMembersAddError._user_cannot_be_manager_of_company_managed_group_validator,
}
GroupMembersAddError._tagmap.update(GroupSelectorWithTeamGroupError._tagmap)
GroupMembersAddError.duplicate_user = GroupMembersAddError('duplicate_user')
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._all_field_names_ = set([
'group_info',
'async_job_id',
])
GroupMembersChangeResult._all_fields_ = [
('group_info', GroupMembersChangeResult._group_info_validator),
('async_job_id', GroupMembersChangeResult._async_job_id_validator),
]
GroupMembersRemoveArg._group_validator = GroupSelector_validator
GroupMembersRemoveArg._users_validator = bv.List(UserSelectorArg_validator)
GroupMembersRemoveArg._all_field_names_ = IncludeMembersArg._all_field_names_.union(set([
'group',
'users',
]))
GroupMembersRemoveArg._all_fields_ = IncludeMembersArg._all_fields_ + [
('group', GroupMembersRemoveArg._group_validator),
('users', GroupMembersRemoveArg._users_validator),
]
GroupMembersSelectorError._member_not_in_group_validator = bv.Void()
GroupMembersSelectorError._tagmap = {
'member_not_in_group': GroupMembersSelectorError._member_not_in_group_validator,
}
GroupMembersSelectorError._tagmap.update(GroupSelectorWithTeamGroupError._tagmap)
GroupMembersSelectorError.member_not_in_group = GroupMembersSelectorError('member_not_in_group')
GroupMembersRemoveError._group_not_in_team_validator = bv.Void()
GroupMembersRemoveError._members_not_in_team_validator = bv.List(bv.String())
GroupMembersRemoveError._users_not_found_validator = bv.List(bv.String())
GroupMembersRemoveError._tagmap = {
'group_not_in_team': GroupMembersRemoveError._group_not_in_team_validator,
'members_not_in_team': GroupMembersRemoveError._members_not_in_team_validator,
'users_not_found': GroupMembersRemoveError._users_not_found_validator,
}
GroupMembersRemoveError._tagmap.update(GroupMembersSelectorError._tagmap)
GroupMembersRemoveError.group_not_in_team = GroupMembersRemoveError('group_not_in_team')
GroupMembersSelector._group_validator = GroupSelector_validator
GroupMembersSelector._users_validator = UsersSelectorArg_validator
GroupMembersSelector._all_field_names_ = set([
'group',
'users',
])
GroupMembersSelector._all_fields_ = [
('group', GroupMembersSelector._group_validator),
('users', GroupMembersSelector._users_validator),
]
GroupMembersSetAccessTypeArg._access_type_validator = GroupAccessType_validator
GroupMembersSetAccessTypeArg._return_members_validator = bv.Boolean()
GroupMembersSetAccessTypeArg._all_field_names_ = GroupMemberSelector._all_field_names_.union(set([
'access_type',
'return_members',
]))
GroupMembersSetAccessTypeArg._all_fields_ = GroupMemberSelector._all_fields_ + [
('access_type', GroupMembersSetAccessTypeArg._access_type_validator),
('return_members', GroupMembersSetAccessTypeArg._return_members_validator),
]
GroupSelector._group_id_validator = team_common.GroupId_validator
GroupSelector._group_external_id_validator = team_common.GroupExternalId_validator
GroupSelector._tagmap = {
'group_id': GroupSelector._group_id_validator,
'group_external_id': GroupSelector._group_external_id_validator,
}
GroupUpdateArgs._group_validator = GroupSelector_validator
GroupUpdateArgs._new_group_name_validator = bv.Nullable(bv.String())
GroupUpdateArgs._new_group_external_id_validator = bv.Nullable(team_common.GroupExternalId_validator)
GroupUpdateArgs._new_group_management_type_validator = bv.Nullable(team_common.GroupManagementType_validator)
GroupUpdateArgs._all_field_names_ = IncludeMembersArg._all_field_names_.union(set([
'group',
'new_group_name',
'new_group_external_id',
'new_group_management_type',
]))
GroupUpdateArgs._all_fields_ = IncludeMembersArg._all_fields_ + [
('group', GroupUpdateArgs._group_validator),
('new_group_name', GroupUpdateArgs._new_group_name_validator),
('new_group_external_id', GroupUpdateArgs._new_group_external_id_validator),
('new_group_management_type', GroupUpdateArgs._new_group_management_type_validator),
]
GroupUpdateError._group_name_already_used_validator = bv.Void()
GroupUpdateError._group_name_invalid_validator = bv.Void()
GroupUpdateError._external_id_already_in_use_validator = bv.Void()
GroupUpdateError._tagmap = {
'group_name_already_used': GroupUpdateError._group_name_already_used_validator,
'group_name_invalid': GroupUpdateError._group_name_invalid_validator,
'external_id_already_in_use': GroupUpdateError._external_id_already_in_use_validator,
}
GroupUpdateError._tagmap.update(GroupSelectorWithTeamGroupError._tagmap)
GroupUpdateError.group_name_already_used = GroupUpdateError('group_name_already_used')
GroupUpdateError.group_name_invalid = GroupUpdateError('group_name_invalid')
GroupUpdateError.external_id_already_in_use = GroupUpdateError('external_id_already_in_use')
GroupsGetInfoError._group_not_on_team_validator = bv.Void()
GroupsGetInfoError._other_validator = bv.Void()
GroupsGetInfoError._tagmap = {
'group_not_on_team': GroupsGetInfoError._group_not_on_team_validator,
'other': GroupsGetInfoError._other_validator,
}
GroupsGetInfoError.group_not_on_team = GroupsGetInfoError('group_not_on_team')
GroupsGetInfoError.other = GroupsGetInfoError('other')
GroupsGetInfoItem._id_not_found_validator = bv.String()
GroupsGetInfoItem._group_info_validator = GroupFullInfo_validator
GroupsGetInfoItem._tagmap = {
'id_not_found': GroupsGetInfoItem._id_not_found_validator,
'group_info': GroupsGetInfoItem._group_info_validator,
}
GroupsListArg._limit_validator = bv.UInt32(min_value=1, max_value=1000)
GroupsListArg._all_field_names_ = set(['limit'])
GroupsListArg._all_fields_ = [('limit', GroupsListArg._limit_validator)]
GroupsListContinueArg._cursor_validator = bv.String()
GroupsListContinueArg._all_field_names_ = set(['cursor'])
GroupsListContinueArg._all_fields_ = [('cursor', GroupsListContinueArg._cursor_validator)]
GroupsListContinueError._invalid_cursor_validator = bv.Void()
GroupsListContinueError._other_validator = bv.Void()
GroupsListContinueError._tagmap = {
'invalid_cursor': GroupsListContinueError._invalid_cursor_validator,
'other': GroupsListContinueError._other_validator,
}
GroupsListContinueError.invalid_cursor = GroupsListContinueError('invalid_cursor')
GroupsListContinueError.other = GroupsListContinueError('other')
GroupsListResult._groups_validator = bv.List(team_common.GroupSummary_validator)
GroupsListResult._cursor_validator = bv.String()
GroupsListResult._has_more_validator = bv.Boolean()
GroupsListResult._all_field_names_ = set([
'groups',
'cursor',
'has_more',
])
GroupsListResult._all_fields_ = [
('groups', GroupsListResult._groups_validator),
('cursor', GroupsListResult._cursor_validator),
('has_more', GroupsListResult._has_more_validator),
]
GroupsMembersListArg._group_validator = GroupSelector_validator
GroupsMembersListArg._limit_validator = bv.UInt32(min_value=1, max_value=1000)
GroupsMembersListArg._all_field_names_ = set([
'group',
'limit',
])
GroupsMembersListArg._all_fields_ = [
('group', GroupsMembersListArg._group_validator),
('limit', GroupsMembersListArg._limit_validator),
]
GroupsMembersListContinueArg._cursor_validator = bv.String()
GroupsMembersListContinueArg._all_field_names_ = set(['cursor'])
GroupsMembersListContinueArg._all_fields_ = [('cursor', GroupsMembersListContinueArg._cursor_validator)]
GroupsMembersListContinueError._invalid_cursor_validator = bv.Void()
GroupsMembersListContinueError._other_validator = bv.Void()
GroupsMembersListContinueError._tagmap = {
'invalid_cursor': GroupsMembersListContinueError._invalid_cursor_validator,
'other': GroupsMembersListContinueError._other_validator,
}
GroupsMembersListContinueError.invalid_cursor = GroupsMembersListContinueError('invalid_cursor')
GroupsMembersListContinueError.other = GroupsMembersListContinueError('other')
GroupsMembersListResult._members_validator = bv.List(GroupMemberInfo_validator)
GroupsMembersListResult._cursor_validator = bv.String()
GroupsMembersListResult._has_more_validator = bv.Boolean()
GroupsMembersListResult._all_field_names_ = set([
'members',
'cursor',
'has_more',
])
GroupsMembersListResult._all_fields_ = [
('members', GroupsMembersListResult._members_validator),
('cursor', GroupsMembersListResult._cursor_validator),
('has_more', GroupsMembersListResult._has_more_validator),
]
GroupsPollError._access_denied_validator = bv.Void()
GroupsPollError._tagmap = {
'access_denied': GroupsPollError._access_denied_validator,
}
GroupsPollError._tagmap.update(async_.PollError._tagmap)
GroupsPollError.access_denied = GroupsPollError('access_denied')
GroupsSelector._group_ids_validator = bv.List(team_common.GroupId_validator)
GroupsSelector._group_external_ids_validator = bv.List(bv.String())
GroupsSelector._tagmap = {
'group_ids': GroupsSelector._group_ids_validator,
'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 = {
'has_team_shared_dropbox': HasTeamSharedDropboxValue._has_team_shared_dropbox_validator,
'other': HasTeamSharedDropboxValue._other_validator,
}
HasTeamSharedDropboxValue.other = HasTeamSharedDropboxValue('other')
ListMemberAppsArg._team_member_id_validator = bv.String()
ListMemberAppsArg._all_field_names_ = set(['team_member_id'])
ListMemberAppsArg._all_fields_ = [('team_member_id', ListMemberAppsArg._team_member_id_validator)]
ListMemberAppsError._member_not_found_validator = bv.Void()
ListMemberAppsError._other_validator = bv.Void()
ListMemberAppsError._tagmap = {
'member_not_found': ListMemberAppsError._member_not_found_validator,
'other': ListMemberAppsError._other_validator,
}
ListMemberAppsError.member_not_found = ListMemberAppsError('member_not_found')
ListMemberAppsError.other = ListMemberAppsError('other')
ListMemberAppsResult._linked_api_apps_validator = bv.List(ApiApp_validator)
ListMemberAppsResult._all_field_names_ = set(['linked_api_apps'])
ListMemberAppsResult._all_fields_ = [('linked_api_apps', ListMemberAppsResult._linked_api_apps_validator)]
ListMemberDevicesArg._team_member_id_validator = bv.String()
ListMemberDevicesArg._include_web_sessions_validator = bv.Boolean()
ListMemberDevicesArg._include_desktop_clients_validator = bv.Boolean()
ListMemberDevicesArg._include_mobile_clients_validator = bv.Boolean()
ListMemberDevicesArg._all_field_names_ = set([
'team_member_id',
'include_web_sessions',
'include_desktop_clients',
'include_mobile_clients',
])
ListMemberDevicesArg._all_fields_ = [
('team_member_id', ListMemberDevicesArg._team_member_id_validator),
('include_web_sessions', ListMemberDevicesArg._include_web_sessions_validator),
('include_desktop_clients', ListMemberDevicesArg._include_desktop_clients_validator),
('include_mobile_clients', ListMemberDevicesArg._include_mobile_clients_validator),
]
ListMemberDevicesError._member_not_found_validator = bv.Void()
ListMemberDevicesError._other_validator = bv.Void()
ListMemberDevicesError._tagmap = {
'member_not_found': ListMemberDevicesError._member_not_found_validator,
'other': ListMemberDevicesError._other_validator,
}
ListMemberDevicesError.member_not_found = ListMemberDevicesError('member_not_found')
ListMemberDevicesError.other = ListMemberDevicesError('other')
ListMemberDevicesResult._active_web_sessions_validator = bv.Nullable(bv.List(ActiveWebSession_validator))
ListMemberDevicesResult._desktop_client_sessions_validator = bv.Nullable(bv.List(DesktopClientSession_validator))
ListMemberDevicesResult._mobile_client_sessions_validator = bv.Nullable(bv.List(MobileClientSession_validator))
ListMemberDevicesResult._all_field_names_ = set([
'active_web_sessions',
'desktop_client_sessions',
'mobile_client_sessions',
])
ListMemberDevicesResult._all_fields_ = [
('active_web_sessions', ListMemberDevicesResult._active_web_sessions_validator),
('desktop_client_sessions', ListMemberDevicesResult._desktop_client_sessions_validator),
('mobile_client_sessions', ListMemberDevicesResult._mobile_client_sessions_validator),
]
ListMembersAppsArg._cursor_validator = bv.Nullable(bv.String())
ListMembersAppsArg._all_field_names_ = set(['cursor'])
ListMembersAppsArg._all_fields_ = [('cursor', ListMembersAppsArg._cursor_validator)]
ListMembersAppsError._reset_validator = bv.Void()
ListMembersAppsError._other_validator = bv.Void()
ListMembersAppsError._tagmap = {
'reset': ListMembersAppsError._reset_validator,
'other': ListMembersAppsError._other_validator,
}
ListMembersAppsError.reset = ListMembersAppsError('reset')
ListMembersAppsError.other = ListMembersAppsError('other')
ListMembersAppsResult._apps_validator = bv.List(MemberLinkedApps_validator)
ListMembersAppsResult._has_more_validator = bv.Boolean()
ListMembersAppsResult._cursor_validator = bv.Nullable(bv.String())
ListMembersAppsResult._all_field_names_ = set([
'apps',
'has_more',
'cursor',
])
ListMembersAppsResult._all_fields_ = [
('apps', ListMembersAppsResult._apps_validator),
('has_more', ListMembersAppsResult._has_more_validator),
('cursor', ListMembersAppsResult._cursor_validator),
]
ListMembersDevicesArg._cursor_validator = bv.Nullable(bv.String())
ListMembersDevicesArg._include_web_sessions_validator = bv.Boolean()
ListMembersDevicesArg._include_desktop_clients_validator = bv.Boolean()
ListMembersDevicesArg._include_mobile_clients_validator = bv.Boolean()
ListMembersDevicesArg._all_field_names_ = set([
'cursor',
'include_web_sessions',
'include_desktop_clients',
'include_mobile_clients',
])
ListMembersDevicesArg._all_fields_ = [
('cursor', ListMembersDevicesArg._cursor_validator),
('include_web_sessions', ListMembersDevicesArg._include_web_sessions_validator),
('include_desktop_clients', ListMembersDevicesArg._include_desktop_clients_validator),
('include_mobile_clients', ListMembersDevicesArg._include_mobile_clients_validator),
]
ListMembersDevicesError._reset_validator = bv.Void()
ListMembersDevicesError._other_validator = bv.Void()
ListMembersDevicesError._tagmap = {
'reset': ListMembersDevicesError._reset_validator,
'other': ListMembersDevicesError._other_validator,
}
ListMembersDevicesError.reset = ListMembersDevicesError('reset')
ListMembersDevicesError.other = ListMembersDevicesError('other')
ListMembersDevicesResult._devices_validator = bv.List(MemberDevices_validator)
ListMembersDevicesResult._has_more_validator = bv.Boolean()
ListMembersDevicesResult._cursor_validator = bv.Nullable(bv.String())
ListMembersDevicesResult._all_field_names_ = set([
'devices',
'has_more',
'cursor',
])
ListMembersDevicesResult._all_fields_ = [
('devices', ListMembersDevicesResult._devices_validator),
('has_more', ListMembersDevicesResult._has_more_validator),
('cursor', ListMembersDevicesResult._cursor_validator),
]
ListTeamAppsArg._cursor_validator = bv.Nullable(bv.String())
ListTeamAppsArg._all_field_names_ = set(['cursor'])
ListTeamAppsArg._all_fields_ = [('cursor', ListTeamAppsArg._cursor_validator)]
ListTeamAppsError._reset_validator = bv.Void()
ListTeamAppsError._other_validator = bv.Void()
ListTeamAppsError._tagmap = {
'reset': ListTeamAppsError._reset_validator,
'other': ListTeamAppsError._other_validator,
}
ListTeamAppsError.reset = ListTeamAppsError('reset')
ListTeamAppsError.other = ListTeamAppsError('other')
ListTeamAppsResult._apps_validator = bv.List(MemberLinkedApps_validator)
ListTeamAppsResult._has_more_validator = bv.Boolean()
ListTeamAppsResult._cursor_validator = bv.Nullable(bv.String())
ListTeamAppsResult._all_field_names_ = set([
'apps',
'has_more',
'cursor',
])
ListTeamAppsResult._all_fields_ = [
('apps', ListTeamAppsResult._apps_validator),
('has_more', ListTeamAppsResult._has_more_validator),
('cursor', ListTeamAppsResult._cursor_validator),
]
ListTeamDevicesArg._cursor_validator = bv.Nullable(bv.String())
ListTeamDevicesArg._include_web_sessions_validator = bv.Boolean()
ListTeamDevicesArg._include_desktop_clients_validator = bv.Boolean()
ListTeamDevicesArg._include_mobile_clients_validator = bv.Boolean()
ListTeamDevicesArg._all_field_names_ = set([
'cursor',
'include_web_sessions',
'include_desktop_clients',
'include_mobile_clients',
])
ListTeamDevicesArg._all_fields_ = [
('cursor', ListTeamDevicesArg._cursor_validator),
('include_web_sessions', ListTeamDevicesArg._include_web_sessions_validator),
('include_desktop_clients', ListTeamDevicesArg._include_desktop_clients_validator),
('include_mobile_clients', ListTeamDevicesArg._include_mobile_clients_validator),
]
ListTeamDevicesError._reset_validator = bv.Void()
ListTeamDevicesError._other_validator = bv.Void()
ListTeamDevicesError._tagmap = {
'reset': ListTeamDevicesError._reset_validator,
'other': ListTeamDevicesError._other_validator,
}
ListTeamDevicesError.reset = ListTeamDevicesError('reset')
ListTeamDevicesError.other = ListTeamDevicesError('other')
ListTeamDevicesResult._devices_validator = bv.List(MemberDevices_validator)
ListTeamDevicesResult._has_more_validator = bv.Boolean()
ListTeamDevicesResult._cursor_validator = bv.Nullable(bv.String())
ListTeamDevicesResult._all_field_names_ = set([
'devices',
'has_more',
'cursor',
])
ListTeamDevicesResult._all_fields_ = [
('devices', ListTeamDevicesResult._devices_validator),
('has_more', ListTeamDevicesResult._has_more_validator),
('cursor', ListTeamDevicesResult._cursor_validator),
]
MemberAccess._user_validator = UserSelectorArg_validator
MemberAccess._access_type_validator = GroupAccessType_validator
MemberAccess._all_field_names_ = set([
'user',
'access_type',
])
MemberAccess._all_fields_ = [
('user', MemberAccess._user_validator),
('access_type', MemberAccess._access_type_validator),
]
MemberAddArg._member_email_validator = common.EmailAddress_validator
MemberAddArg._member_given_name_validator = bv.Nullable(common.OptionalNamePart_validator)
MemberAddArg._member_surname_validator = bv.Nullable(common.OptionalNamePart_validator)
MemberAddArg._member_external_id_validator = bv.Nullable(team_common.MemberExternalId_validator)
MemberAddArg._member_persistent_id_validator = bv.Nullable(bv.String())
MemberAddArg._send_welcome_email_validator = bv.Boolean()
MemberAddArg._role_validator = AdminTier_validator
MemberAddArg._is_directory_restricted_validator = bv.Nullable(bv.Boolean())
MemberAddArg._all_field_names_ = set([
'member_email',
'member_given_name',
'member_surname',
'member_external_id',
'member_persistent_id',
'send_welcome_email',
'role',
'is_directory_restricted',
])
MemberAddArg._all_fields_ = [
('member_email', MemberAddArg._member_email_validator),
('member_given_name', MemberAddArg._member_given_name_validator),
('member_surname', MemberAddArg._member_surname_validator),
('member_external_id', MemberAddArg._member_external_id_validator),
('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
MemberAddResult._team_license_limit_validator = common.EmailAddress_validator
MemberAddResult._free_team_member_limit_reached_validator = common.EmailAddress_validator
MemberAddResult._user_already_on_team_validator = common.EmailAddress_validator
MemberAddResult._user_on_another_team_validator = common.EmailAddress_validator
MemberAddResult._user_already_paired_validator = common.EmailAddress_validator
MemberAddResult._user_migration_failed_validator = common.EmailAddress_validator
MemberAddResult._duplicate_external_member_id_validator = common.EmailAddress_validator
MemberAddResult._duplicate_member_persistent_id_validator = common.EmailAddress_validator
MemberAddResult._persistent_id_disabled_validator = common.EmailAddress_validator
MemberAddResult._user_creation_failed_validator = common.EmailAddress_validator
MemberAddResult._tagmap = {
'success': MemberAddResult._success_validator,
'team_license_limit': MemberAddResult._team_license_limit_validator,
'free_team_member_limit_reached': MemberAddResult._free_team_member_limit_reached_validator,
'user_already_on_team': MemberAddResult._user_already_on_team_validator,
'user_on_another_team': MemberAddResult._user_on_another_team_validator,
'user_already_paired': MemberAddResult._user_already_paired_validator,
'user_migration_failed': MemberAddResult._user_migration_failed_validator,
'duplicate_external_member_id': MemberAddResult._duplicate_external_member_id_validator,
'duplicate_member_persistent_id': MemberAddResult._duplicate_member_persistent_id_validator,
'persistent_id_disabled': MemberAddResult._persistent_id_disabled_validator,
'user_creation_failed': MemberAddResult._user_creation_failed_validator,
}
MemberDevices._team_member_id_validator = bv.String()
MemberDevices._web_sessions_validator = bv.Nullable(bv.List(ActiveWebSession_validator))
MemberDevices._desktop_clients_validator = bv.Nullable(bv.List(DesktopClientSession_validator))
MemberDevices._mobile_clients_validator = bv.Nullable(bv.List(MobileClientSession_validator))
MemberDevices._all_field_names_ = set([
'team_member_id',
'web_sessions',
'desktop_clients',
'mobile_clients',
])
MemberDevices._all_fields_ = [
('team_member_id', MemberDevices._team_member_id_validator),
('web_sessions', MemberDevices._web_sessions_validator),
('desktop_clients', MemberDevices._desktop_clients_validator),
('mobile_clients', MemberDevices._mobile_clients_validator),
]
MemberLinkedApps._team_member_id_validator = bv.String()
MemberLinkedApps._linked_api_apps_validator = bv.List(ApiApp_validator)
MemberLinkedApps._all_field_names_ = set([
'team_member_id',
'linked_api_apps',
])
MemberLinkedApps._all_fields_ = [
('team_member_id', MemberLinkedApps._team_member_id_validator),
('linked_api_apps', MemberLinkedApps._linked_api_apps_validator),
]
MemberProfile._team_member_id_validator = team_common.TeamMemberId_validator
MemberProfile._external_id_validator = bv.Nullable(bv.String())
MemberProfile._account_id_validator = bv.Nullable(users_common.AccountId_validator)
MemberProfile._email_validator = bv.String()
MemberProfile._email_verified_validator = bv.Boolean()
MemberProfile._status_validator = TeamMemberStatus_validator
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',
'account_id',
'email',
'email_verified',
'status',
'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),
('external_id', MemberProfile._external_id_validator),
('account_id', MemberProfile._account_id_validator),
('email', MemberProfile._email_validator),
('email_verified', MemberProfile._email_verified_validator),
('status', MemberProfile._status_validator),
('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()
UserSelectorError._tagmap = {
'user_not_found': UserSelectorError._user_not_found_validator,
}
UserSelectorError.user_not_found = UserSelectorError('user_not_found')
MemberSelectorError._user_not_in_team_validator = bv.Void()
MemberSelectorError._tagmap = {
'user_not_in_team': MemberSelectorError._user_not_in_team_validator,
}
MemberSelectorError._tagmap.update(UserSelectorError._tagmap)
MemberSelectorError.user_not_in_team = MemberSelectorError('user_not_in_team')
MembersAddArg._new_members_validator = bv.List(MemberAddArg_validator)
MembersAddArg._force_async_validator = bv.Boolean()
MembersAddArg._all_field_names_ = set([
'new_members',
'force_async',
])
MembersAddArg._all_fields_ = [
('new_members', MembersAddArg._new_members_validator),
('force_async', MembersAddArg._force_async_validator),
]
MembersAddJobStatus._complete_validator = bv.List(MemberAddResult_validator)
MembersAddJobStatus._failed_validator = bv.String()
MembersAddJobStatus._tagmap = {
'complete': MembersAddJobStatus._complete_validator,
'failed': MembersAddJobStatus._failed_validator,
}
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)
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 = {
'user_not_in_team': MembersDeactivateError._user_not_in_team_validator,
'other': MembersDeactivateError._other_validator,
}
MembersDeactivateError._tagmap.update(UserSelectorError._tagmap)
MembersDeactivateError.user_not_in_team = MembersDeactivateError('user_not_in_team')
MembersDeactivateError.other = MembersDeactivateError('other')
MembersGetInfoArgs._members_validator = bv.List(UserSelectorArg_validator)
MembersGetInfoArgs._all_field_names_ = set(['members'])
MembersGetInfoArgs._all_fields_ = [('members', MembersGetInfoArgs._members_validator)]
MembersGetInfoError._other_validator = bv.Void()
MembersGetInfoError._tagmap = {
'other': MembersGetInfoError._other_validator,
}
MembersGetInfoError.other = MembersGetInfoError('other')
MembersGetInfoItem._id_not_found_validator = bv.String()
MembersGetInfoItem._member_info_validator = TeamMemberInfo_validator
MembersGetInfoItem._tagmap = {
'id_not_found': MembersGetInfoItem._id_not_found_validator,
'member_info': MembersGetInfoItem._member_info_validator,
}
MembersListArg._limit_validator = bv.UInt32(min_value=1, max_value=1000)
MembersListArg._include_removed_validator = bv.Boolean()
MembersListArg._all_field_names_ = set([
'limit',
'include_removed',
])
MembersListArg._all_fields_ = [
('limit', MembersListArg._limit_validator),
('include_removed', MembersListArg._include_removed_validator),
]
MembersListContinueArg._cursor_validator = bv.String()
MembersListContinueArg._all_field_names_ = set(['cursor'])
MembersListContinueArg._all_fields_ = [('cursor', MembersListContinueArg._cursor_validator)]
MembersListContinueError._invalid_cursor_validator = bv.Void()
MembersListContinueError._other_validator = bv.Void()
MembersListContinueError._tagmap = {
'invalid_cursor': MembersListContinueError._invalid_cursor_validator,
'other': MembersListContinueError._other_validator,
}
MembersListContinueError.invalid_cursor = MembersListContinueError('invalid_cursor')
MembersListContinueError.other = MembersListContinueError('other')
MembersListError._other_validator = bv.Void()
MembersListError._tagmap = {
'other': MembersListError._other_validator,
}
MembersListError.other = MembersListError('other')
MembersListResult._members_validator = bv.List(TeamMemberInfo_validator)
MembersListResult._cursor_validator = bv.String()
MembersListResult._has_more_validator = bv.Boolean()
MembersListResult._all_field_names_ = set([
'members',
'cursor',
'has_more',
])
MembersListResult._all_fields_ = [
('members', MembersListResult._members_validator),
('cursor', MembersListResult._cursor_validator),
('has_more', MembersListResult._has_more_validator),
]
MembersRecoverArg._user_validator = UserSelectorArg_validator
MembersRecoverArg._all_field_names_ = set(['user'])
MembersRecoverArg._all_fields_ = [('user', MembersRecoverArg._user_validator)]
MembersRecoverError._user_unrecoverable_validator = bv.Void()
MembersRecoverError._user_not_in_team_validator = bv.Void()
MembersRecoverError._team_license_limit_validator = bv.Void()
MembersRecoverError._other_validator = bv.Void()
MembersRecoverError._tagmap = {
'user_unrecoverable': MembersRecoverError._user_unrecoverable_validator,
'user_not_in_team': MembersRecoverError._user_not_in_team_validator,
'team_license_limit': MembersRecoverError._team_license_limit_validator,
'other': MembersRecoverError._other_validator,
}
MembersRecoverError._tagmap.update(UserSelectorError._tagmap)
MembersRecoverError.user_unrecoverable = MembersRecoverError('user_unrecoverable')
MembersRecoverError.user_not_in_team = MembersRecoverError('user_not_in_team')
MembersRecoverError.team_license_limit = MembersRecoverError('team_license_limit')
MembersRecoverError.other = MembersRecoverError('other')
MembersRemoveArg._transfer_dest_id_validator = bv.Nullable(UserSelectorArg_validator)
MembersRemoveArg._transfer_admin_id_validator = bv.Nullable(UserSelectorArg_validator)
MembersRemoveArg._keep_account_validator = bv.Boolean()
MembersRemoveArg._all_field_names_ = MembersDeactivateArg._all_field_names_.union(set([
'transfer_dest_id',
'transfer_admin_id',
'keep_account',
]))
MembersRemoveArg._all_fields_ = MembersDeactivateArg._all_fields_ + [
('transfer_dest_id', MembersRemoveArg._transfer_dest_id_validator),
('transfer_admin_id', MembersRemoveArg._transfer_admin_id_validator),
('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._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,
'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(MembersTransferFilesError._tagmap)
MembersRemoveError.remove_last_admin = MembersRemoveError('remove_last_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 = {
'other': MembersSendWelcomeError._other_validator,
}
MembersSendWelcomeError._tagmap.update(MemberSelectorError._tagmap)
MembersSendWelcomeError.other = MembersSendWelcomeError('other')
MembersSetPermissionsArg._user_validator = UserSelectorArg_validator
MembersSetPermissionsArg._new_role_validator = AdminTier_validator
MembersSetPermissionsArg._all_field_names_ = set([
'user',
'new_role',
])
MembersSetPermissionsArg._all_fields_ = [
('user', MembersSetPermissionsArg._user_validator),
('new_role', MembersSetPermissionsArg._new_role_validator),
]
MembersSetPermissionsError._last_admin_validator = bv.Void()
MembersSetPermissionsError._user_not_in_team_validator = bv.Void()
MembersSetPermissionsError._cannot_set_permissions_validator = bv.Void()
MembersSetPermissionsError._team_license_limit_validator = bv.Void()
MembersSetPermissionsError._other_validator = bv.Void()
MembersSetPermissionsError._tagmap = {
'last_admin': MembersSetPermissionsError._last_admin_validator,
'user_not_in_team': MembersSetPermissionsError._user_not_in_team_validator,
'cannot_set_permissions': MembersSetPermissionsError._cannot_set_permissions_validator,
'team_license_limit': MembersSetPermissionsError._team_license_limit_validator,
'other': MembersSetPermissionsError._other_validator,
}
MembersSetPermissionsError._tagmap.update(UserSelectorError._tagmap)
MembersSetPermissionsError.last_admin = MembersSetPermissionsError('last_admin')
MembersSetPermissionsError.user_not_in_team = MembersSetPermissionsError('user_not_in_team')
MembersSetPermissionsError.cannot_set_permissions = MembersSetPermissionsError('cannot_set_permissions')
MembersSetPermissionsError.team_license_limit = MembersSetPermissionsError('team_license_limit')
MembersSetPermissionsError.other = MembersSetPermissionsError('other')
MembersSetPermissionsResult._team_member_id_validator = team_common.TeamMemberId_validator
MembersSetPermissionsResult._role_validator = AdminTier_validator
MembersSetPermissionsResult._all_field_names_ = set([
'team_member_id',
'role',
])
MembersSetPermissionsResult._all_fields_ = [
('team_member_id', MembersSetPermissionsResult._team_member_id_validator),
('role', MembersSetPermissionsResult._role_validator),
]
MembersSetProfileArg._user_validator = UserSelectorArg_validator
MembersSetProfileArg._new_email_validator = bv.Nullable(common.EmailAddress_validator)
MembersSetProfileArg._new_external_id_validator = bv.Nullable(team_common.MemberExternalId_validator)
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',
'new_external_id',
'new_given_name',
'new_surname',
'new_persistent_id',
'new_is_directory_restricted',
])
MembersSetProfileArg._all_fields_ = [
('user', MembersSetProfileArg._user_validator),
('new_email', MembersSetProfileArg._new_email_validator),
('new_external_id', MembersSetProfileArg._new_external_id_validator),
('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()
MembersSetProfileError._no_new_data_specified_validator = bv.Void()
MembersSetProfileError._email_reserved_for_other_user_validator = bv.Void()
MembersSetProfileError._external_id_used_by_other_user_validator = bv.Void()
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,
'no_new_data_specified': MembersSetProfileError._no_new_data_specified_validator,
'email_reserved_for_other_user': MembersSetProfileError._email_reserved_for_other_user_validator,
'external_id_used_by_other_user': MembersSetProfileError._external_id_used_by_other_user_validator,
'set_profile_disallowed': MembersSetProfileError._set_profile_disallowed_validator,
'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)
MembersSetProfileError.external_id_and_new_external_id_unsafe = MembersSetProfileError('external_id_and_new_external_id_unsafe')
MembersSetProfileError.no_new_data_specified = MembersSetProfileError('no_new_data_specified')
MembersSetProfileError.email_reserved_for_other_user = MembersSetProfileError('email_reserved_for_other_user')
MembersSetProfileError.external_id_used_by_other_user = MembersSetProfileError('external_id_used_by_other_user')
MembersSetProfileError.set_profile_disallowed = MembersSetProfileError('set_profile_disallowed')
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()
MembersSuspendError._suspend_last_admin_validator = bv.Void()
MembersSuspendError._team_license_limit_validator = bv.Void()
MembersSuspendError._tagmap = {
'suspend_inactive_user': MembersSuspendError._suspend_inactive_user_validator,
'suspend_last_admin': MembersSuspendError._suspend_last_admin_validator,
'team_license_limit': MembersSuspendError._team_license_limit_validator,
}
MembersSuspendError._tagmap.update(MembersDeactivateError._tagmap)
MembersSuspendError.suspend_inactive_user = MembersSuspendError('suspend_inactive_user')
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)]
MembersUnsuspendError._unsuspend_non_suspended_member_validator = bv.Void()
MembersUnsuspendError._team_license_limit_validator = bv.Void()
MembersUnsuspendError._tagmap = {
'unsuspend_non_suspended_member': MembersUnsuspendError._unsuspend_non_suspended_member_validator,
'team_license_limit': MembersUnsuspendError._team_license_limit_validator,
}
MembersUnsuspendError._tagmap.update(MembersDeactivateError._tagmap)
MembersUnsuspendError.unsuspend_non_suspended_member = MembersUnsuspendError('unsuspend_non_suspended_member')
MembersUnsuspendError.team_license_limit = MembersUnsuspendError('team_license_limit')
MobileClientPlatform._iphone_validator = bv.Void()
MobileClientPlatform._ipad_validator = bv.Void()
MobileClientPlatform._android_validator = bv.Void()
MobileClientPlatform._windows_phone_validator = bv.Void()
MobileClientPlatform._blackberry_validator = bv.Void()
MobileClientPlatform._other_validator = bv.Void()
MobileClientPlatform._tagmap = {
'iphone': MobileClientPlatform._iphone_validator,
'ipad': MobileClientPlatform._ipad_validator,
'android': MobileClientPlatform._android_validator,
'windows_phone': MobileClientPlatform._windows_phone_validator,
'blackberry': MobileClientPlatform._blackberry_validator,
'other': MobileClientPlatform._other_validator,
}
MobileClientPlatform.iphone = MobileClientPlatform('iphone')
MobileClientPlatform.ipad = MobileClientPlatform('ipad')
MobileClientPlatform.android = MobileClientPlatform('android')
MobileClientPlatform.windows_phone = MobileClientPlatform('windows_phone')
MobileClientPlatform.blackberry = MobileClientPlatform('blackberry')
MobileClientPlatform.other = MobileClientPlatform('other')
MobileClientSession._device_name_validator = bv.String()
MobileClientSession._client_type_validator = MobileClientPlatform_validator
MobileClientSession._client_version_validator = bv.Nullable(bv.String())
MobileClientSession._os_version_validator = bv.Nullable(bv.String())
MobileClientSession._last_carrier_validator = bv.Nullable(bv.String())
MobileClientSession._all_field_names_ = DeviceSession._all_field_names_.union(set([
'device_name',
'client_type',
'client_version',
'os_version',
'last_carrier',
]))
MobileClientSession._all_fields_ = DeviceSession._all_fields_ + [
('device_name', MobileClientSession._device_name_validator),
('client_type', MobileClientSession._client_type_validator),
('client_version', MobileClientSession._client_version_validator),
('os_version', MobileClientSession._os_version_validator),
('last_carrier', MobileClientSession._last_carrier_validator),
]
NamespaceMetadata._name_validator = bv.String()
NamespaceMetadata._namespace_id_validator = common.SharedFolderId_validator
NamespaceMetadata._namespace_type_validator = NamespaceType_validator
NamespaceMetadata._team_member_id_validator = bv.Nullable(team_common.TeamMemberId_validator)
NamespaceMetadata._all_field_names_ = set([
'name',
'namespace_id',
'namespace_type',
'team_member_id',
])
NamespaceMetadata._all_fields_ = [
('name', NamespaceMetadata._name_validator),
('namespace_id', NamespaceMetadata._namespace_id_validator),
('namespace_type', NamespaceMetadata._namespace_type_validator),
('team_member_id', NamespaceMetadata._team_member_id_validator),
]
NamespaceType._app_folder_validator = bv.Void()
NamespaceType._shared_folder_validator = bv.Void()
NamespaceType._team_folder_validator = bv.Void()
NamespaceType._team_member_folder_validator = bv.Void()
NamespaceType._other_validator = bv.Void()
NamespaceType._tagmap = {
'app_folder': NamespaceType._app_folder_validator,
'shared_folder': NamespaceType._shared_folder_validator,
'team_folder': NamespaceType._team_folder_validator,
'team_member_folder': NamespaceType._team_member_folder_validator,
'other': NamespaceType._other_validator,
}
NamespaceType.app_folder = NamespaceType('app_folder')
NamespaceType.shared_folder = NamespaceType('shared_folder')
NamespaceType.team_folder = NamespaceType('team_folder')
NamespaceType.team_member_folder = NamespaceType('team_member_folder')
NamespaceType.other = NamespaceType('other')
RemoveCustomQuotaResult._success_validator = UserSelectorArg_validator
RemoveCustomQuotaResult._invalid_user_validator = UserSelectorArg_validator
RemoveCustomQuotaResult._other_validator = bv.Void()
RemoveCustomQuotaResult._tagmap = {
'success': RemoveCustomQuotaResult._success_validator,
'invalid_user': RemoveCustomQuotaResult._invalid_user_validator,
'other': RemoveCustomQuotaResult._other_validator,
}
RemoveCustomQuotaResult.other = RemoveCustomQuotaResult('other')
RemovedStatus._is_recoverable_validator = bv.Boolean()
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']))
RevokeDesktopClientArg._all_fields_ = DeviceSessionArg._all_fields_ + [('delete_on_unlink', RevokeDesktopClientArg._delete_on_unlink_validator)]
RevokeDeviceSessionArg._web_session_validator = DeviceSessionArg_validator
RevokeDeviceSessionArg._desktop_client_validator = RevokeDesktopClientArg_validator
RevokeDeviceSessionArg._mobile_client_validator = DeviceSessionArg_validator
RevokeDeviceSessionArg._tagmap = {
'web_session': RevokeDeviceSessionArg._web_session_validator,
'desktop_client': RevokeDeviceSessionArg._desktop_client_validator,
'mobile_client': RevokeDeviceSessionArg._mobile_client_validator,
}
RevokeDeviceSessionBatchArg._revoke_devices_validator = bv.List(RevokeDeviceSessionArg_validator)
RevokeDeviceSessionBatchArg._all_field_names_ = set(['revoke_devices'])
RevokeDeviceSessionBatchArg._all_fields_ = [('revoke_devices', RevokeDeviceSessionBatchArg._revoke_devices_validator)]
RevokeDeviceSessionBatchError._other_validator = bv.Void()
RevokeDeviceSessionBatchError._tagmap = {
'other': RevokeDeviceSessionBatchError._other_validator,
}
RevokeDeviceSessionBatchError.other = RevokeDeviceSessionBatchError('other')
RevokeDeviceSessionBatchResult._revoke_devices_status_validator = bv.List(RevokeDeviceSessionStatus_validator)
RevokeDeviceSessionBatchResult._all_field_names_ = set(['revoke_devices_status'])
RevokeDeviceSessionBatchResult._all_fields_ = [('revoke_devices_status', RevokeDeviceSessionBatchResult._revoke_devices_status_validator)]
RevokeDeviceSessionError._device_session_not_found_validator = bv.Void()
RevokeDeviceSessionError._member_not_found_validator = bv.Void()
RevokeDeviceSessionError._other_validator = bv.Void()
RevokeDeviceSessionError._tagmap = {
'device_session_not_found': RevokeDeviceSessionError._device_session_not_found_validator,
'member_not_found': RevokeDeviceSessionError._member_not_found_validator,
'other': RevokeDeviceSessionError._other_validator,
}
RevokeDeviceSessionError.device_session_not_found = RevokeDeviceSessionError('device_session_not_found')
RevokeDeviceSessionError.member_not_found = RevokeDeviceSessionError('member_not_found')
RevokeDeviceSessionError.other = RevokeDeviceSessionError('other')
RevokeDeviceSessionStatus._success_validator = bv.Boolean()
RevokeDeviceSessionStatus._error_type_validator = bv.Nullable(RevokeDeviceSessionError_validator)
RevokeDeviceSessionStatus._all_field_names_ = set([
'success',
'error_type',
])
RevokeDeviceSessionStatus._all_fields_ = [
('success', RevokeDeviceSessionStatus._success_validator),
('error_type', RevokeDeviceSessionStatus._error_type_validator),
]
RevokeLinkedApiAppArg._app_id_validator = bv.String()
RevokeLinkedApiAppArg._team_member_id_validator = bv.String()
RevokeLinkedApiAppArg._keep_app_folder_validator = bv.Boolean()
RevokeLinkedApiAppArg._all_field_names_ = set([
'app_id',
'team_member_id',
'keep_app_folder',
])
RevokeLinkedApiAppArg._all_fields_ = [
('app_id', RevokeLinkedApiAppArg._app_id_validator),
('team_member_id', RevokeLinkedApiAppArg._team_member_id_validator),
('keep_app_folder', RevokeLinkedApiAppArg._keep_app_folder_validator),
]
RevokeLinkedApiAppBatchArg._revoke_linked_app_validator = bv.List(RevokeLinkedApiAppArg_validator)
RevokeLinkedApiAppBatchArg._all_field_names_ = set(['revoke_linked_app'])
RevokeLinkedApiAppBatchArg._all_fields_ = [('revoke_linked_app', RevokeLinkedApiAppBatchArg._revoke_linked_app_validator)]
RevokeLinkedAppBatchError._other_validator = bv.Void()
RevokeLinkedAppBatchError._tagmap = {
'other': RevokeLinkedAppBatchError._other_validator,
}
RevokeLinkedAppBatchError.other = RevokeLinkedAppBatchError('other')
RevokeLinkedAppBatchResult._revoke_linked_app_status_validator = bv.List(RevokeLinkedAppStatus_validator)
RevokeLinkedAppBatchResult._all_field_names_ = set(['revoke_linked_app_status'])
RevokeLinkedAppBatchResult._all_fields_ = [('revoke_linked_app_status', RevokeLinkedAppBatchResult._revoke_linked_app_status_validator)]
RevokeLinkedAppError._app_not_found_validator = bv.Void()
RevokeLinkedAppError._member_not_found_validator = bv.Void()
RevokeLinkedAppError._other_validator = bv.Void()
RevokeLinkedAppError._tagmap = {
'app_not_found': RevokeLinkedAppError._app_not_found_validator,
'member_not_found': RevokeLinkedAppError._member_not_found_validator,
'other': RevokeLinkedAppError._other_validator,
}
RevokeLinkedAppError.app_not_found = RevokeLinkedAppError('app_not_found')
RevokeLinkedAppError.member_not_found = RevokeLinkedAppError('member_not_found')
RevokeLinkedAppError.other = RevokeLinkedAppError('other')
RevokeLinkedAppStatus._success_validator = bv.Boolean()
RevokeLinkedAppStatus._error_type_validator = bv.Nullable(RevokeLinkedAppError_validator)
RevokeLinkedAppStatus._all_field_names_ = set([
'success',
'error_type',
])
RevokeLinkedAppStatus._all_fields_ = [
('success', RevokeLinkedAppStatus._success_validator),
('error_type', RevokeLinkedAppStatus._error_type_validator),
]
SetCustomQuotaArg._users_and_quotas_validator = bv.List(UserCustomQuotaArg_validator)
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([
'bucket',
'users',
])
StorageBucket._all_fields_ = [
('bucket', StorageBucket._bucket_validator),
('users', StorageBucket._users_validator),
]
TeamFolderAccessError._invalid_team_folder_id_validator = bv.Void()
TeamFolderAccessError._no_access_validator = bv.Void()
TeamFolderAccessError._other_validator = bv.Void()
TeamFolderAccessError._tagmap = {
'invalid_team_folder_id': TeamFolderAccessError._invalid_team_folder_id_validator,
'no_access': TeamFolderAccessError._no_access_validator,
'other': TeamFolderAccessError._other_validator,
}
TeamFolderAccessError.invalid_team_folder_id = TeamFolderAccessError('invalid_team_folder_id')
TeamFolderAccessError.no_access = TeamFolderAccessError('no_access')
TeamFolderAccessError.other = TeamFolderAccessError('other')
TeamFolderActivateError._tagmap = {
}
TeamFolderActivateError._tagmap.update(BaseTeamFolderError._tagmap)
TeamFolderIdArg._team_folder_id_validator = common.SharedFolderId_validator
TeamFolderIdArg._all_field_names_ = set(['team_folder_id'])
TeamFolderIdArg._all_fields_ = [('team_folder_id', TeamFolderIdArg._team_folder_id_validator)]
TeamFolderArchiveArg._force_async_off_validator = bv.Boolean()
TeamFolderArchiveArg._all_field_names_ = TeamFolderIdArg._all_field_names_.union(set(['force_async_off']))
TeamFolderArchiveArg._all_fields_ = TeamFolderIdArg._all_fields_ + [('force_async_off', TeamFolderArchiveArg._force_async_off_validator)]
TeamFolderArchiveError._tagmap = {
}
TeamFolderArchiveError._tagmap.update(BaseTeamFolderError._tagmap)
TeamFolderArchiveJobStatus._complete_validator = TeamFolderMetadata_validator
TeamFolderArchiveJobStatus._failed_validator = TeamFolderArchiveError_validator
TeamFolderArchiveJobStatus._tagmap = {
'complete': TeamFolderArchiveJobStatus._complete_validator,
'failed': TeamFolderArchiveJobStatus._failed_validator,
}
TeamFolderArchiveJobStatus._tagmap.update(async_.PollResultBase._tagmap)
TeamFolderArchiveLaunch._complete_validator = TeamFolderMetadata_validator
TeamFolderArchiveLaunch._tagmap = {
'complete': TeamFolderArchiveLaunch._complete_validator,
}
TeamFolderArchiveLaunch._tagmap.update(async_.LaunchResultBase._tagmap)
TeamFolderCreateArg._name_validator = bv.String()
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,
}
TeamFolderCreateError.invalid_folder_name = TeamFolderCreateError('invalid_folder_name')
TeamFolderCreateError.folder_name_already_used = TeamFolderCreateError('folder_name_already_used')
TeamFolderCreateError.folder_name_reserved = TeamFolderCreateError('folder_name_reserved')
TeamFolderCreateError.other = TeamFolderCreateError('other')
TeamFolderGetInfoItem._id_not_found_validator = bv.String()
TeamFolderGetInfoItem._team_folder_metadata_validator = TeamFolderMetadata_validator
TeamFolderGetInfoItem._tagmap = {
'id_not_found': TeamFolderGetInfoItem._id_not_found_validator,
'team_folder_metadata': TeamFolderGetInfoItem._team_folder_metadata_validator,
}
TeamFolderIdListArg._team_folder_ids_validator = bv.List(common.SharedFolderId_validator, min_items=1)
TeamFolderIdListArg._all_field_names_ = set(['team_folder_ids'])
TeamFolderIdListArg._all_fields_ = [('team_folder_ids', TeamFolderIdListArg._team_folder_ids_validator)]
TeamFolderInvalidStatusError._active_validator = bv.Void()
TeamFolderInvalidStatusError._archived_validator = bv.Void()
TeamFolderInvalidStatusError._archive_in_progress_validator = bv.Void()
TeamFolderInvalidStatusError._other_validator = bv.Void()
TeamFolderInvalidStatusError._tagmap = {
'active': TeamFolderInvalidStatusError._active_validator,
'archived': TeamFolderInvalidStatusError._archived_validator,
'archive_in_progress': TeamFolderInvalidStatusError._archive_in_progress_validator,
'other': TeamFolderInvalidStatusError._other_validator,
}
TeamFolderInvalidStatusError.active = TeamFolderInvalidStatusError('active')
TeamFolderInvalidStatusError.archived = TeamFolderInvalidStatusError('archived')
TeamFolderInvalidStatusError.archive_in_progress = TeamFolderInvalidStatusError('archive_in_progress')
TeamFolderInvalidStatusError.other = TeamFolderInvalidStatusError('other')
TeamFolderListArg._limit_validator = bv.UInt32(min_value=1, max_value=1000)
TeamFolderListArg._all_field_names_ = set(['limit'])
TeamFolderListArg._all_fields_ = [('limit', TeamFolderListArg._limit_validator)]
TeamFolderListContinueArg._cursor_validator = bv.String()
TeamFolderListContinueArg._all_field_names_ = set(['cursor'])
TeamFolderListContinueArg._all_fields_ = [('cursor', TeamFolderListContinueArg._cursor_validator)]
TeamFolderListContinueError._invalid_cursor_validator = bv.Void()
TeamFolderListContinueError._other_validator = bv.Void()
TeamFolderListContinueError._tagmap = {
'invalid_cursor': TeamFolderListContinueError._invalid_cursor_validator,
'other': TeamFolderListContinueError._other_validator,
}
TeamFolderListContinueError.invalid_cursor = TeamFolderListContinueError('invalid_cursor')
TeamFolderListContinueError.other = TeamFolderListContinueError('other')
TeamFolderListError._access_error_validator = TeamFolderAccessError_validator
TeamFolderListError._all_field_names_ = set(['access_error'])
TeamFolderListError._all_fields_ = [('access_error', TeamFolderListError._access_error_validator)]
TeamFolderListResult._team_folders_validator = bv.List(TeamFolderMetadata_validator)
TeamFolderListResult._cursor_validator = bv.String()
TeamFolderListResult._has_more_validator = bv.Boolean()
TeamFolderListResult._all_field_names_ = set([
'team_folders',
'cursor',
'has_more',
])
TeamFolderListResult._all_fields_ = [
('team_folders', TeamFolderListResult._team_folders_validator),
('cursor', TeamFolderListResult._cursor_validator),
('has_more', TeamFolderListResult._has_more_validator),
]
TeamFolderMetadata._team_folder_id_validator = common.SharedFolderId_validator
TeamFolderMetadata._name_validator = bv.String()
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 = {
}
TeamFolderPermanentlyDeleteError._tagmap.update(BaseTeamFolderError._tagmap)
TeamFolderRenameArg._name_validator = bv.String()
TeamFolderRenameArg._all_field_names_ = TeamFolderIdArg._all_field_names_.union(set(['name']))
TeamFolderRenameArg._all_fields_ = TeamFolderIdArg._all_fields_ + [('name', TeamFolderRenameArg._name_validator)]
TeamFolderRenameError._invalid_folder_name_validator = bv.Void()
TeamFolderRenameError._folder_name_already_used_validator = bv.Void()
TeamFolderRenameError._folder_name_reserved_validator = bv.Void()
TeamFolderRenameError._tagmap = {
'invalid_folder_name': TeamFolderRenameError._invalid_folder_name_validator,
'folder_name_already_used': TeamFolderRenameError._folder_name_already_used_validator,
'folder_name_reserved': TeamFolderRenameError._folder_name_reserved_validator,
}
TeamFolderRenameError._tagmap.update(BaseTeamFolderError._tagmap)
TeamFolderRenameError.invalid_folder_name = TeamFolderRenameError('invalid_folder_name')
TeamFolderRenameError.folder_name_already_used = TeamFolderRenameError('folder_name_already_used')
TeamFolderRenameError.folder_name_reserved = TeamFolderRenameError('folder_name_reserved')
TeamFolderStatus._active_validator = bv.Void()
TeamFolderStatus._archived_validator = bv.Void()
TeamFolderStatus._archive_in_progress_validator = bv.Void()
TeamFolderStatus._other_validator = bv.Void()
TeamFolderStatus._tagmap = {
'active': TeamFolderStatus._active_validator,
'archived': TeamFolderStatus._archived_validator,
'archive_in_progress': TeamFolderStatus._archive_in_progress_validator,
'other': TeamFolderStatus._other_validator,
}
TeamFolderStatus.active = TeamFolderStatus('active')
TeamFolderStatus.archived = TeamFolderStatus('archived')
TeamFolderStatus.archive_in_progress = TeamFolderStatus('archive_in_progress')
TeamFolderStatus.other = TeamFolderStatus('other')
TeamFolderTeamSharedDropboxError._disallowed_validator = bv.Void()
TeamFolderTeamSharedDropboxError._other_validator = bv.Void()
TeamFolderTeamSharedDropboxError._tagmap = {
'disallowed': TeamFolderTeamSharedDropboxError._disallowed_validator,
'other': TeamFolderTeamSharedDropboxError._other_validator,
}
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()
TeamGetInfoResult._num_provisioned_users_validator = bv.UInt32()
TeamGetInfoResult._policies_validator = team_policies.TeamMemberPolicies_validator
TeamGetInfoResult._all_field_names_ = set([
'name',
'team_id',
'num_licensed_users',
'num_provisioned_users',
'policies',
])
TeamGetInfoResult._all_fields_ = [
('name', TeamGetInfoResult._name_validator),
('team_id', TeamGetInfoResult._team_id_validator),
('num_licensed_users', TeamGetInfoResult._num_licensed_users_validator),
('num_provisioned_users', TeamGetInfoResult._num_provisioned_users_validator),
('policies', TeamGetInfoResult._policies_validator),
]
TeamMemberInfo._profile_validator = TeamMemberProfile_validator
TeamMemberInfo._role_validator = AdminTier_validator
TeamMemberInfo._all_field_names_ = set([
'profile',
'role',
])
TeamMemberInfo._all_fields_ = [
('profile', TeamMemberInfo._profile_validator),
('role', TeamMemberInfo._role_validator),
]
TeamMemberProfile._groups_validator = bv.List(team_common.GroupId_validator)
TeamMemberProfile._member_folder_id_validator = common.NamespaceId_validator
TeamMemberProfile._all_field_names_ = MemberProfile._all_field_names_.union(set([
'groups',
'member_folder_id',
]))
TeamMemberProfile._all_fields_ = MemberProfile._all_fields_ + [
('groups', TeamMemberProfile._groups_validator),
('member_folder_id', TeamMemberProfile._member_folder_id_validator),
]
TeamMemberStatus._active_validator = bv.Void()
TeamMemberStatus._invited_validator = bv.Void()
TeamMemberStatus._suspended_validator = bv.Void()
TeamMemberStatus._removed_validator = RemovedStatus_validator
TeamMemberStatus._tagmap = {
'active': TeamMemberStatus._active_validator,
'invited': TeamMemberStatus._invited_validator,
'suspended': TeamMemberStatus._suspended_validator,
'removed': TeamMemberStatus._removed_validator,
}
TeamMemberStatus.active = TeamMemberStatus('active')
TeamMemberStatus.invited = TeamMemberStatus('invited')
TeamMemberStatus.suspended = TeamMemberStatus('suspended')
TeamMembershipType._full_validator = bv.Void()
TeamMembershipType._limited_validator = bv.Void()
TeamMembershipType._tagmap = {
'full': TeamMembershipType._full_validator,
'limited': TeamMembershipType._limited_validator,
}
TeamMembershipType.full = TeamMembershipType('full')
TeamMembershipType.limited = TeamMembershipType('limited')
TeamNamespacesListArg._limit_validator = bv.UInt32(min_value=1, max_value=1000)
TeamNamespacesListArg._all_field_names_ = set(['limit'])
TeamNamespacesListArg._all_fields_ = [('limit', TeamNamespacesListArg._limit_validator)]
TeamNamespacesListContinueArg._cursor_validator = bv.String()
TeamNamespacesListContinueArg._all_field_names_ = set(['cursor'])
TeamNamespacesListContinueArg._all_fields_ = [('cursor', TeamNamespacesListContinueArg._cursor_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')
TeamNamespacesListResult._namespaces_validator = bv.List(NamespaceMetadata_validator)
TeamNamespacesListResult._cursor_validator = bv.String()
TeamNamespacesListResult._has_more_validator = bv.Boolean()
TeamNamespacesListResult._all_field_names_ = set([
'namespaces',
'cursor',
'has_more',
])
TeamNamespacesListResult._all_fields_ = [
('namespaces', TeamNamespacesListResult._namespaces_validator),
('cursor', TeamNamespacesListResult._cursor_validator),
('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()
TokenGetAuthenticatedAdminError._tagmap = {
'mapping_not_found': TokenGetAuthenticatedAdminError._mapping_not_found_validator,
'admin_not_active': TokenGetAuthenticatedAdminError._admin_not_active_validator,
'other': TokenGetAuthenticatedAdminError._other_validator,
}
TokenGetAuthenticatedAdminError.mapping_not_found = TokenGetAuthenticatedAdminError('mapping_not_found')
TokenGetAuthenticatedAdminError.admin_not_active = TokenGetAuthenticatedAdminError('admin_not_active')
TokenGetAuthenticatedAdminError.other = TokenGetAuthenticatedAdminError('other')
TokenGetAuthenticatedAdminResult._admin_profile_validator = TeamMemberProfile_validator
TokenGetAuthenticatedAdminResult._all_field_names_ = set(['admin_profile'])
TokenGetAuthenticatedAdminResult._all_fields_ = [('admin_profile', TokenGetAuthenticatedAdminResult._admin_profile_validator)]
UploadApiRateLimitValue._unlimited_validator = bv.Void()
UploadApiRateLimitValue._limit_validator = bv.UInt32()
UploadApiRateLimitValue._other_validator = bv.Void()
UploadApiRateLimitValue._tagmap = {
'unlimited': UploadApiRateLimitValue._unlimited_validator,
'limit': UploadApiRateLimitValue._limit_validator,
'other': UploadApiRateLimitValue._other_validator,
}
UploadApiRateLimitValue.unlimited = UploadApiRateLimitValue('unlimited')
UploadApiRateLimitValue.other = UploadApiRateLimitValue('other')
UserCustomQuotaArg._user_validator = UserSelectorArg_validator
UserCustomQuotaArg._quota_gb_validator = UserQuota_validator
UserCustomQuotaArg._all_field_names_ = set([
'user',
'quota_gb',
])
UserCustomQuotaArg._all_fields_ = [
('user', UserCustomQuotaArg._user_validator),
('quota_gb', UserCustomQuotaArg._quota_gb_validator),
]
UserCustomQuotaResult._user_validator = UserSelectorArg_validator
UserCustomQuotaResult._quota_gb_validator = bv.Nullable(UserQuota_validator)
UserCustomQuotaResult._all_field_names_ = set([
'user',
'quota_gb',
])
UserCustomQuotaResult._all_fields_ = [
('user', UserCustomQuotaResult._user_validator),
('quota_gb', UserCustomQuotaResult._quota_gb_validator),
]
UserSelectorArg._team_member_id_validator = team_common.TeamMemberId_validator
UserSelectorArg._external_id_validator = team_common.MemberExternalId_validator
UserSelectorArg._email_validator = common.EmailAddress_validator
UserSelectorArg._tagmap = {
'team_member_id': UserSelectorArg._team_member_id_validator,
'external_id': UserSelectorArg._external_id_validator,
'email': UserSelectorArg._email_validator,
}
UsersSelectorArg._team_member_ids_validator = bv.List(team_common.TeamMemberId_validator)
UsersSelectorArg._external_ids_validator = bv.List(team_common.MemberExternalId_validator)
UsersSelectorArg._emails_validator = bv.List(common.EmailAddress_validator)
UsersSelectorArg._tagmap = {
'team_member_ids': UsersSelectorArg._team_member_ids_validator,
'external_ids': UsersSelectorArg._external_ids_validator,
'emails': UsersSelectorArg._emails_validator,
}
devices_list_member_devices = bb.Route(
'devices/list_member_devices',
1,
False,
ListMemberDevicesArg_validator,
ListMemberDevicesResult_validator,
ListMemberDevicesError_validator,
{'host': u'api',
'style': u'rpc'},
)
devices_list_members_devices = bb.Route(
'devices/list_members_devices',
1,
False,
ListMembersDevicesArg_validator,
ListMembersDevicesResult_validator,
ListMembersDevicesError_validator,
{'host': u'api',
'style': u'rpc'},
)
devices_list_team_devices = bb.Route(
'devices/list_team_devices',
1,
True,
ListTeamDevicesArg_validator,
ListTeamDevicesResult_validator,
ListTeamDevicesError_validator,
{'host': u'api',
'style': u'rpc'},
)
devices_revoke_device_session = bb.Route(
'devices/revoke_device_session',
1,
False,
RevokeDeviceSessionArg_validator,
bv.Void(),
RevokeDeviceSessionError_validator,
{'host': u'api',
'style': u'rpc'},
)
devices_revoke_device_session_batch = bb.Route(
'devices/revoke_device_session_batch',
1,
False,
RevokeDeviceSessionBatchArg_validator,
RevokeDeviceSessionBatchResult_validator,
RevokeDeviceSessionBatchError_validator,
{'host': u'api',
'style': u'rpc'},
)
features_get_values = bb.Route(
'features/get_values',
1,
False,
FeaturesGetValuesBatchArg_validator,
FeaturesGetValuesBatchResult_validator,
FeaturesGetValuesBatchError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_info = bb.Route(
'get_info',
1,
False,
bv.Void(),
TeamGetInfoResult_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
groups_create = bb.Route(
'groups/create',
1,
False,
GroupCreateArg_validator,
GroupFullInfo_validator,
GroupCreateError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_delete = bb.Route(
'groups/delete',
1,
False,
GroupSelector_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,
GroupsGetInfoError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_job_status_get = bb.Route(
'groups/job_status/get',
1,
False,
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,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
groups_list_continue = bb.Route(
'groups/list/continue',
1,
False,
GroupsListContinueArg_validator,
GroupsListResult_validator,
GroupsListContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_members_add = bb.Route(
'groups/members/add',
1,
False,
GroupMembersAddArg_validator,
GroupMembersChangeResult_validator,
GroupMembersAddError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_members_list = bb.Route(
'groups/members/list',
1,
False,
GroupsMembersListArg_validator,
GroupsMembersListResult_validator,
GroupSelectorError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_members_list_continue = bb.Route(
'groups/members/list/continue',
1,
False,
GroupsMembersListContinueArg_validator,
GroupsMembersListResult_validator,
GroupsMembersListContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_members_remove = bb.Route(
'groups/members/remove',
1,
False,
GroupMembersRemoveArg_validator,
GroupMembersChangeResult_validator,
GroupMembersRemoveError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_members_set_access_type = bb.Route(
'groups/members/set_access_type',
1,
False,
GroupMembersSetAccessTypeArg_validator,
GroupsGetInfoResult_validator,
GroupMemberSetAccessTypeError_validator,
{'host': u'api',
'style': u'rpc'},
)
groups_update = bb.Route(
'groups/update',
1,
False,
GroupUpdateArgs_validator,
GroupFullInfo_validator,
GroupUpdateError_validator,
{'host': u'api',
'style': u'rpc'},
)
linked_apps_list_member_linked_apps = bb.Route(
'linked_apps/list_member_linked_apps',
1,
False,
ListMemberAppsArg_validator,
ListMemberAppsResult_validator,
ListMemberAppsError_validator,
{'host': u'api',
'style': u'rpc'},
)
linked_apps_list_members_linked_apps = bb.Route(
'linked_apps/list_members_linked_apps',
1,
False,
ListMembersAppsArg_validator,
ListMembersAppsResult_validator,
ListMembersAppsError_validator,
{'host': u'api',
'style': u'rpc'},
)
linked_apps_list_team_linked_apps = bb.Route(
'linked_apps/list_team_linked_apps',
1,
True,
ListTeamAppsArg_validator,
ListTeamAppsResult_validator,
ListTeamAppsError_validator,
{'host': u'api',
'style': u'rpc'},
)
linked_apps_revoke_linked_app = bb.Route(
'linked_apps/revoke_linked_app',
1,
False,
RevokeLinkedApiAppArg_validator,
bv.Void(),
RevokeLinkedAppError_validator,
{'host': u'api',
'style': u'rpc'},
)
linked_apps_revoke_linked_app_batch = bb.Route(
'linked_apps/revoke_linked_app_batch',
1,
False,
RevokeLinkedApiAppBatchArg_validator,
RevokeLinkedAppBatchResult_validator,
RevokeLinkedAppBatchError_validator,
{'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),
CustomQuotaError_validator,
{'host': u'api',
'style': u'rpc'},
)
member_space_limits_remove_custom_quota = bb.Route(
'member_space_limits/remove_custom_quota',
1,
False,
CustomQuotaUsersArg_validator,
bv.List(RemoveCustomQuotaResult_validator),
CustomQuotaError_validator,
{'host': u'api',
'style': u'rpc'},
)
member_space_limits_set_custom_quota = bb.Route(
'member_space_limits/set_custom_quota',
1,
False,
SetCustomQuotaArg_validator,
bv.List(CustomQuotaResult_validator),
SetCustomQuotaError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_add = bb.Route(
'members/add',
1,
False,
MembersAddArg_validator,
MembersAddLaunch_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
members_add_job_status_get = bb.Route(
'members/add/job_status/get',
1,
False,
async_.PollArg_validator,
MembersAddJobStatus_validator,
async_.PollError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_get_info = bb.Route(
'members/get_info',
1,
False,
MembersGetInfoArgs_validator,
MembersGetInfoResult_validator,
MembersGetInfoError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_list = bb.Route(
'members/list',
1,
False,
MembersListArg_validator,
MembersListResult_validator,
MembersListError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_list_continue = bb.Route(
'members/list/continue',
1,
False,
MembersListContinueArg_validator,
MembersListResult_validator,
MembersListContinueError_validator,
{'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(),
MembersRecoverError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_remove = bb.Route(
'members/remove',
1,
False,
MembersRemoveArg_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,
{'host': u'api',
'style': u'rpc'},
)
members_send_welcome_email = bb.Route(
'members/send_welcome_email',
1,
False,
UserSelectorArg_validator,
bv.Void(),
MembersSendWelcomeError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_set_admin_permissions = bb.Route(
'members/set_admin_permissions',
1,
False,
MembersSetPermissionsArg_validator,
MembersSetPermissionsResult_validator,
MembersSetPermissionsError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_set_profile = bb.Route(
'members/set_profile',
1,
False,
MembersSetProfileArg_validator,
TeamMemberInfo_validator,
MembersSetProfileError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_suspend = bb.Route(
'members/suspend',
1,
False,
MembersDeactivateArg_validator,
bv.Void(),
MembersSuspendError_validator,
{'host': u'api',
'style': u'rpc'},
)
members_unsuspend = bb.Route(
'members/unsuspend',
1,
False,
MembersUnsuspendArg_validator,
bv.Void(),
MembersUnsuspendError_validator,
{'host': u'api',
'style': u'rpc'},
)
namespaces_list = bb.Route(
'namespaces/list',
1,
False,
TeamNamespacesListArg_validator,
TeamNamespacesListResult_validator,
TeamNamespacesListError_validator,
{'host': u'api',
'style': u'rpc'},
)
namespaces_list_continue = bb.Route(
'namespaces/list/continue',
1,
False,
TeamNamespacesListContinueArg_validator,
TeamNamespacesListResult_validator,
TeamNamespacesListContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_template_add = bb.Route(
'properties/template/add',
1,
True,
file_properties.AddTemplateArg_validator,
file_properties.AddTemplateResult_validator,
file_properties.ModifyTemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_template_get = bb.Route(
'properties/template/get',
1,
True,
file_properties.GetTemplateArg_validator,
file_properties.GetTemplateResult_validator,
file_properties.TemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_template_list = bb.Route(
'properties/template/list',
1,
True,
bv.Void(),
file_properties.ListTemplateResult_validator,
file_properties.TemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
properties_template_update = bb.Route(
'properties/template/update',
1,
True,
file_properties.UpdateTemplateArg_validator,
file_properties.UpdateTemplateResult_validator,
file_properties.ModifyTemplateError_validator,
{'host': u'api',
'style': u'rpc'},
)
reports_get_activity = bb.Route(
'reports/get_activity',
1,
False,
DateRange_validator,
GetActivityReport_validator,
DateRangeError_validator,
{'host': u'api',
'style': u'rpc'},
)
reports_get_devices = bb.Route(
'reports/get_devices',
1,
False,
DateRange_validator,
GetDevicesReport_validator,
DateRangeError_validator,
{'host': u'api',
'style': u'rpc'},
)
reports_get_membership = bb.Route(
'reports/get_membership',
1,
False,
DateRange_validator,
GetMembershipReport_validator,
DateRangeError_validator,
{'host': u'api',
'style': u'rpc'},
)
reports_get_storage = bb.Route(
'reports/get_storage',
1,
False,
DateRange_validator,
GetStorageReport_validator,
DateRangeError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_activate = bb.Route(
'team_folder/activate',
1,
False,
TeamFolderIdArg_validator,
TeamFolderMetadata_validator,
TeamFolderActivateError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_archive = bb.Route(
'team_folder/archive',
1,
False,
TeamFolderArchiveArg_validator,
TeamFolderArchiveLaunch_validator,
TeamFolderArchiveError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_archive_check = bb.Route(
'team_folder/archive/check',
1,
False,
async_.PollArg_validator,
TeamFolderArchiveJobStatus_validator,
async_.PollError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_create = bb.Route(
'team_folder/create',
1,
False,
TeamFolderCreateArg_validator,
TeamFolderMetadata_validator,
TeamFolderCreateError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_get_info = bb.Route(
'team_folder/get_info',
1,
False,
TeamFolderIdListArg_validator,
bv.List(TeamFolderGetInfoItem_validator),
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
team_folder_list = bb.Route(
'team_folder/list',
1,
False,
TeamFolderListArg_validator,
TeamFolderListResult_validator,
TeamFolderListError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_list_continue = bb.Route(
'team_folder/list/continue',
1,
False,
TeamFolderListContinueArg_validator,
TeamFolderListResult_validator,
TeamFolderListContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_permanently_delete = bb.Route(
'team_folder/permanently_delete',
1,
False,
TeamFolderIdArg_validator,
bv.Void(),
TeamFolderPermanentlyDeleteError_validator,
{'host': u'api',
'style': u'rpc'},
)
team_folder_rename = bb.Route(
'team_folder/rename',
1,
False,
TeamFolderRenameArg_validator,
TeamFolderMetadata_validator,
TeamFolderRenameError_validator,
{'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,
TokenGetAuthenticatedAdminError_validator,
{'host': u'api',
'style': u'rpc'},
)
ROUTES = {
'devices/list_member_devices': devices_list_member_devices,
'devices/list_members_devices': devices_list_members_devices,
'devices/list_team_devices': devices_list_team_devices,
'devices/revoke_device_session': devices_revoke_device_session,
'devices/revoke_device_session_batch': devices_revoke_device_session_batch,
'features/get_values': features_get_values,
'get_info': get_info,
'groups/create': groups_create,
'groups/delete': groups_delete,
'groups/get_info': groups_get_info,
'groups/job_status/get': groups_job_status_get,
'groups/list': groups_list,
'groups/list/continue': groups_list_continue,
'groups/members/add': groups_members_add,
'groups/members/list': groups_members_list,
'groups/members/list/continue': groups_members_list_continue,
'groups/members/remove': groups_members_remove,
'groups/members/set_access_type': groups_members_set_access_type,
'groups/update': groups_update,
'linked_apps/list_member_linked_apps': linked_apps_list_member_linked_apps,
'linked_apps/list_members_linked_apps': linked_apps_list_members_linked_apps,
'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,
'members/add': members_add,
'members/add/job_status/get': members_add_job_status_get,
'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,
'members/send_welcome_email': members_send_welcome_email,
'members/set_admin_permissions': members_set_admin_permissions,
'members/set_profile': members_set_profile,
'members/suspend': members_suspend,
'members/unsuspend': members_unsuspend,
'namespaces/list': namespaces_list,
'namespaces/list/continue': namespaces_list_continue,
'properties/template/add': properties_template_add,
'properties/template/get': properties_template_get,
'properties/template/list': properties_template_list,
'properties/template/update': properties_template_update,
'reports/get_activity': reports_get_activity,
'reports/get_devices': reports_get_devices,
'reports/get_membership': reports_get_membership,
'reports/get_storage': reports_get_storage,
'team_folder/activate': team_folder_activate,
'team_folder/archive': team_folder_archive,
'team_folder/archive/check': team_folder_archive_check,
'team_folder/create': team_folder_create,
'team_folder/get_info': team_folder_get_info,
'team_folder/list': team_folder_list,
'team_folder/list/continue': team_folder_list_continue,
'team_folder/permanently_delete': team_folder_permanently_delete,
'team_folder/rename': team_folder_rename,
'team_folder/update_sync_settings': team_folder_update_sync_settings,
'token/get_authenticated_admin': token_get_authenticated_admin,
}
dropbox-sdk-python-9.4.0/dropbox/team_common.py 0000664 0000000 0000000 00000043003 13500550210 0021613 0 ustar 00root root 0000000 0000000 # -*- 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 GroupManagementType(bb.Union):
"""
The group type determines how a group is managed.
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.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'
# Attribute is overwritten below the class definition
user_managed = None
# Attribute is overwritten below the class definition
company_managed = None
# Attribute is overwritten below the class definition
system_managed = None
# Attribute is overwritten below the class definition
other = None
def is_user_managed(self):
"""
Check if the union tag is ``user_managed``.
:rtype: bool
"""
return self._tag == 'user_managed'
def is_company_managed(self):
"""
Check if the union tag is ``company_managed``.
:rtype: bool
"""
return self._tag == 'company_managed'
def is_system_managed(self):
"""
Check if the union tag is ``system_managed``.
:rtype: bool
"""
return self._tag == 'system_managed'
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(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(bb.Struct):
"""
Information about a 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__ = [
'_group_name_value',
'_group_name_present',
'_group_id_value',
'_group_id_present',
'_group_external_id_value',
'_group_external_id_present',
'_member_count_value',
'_member_count_present',
'_group_management_type_value',
'_group_management_type_present',
]
_has_required_fields = True
def __init__(self,
group_name=None,
group_id=None,
group_management_type=None,
group_external_id=None,
member_count=None):
self._group_name_value = None
self._group_name_present = False
self._group_id_value = None
self._group_id_present = False
self._group_external_id_value = None
self._group_external_id_present = False
self._member_count_value = None
self._member_count_present = False
self._group_management_type_value = None
self._group_management_type_present = False
if group_name is not None:
self.group_name = group_name
if group_id is not None:
self.group_id = group_id
if group_external_id is not None:
self.group_external_id = group_external_id
if member_count is not None:
self.member_count = member_count
if group_management_type is not None:
self.group_management_type = group_management_type
@property
def group_name(self):
"""
:rtype: str
"""
if self._group_name_present:
return self._group_name_value
else:
raise AttributeError("missing required field 'group_name'")
@group_name.setter
def group_name(self, val):
val = self._group_name_validator.validate(val)
self._group_name_value = val
self._group_name_present = True
@group_name.deleter
def group_name(self):
self._group_name_value = None
self._group_name_present = False
@property
def group_id(self):
"""
:rtype: str
"""
if self._group_id_present:
return self._group_id_value
else:
raise AttributeError("missing required field 'group_id'")
@group_id.setter
def group_id(self, val):
val = self._group_id_validator.validate(val)
self._group_id_value = val
self._group_id_present = True
@group_id.deleter
def group_id(self):
self._group_id_value = None
self._group_id_present = False
@property
def group_external_id(self):
"""
External ID of group. This is an arbitrary ID that an admin can attach
to a group.
:rtype: str
"""
if self._group_external_id_present:
return self._group_external_id_value
else:
return None
@group_external_id.setter
def group_external_id(self, val):
if val is None:
del self.group_external_id
return
val = self._group_external_id_validator.validate(val)
self._group_external_id_value = val
self._group_external_id_present = True
@group_external_id.deleter
def group_external_id(self):
self._group_external_id_value = None
self._group_external_id_present = False
@property
def member_count(self):
"""
The number of members in the group.
:rtype: int
"""
if self._member_count_present:
return self._member_count_value
else:
return None
@member_count.setter
def member_count(self, val):
if val is None:
del self.member_count
return
val = self._member_count_validator.validate(val)
self._member_count_value = val
self._member_count_present = True
@member_count.deleter
def member_count(self):
self._member_count_value = None
self._member_count_present = False
@property
def group_management_type(self):
"""
Who is allowed to manage the group.
:rtype: GroupManagementType
"""
if self._group_management_type_present:
return self._group_management_type_value
else:
raise AttributeError("missing required field 'group_management_type'")
@group_management_type.setter
def group_management_type(self, val):
self._group_management_type_validator.validate_type_only(val)
self._group_management_type_value = val
self._group_management_type_present = True
@group_management_type.deleter
def group_management_type(self):
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,
self._group_id_value,
self._group_management_type_value,
self._group_external_id_value,
self._member_count_value,
)
GroupSummary_validator = bv.Struct(GroupSummary)
class GroupType(bb.Union):
"""
The group type determines how a group is created and managed.
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.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'
# Attribute is overwritten below the class definition
team = None
# Attribute is overwritten below the class definition
user_managed = None
# Attribute is overwritten below the class definition
other = None
def is_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == 'team'
def is_user_managed(self):
"""
Check if the union tag is ``user_managed``.
:rtype: bool
"""
return self._tag == 'user_managed'
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(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 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 team_common.TimeRange.start_time: Optional starting time (inclusive).
:ivar team_common.TimeRange.end_time: Optional ending time (exclusive).
"""
__slots__ = [
'_start_time_value',
'_start_time_present',
'_end_time_value',
'_end_time_present',
]
_has_required_fields = False
def __init__(self,
start_time=None,
end_time=None):
self._start_time_value = None
self._start_time_present = False
self._end_time_value = None
self._end_time_present = False
if start_time is not None:
self.start_time = start_time
if end_time is not None:
self.end_time = end_time
@property
def start_time(self):
"""
Optional starting time (inclusive).
:rtype: datetime.datetime
"""
if self._start_time_present:
return self._start_time_value
else:
return None
@start_time.setter
def start_time(self, val):
if val is None:
del self.start_time
return
val = self._start_time_validator.validate(val)
self._start_time_value = val
self._start_time_present = True
@start_time.deleter
def start_time(self):
self._start_time_value = None
self._start_time_present = False
@property
def end_time(self):
"""
Optional ending time (exclusive).
:rtype: datetime.datetime
"""
if self._end_time_present:
return self._end_time_value
else:
return None
@end_time.setter
def end_time(self, val):
if val is None:
del self.end_time
return
val = self._end_time_validator.validate(val)
self._end_time_value = val
self._end_time_present = True
@end_time.deleter
def end_time(self):
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,
self._end_time_value,
)
TimeRange_validator = bv.Struct(TimeRange)
GroupExternalId_validator = bv.String()
GroupId_validator = bv.String()
MemberExternalId_validator = bv.String(max_length=64)
ResellerId_validator = bv.String()
TeamMemberId_validator = bv.String()
GroupManagementType._user_managed_validator = bv.Void()
GroupManagementType._company_managed_validator = bv.Void()
GroupManagementType._system_managed_validator = bv.Void()
GroupManagementType._other_validator = bv.Void()
GroupManagementType._tagmap = {
'user_managed': GroupManagementType._user_managed_validator,
'company_managed': GroupManagementType._company_managed_validator,
'system_managed': GroupManagementType._system_managed_validator,
'other': GroupManagementType._other_validator,
}
GroupManagementType.user_managed = GroupManagementType('user_managed')
GroupManagementType.company_managed = GroupManagementType('company_managed')
GroupManagementType.system_managed = GroupManagementType('system_managed')
GroupManagementType.other = GroupManagementType('other')
GroupSummary._group_name_validator = bv.String()
GroupSummary._group_id_validator = GroupId_validator
GroupSummary._group_external_id_validator = bv.Nullable(GroupExternalId_validator)
GroupSummary._member_count_validator = bv.Nullable(bv.UInt32())
GroupSummary._group_management_type_validator = GroupManagementType_validator
GroupSummary._all_field_names_ = set([
'group_name',
'group_id',
'group_external_id',
'member_count',
'group_management_type',
])
GroupSummary._all_fields_ = [
('group_name', GroupSummary._group_name_validator),
('group_id', GroupSummary._group_id_validator),
('group_external_id', GroupSummary._group_external_id_validator),
('member_count', GroupSummary._member_count_validator),
('group_management_type', GroupSummary._group_management_type_validator),
]
GroupType._team_validator = bv.Void()
GroupType._user_managed_validator = bv.Void()
GroupType._other_validator = bv.Void()
GroupType._tagmap = {
'team': GroupType._team_validator,
'user_managed': GroupType._user_managed_validator,
'other': GroupType._other_validator,
}
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([
'start_time',
'end_time',
])
TimeRange._all_fields_ = [
('start_time', TimeRange._start_time_validator),
('end_time', TimeRange._end_time_validator),
]
ROUTES = {
}
dropbox-sdk-python-9.4.0/dropbox/team_log.py 0000664 0000000 0000000 00012037327 13500550210 0021123 0 ustar 00root root 0000000 0000000 # -*- 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,
file_requests,
files,
sharing,
team,
team_common,
team_policies,
users_common,
)
except (ImportError, SystemError, ValueError):
import common
import file_requests
import files
import sharing
import team
import team_common
import team_policies
import users_common
class AccessMethodLogInfo(bb.Union):
"""
Indicates the method in which the action was performed.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar SessionLogInfo 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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def end_user(cls, val):
"""
Create an instance of this class set to the ``end_user`` tag with value
``val``.
:param SessionLogInfo val:
:rtype: AccessMethodLogInfo
"""
return cls('end_user', val)
@classmethod
def sign_in_as(cls, val):
"""
Create an instance of this class set to the ``sign_in_as`` tag with
value ``val``.
:param WebSessionLogInfo val:
:rtype: AccessMethodLogInfo
"""
return cls('sign_in_as', val)
@classmethod
def content_manager(cls, val):
"""
Create an instance of this class set to the ``content_manager`` tag with
value ``val``.
:param WebSessionLogInfo val:
:rtype: AccessMethodLogInfo
"""
return cls('content_manager', val)
@classmethod
def admin_console(cls, val):
"""
Create an instance of this class set to the ``admin_console`` tag with
value ``val``.
:param WebSessionLogInfo val:
:rtype: AccessMethodLogInfo
"""
return cls('admin_console', val)
@classmethod
def api(cls, val):
"""
Create an instance of this class set to the ``api`` tag with value
``val``.
:param ApiSessionLogInfo val:
:rtype: AccessMethodLogInfo
"""
return cls('api', val)
def is_end_user(self):
"""
Check if the union tag is ``end_user``.
:rtype: bool
"""
return self._tag == 'end_user'
def is_sign_in_as(self):
"""
Check if the union tag is ``sign_in_as``.
:rtype: bool
"""
return self._tag == 'sign_in_as'
def is_content_manager(self):
"""
Check if the union tag is ``content_manager``.
:rtype: bool
"""
return self._tag == 'content_manager'
def is_admin_console(self):
"""
Check if the union tag is ``admin_console``.
:rtype: bool
"""
return self._tag == 'admin_console'
def is_api(self):
"""
Check if the union tag is ``api``.
:rtype: bool
"""
return self._tag == 'api'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_end_user(self):
"""
End user session details.
Only call this if :meth:`is_end_user` is true.
:rtype: SessionLogInfo
"""
if not self.is_end_user():
raise AttributeError("tag 'end_user' not set")
return self._value
def get_sign_in_as(self):
"""
Sign in as session details.
Only call this if :meth:`is_sign_in_as` is true.
:rtype: WebSessionLogInfo
"""
if not self.is_sign_in_as():
raise AttributeError("tag 'sign_in_as' not set")
return self._value
def get_content_manager(self):
"""
Content manager session details.
Only call this if :meth:`is_content_manager` is true.
:rtype: WebSessionLogInfo
"""
if not self.is_content_manager():
raise AttributeError("tag 'content_manager' not set")
return self._value
def get_admin_console(self):
"""
Admin console session details.
Only call this if :meth:`is_admin_console` is true.
:rtype: WebSessionLogInfo
"""
if not self.is_admin_console():
raise AttributeError("tag 'admin_console' not set")
return self._value
def get_api(self):
"""
Api session details.
Only call this if :meth:`is_api` is true.
:rtype: ApiSessionLogInfo
"""
if not self.is_api():
raise AttributeError("tag 'api' not set")
return self._value
def _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)
AccessMethodLogInfo_validator = bv.Union(AccessMethodLogInfo)
class AccountCaptureAvailability(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
unavailable = None
# Attribute is overwritten below the class definition
available = None
# Attribute is overwritten below the class definition
other = None
def is_unavailable(self):
"""
Check if the union tag is ``unavailable``.
:rtype: bool
"""
return self._tag == 'unavailable'
def is_available(self):
"""
Check if the union tag is ``available``.
:rtype: bool
"""
return self._tag == 'available'
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(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(bb.Struct):
"""
Granted/revoked option to enable account capture on team domains.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New account capture availabilty value.
:rtype: AccountCaptureAvailability
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous account capture availabilty value. Might be missing due to
historical data gap.
:rtype: AccountCaptureAvailability
"""
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(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,
self._previous_value_value,
)
AccountCaptureChangeAvailabilityDetails_validator = bv.Struct(AccountCaptureChangeAvailabilityDetails)
class AccountCaptureChangeAvailabilityType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New account capture policy.
:rtype: AccountCapturePolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous account capture policy. Might be missing due to historical data
gap.
:rtype: AccountCapturePolicy
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
AccountCaptureChangePolicyDetails_validator = bv.Struct(AccountCaptureChangePolicyDetails)
class AccountCaptureChangePolicyType(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(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__ = [
'_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(AccountCaptureMigrateAccountDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'AccountCaptureMigrateAccountDetails(domain_name={!r})'.format(
self._domain_name_value,
)
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
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
disabled = None
# Attribute is overwritten below the class definition
invited_users = None
# Attribute is overwritten below the class definition
all_users = None
# Attribute is overwritten below the class definition
other = None
def is_disabled(self):
"""
Check if the union tag is ``disabled``.
:rtype: bool
"""
return self._tag == 'disabled'
def is_invited_users(self):
"""
Check if the union tag is ``invited_users``.
:rtype: bool
"""
return self._tag == 'invited_users'
def is_all_users(self):
"""
Check if the union tag is ``all_users``.
:rtype: bool
"""
return self._tag == 'all_users'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Account-captured user changed account email to personal email.
:ivar team_log.AccountCaptureRelinquishAccountDetails.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(AccountCaptureRelinquishAccountDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'AccountCaptureRelinquishAccountDetails(domain_name={!r})'.format(
self._domain_name_value,
)
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.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar UserLogInfo 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
def user(cls, val):
"""
Create an instance of this class set to the ``user`` tag with value
``val``.
:param UserLogInfo val:
:rtype: ActorLogInfo
"""
return cls('user', val)
@classmethod
def admin(cls, val):
"""
Create an instance of this class set to the ``admin`` tag with value
``val``.
:param UserLogInfo val:
:rtype: ActorLogInfo
"""
return cls('admin', val)
@classmethod
def app(cls, val):
"""
Create an instance of this class set to the ``app`` tag with value
``val``.
:param AppLogInfo val:
:rtype: ActorLogInfo
"""
return cls('app', val)
@classmethod
def reseller(cls, val):
"""
Create an instance of this class set to the ``reseller`` tag with value
``val``.
:param ResellerLogInfo val:
:rtype: ActorLogInfo
"""
return cls('reseller', val)
def is_user(self):
"""
Check if the union tag is ``user``.
:rtype: bool
"""
return self._tag == 'user'
def is_admin(self):
"""
Check if the union tag is ``admin``.
:rtype: bool
"""
return self._tag == 'admin'
def is_app(self):
"""
Check if the union tag is ``app``.
:rtype: bool
"""
return self._tag == 'app'
def is_reseller(self):
"""
Check if the union tag is ``reseller``.
:rtype: bool
"""
return self._tag == 'reseller'
def is_dropbox(self):
"""
Check if the union tag is ``dropbox``.
:rtype: bool
"""
return self._tag == 'dropbox'
def is_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``.
:rtype: bool
"""
return self._tag == 'other'
def get_user(self):
"""
The user who did the action.
Only call this if :meth:`is_user` is true.
:rtype: UserLogInfo
"""
if not self.is_user():
raise AttributeError("tag 'user' not set")
return self._value
def get_admin(self):
"""
The admin who did the action.
Only call this if :meth:`is_admin` is true.
:rtype: UserLogInfo
"""
if not self.is_admin():
raise AttributeError("tag 'admin' not set")
return self._value
def get_app(self):
"""
The application who did the action.
Only call this if :meth:`is_app` is true.
:rtype: AppLogInfo
"""
if not self.is_app():
raise AttributeError("tag 'app' not set")
return self._value
def get_reseller(self):
"""
Action done by reseller.
Only call this if :meth:`is_reseller` is true.
:rtype: ResellerLogInfo
"""
if not self.is_reseller():
raise AttributeError("tag 'reseller' not set")
return self._value
def _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)
ActorLogInfo_validator = bv.Union(ActorLogInfo)
class AdminRole(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
team_admin = None
# Attribute is overwritten below the class definition
user_management_admin = None
# Attribute is overwritten below the class definition
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_team_admin(self):
"""
Check if the union tag is ``team_admin``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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(bb.Struct):
"""
Disabled downloads.
"""
__slots__ = [
]
_has_required_fields = False
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 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 downloads.
"""
__slots__ = [
]
_has_required_fields = False
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 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 team_log.ApiSessionLogInfo.request_id: Api request ID.
"""
__slots__ = [
'_request_id_value',
'_request_id_present',
]
_has_required_fields = True
def __init__(self,
request_id=None):
self._request_id_value = None
self._request_id_present = False
if request_id is not None:
self.request_id = request_id
@property
def request_id(self):
"""
Api request ID.
:rtype: str
"""
if self._request_id_present:
return self._request_id_value
else:
raise AttributeError("missing required field 'request_id'")
@request_id.setter
def request_id(self, val):
val = self._request_id_validator.validate(val)
self._request_id_value = val
self._request_id_present = True
@request_id.deleter
def request_id(self):
self._request_id_value = None
self._request_id_present = False
def _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,
)
ApiSessionLogInfo_validator = bv.Struct(ApiSessionLogInfo)
class AppLinkTeamDetails(bb.Struct):
"""
Linked app for team.
:ivar team_log.AppLinkTeamDetails.app_info: Relevant application details.
"""
__slots__ = [
'_app_info_value',
'_app_info_present',
]
_has_required_fields = True
def __init__(self,
app_info=None):
self._app_info_value = None
self._app_info_present = False
if app_info is not None:
self.app_info = app_info
@property
def app_info(self):
"""
Relevant application details.
:rtype: AppLogInfo
"""
if self._app_info_present:
return self._app_info_value
else:
raise AttributeError("missing required field 'app_info'")
@app_info.setter
def app_info(self, val):
self._app_info_validator.validate_type_only(val)
self._app_info_value = val
self._app_info_present = True
@app_info.deleter
def app_info(self):
self._app_info_value = None
self._app_info_present = False
def _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,
)
AppLinkTeamDetails_validator = bv.Struct(AppLinkTeamDetails)
class AppLinkTeamType(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(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__ = [
'_app_info_value',
'_app_info_present',
]
_has_required_fields = True
def __init__(self,
app_info=None):
self._app_info_value = None
self._app_info_present = False
if app_info is not None:
self.app_info = app_info
@property
def app_info(self):
"""
Relevant application details.
:rtype: AppLogInfo
"""
if self._app_info_present:
return self._app_info_value
else:
raise AttributeError("missing required field 'app_info'")
@app_info.setter
def app_info(self, val):
self._app_info_validator.validate_type_only(val)
self._app_info_value = val
self._app_info_present = True
@app_info.deleter
def app_info(self):
self._app_info_value = None
self._app_info_present = False
def _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,
)
AppLinkUserDetails_validator = bv.Struct(AppLinkUserDetails)
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 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__ = [
'_app_id_value',
'_app_id_present',
'_display_name_value',
'_display_name_present',
]
_has_required_fields = False
def __init__(self,
app_id=None,
display_name=None):
self._app_id_value = None
self._app_id_present = False
self._display_name_value = None
self._display_name_present = False
if app_id is not None:
self.app_id = app_id
if display_name is not None:
self.display_name = display_name
@property
def app_id(self):
"""
App unique ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._app_id_present:
return self._app_id_value
else:
return None
@app_id.setter
def app_id(self, val):
if val is None:
del self.app_id
return
val = self._app_id_validator.validate(val)
self._app_id_value = val
self._app_id_present = True
@app_id.deleter
def app_id(self):
self._app_id_value = None
self._app_id_present = False
@property
def display_name(self):
"""
App display name. Might be missing due to historical data gap.
:rtype: str
"""
if self._display_name_present:
return self._display_name_value
else:
return None
@display_name.setter
def display_name(self, val):
if val is None:
del self.display_name
return
val = self._display_name_validator.validate(val)
self._display_name_value = val
self._display_name_present = True
@display_name.deleter
def display_name(self):
self._display_name_value = None
self._display_name_present = False
def _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,
self._display_name_value,
)
AppLogInfo_validator = bv.StructTree(AppLogInfo)
class AppUnlinkTeamDetails(bb.Struct):
"""
Unlinked app for team.
:ivar team_log.AppUnlinkTeamDetails.app_info: Relevant application details.
"""
__slots__ = [
'_app_info_value',
'_app_info_present',
]
_has_required_fields = True
def __init__(self,
app_info=None):
self._app_info_value = None
self._app_info_present = False
if app_info is not None:
self.app_info = app_info
@property
def app_info(self):
"""
Relevant application details.
:rtype: AppLogInfo
"""
if self._app_info_present:
return self._app_info_value
else:
raise AttributeError("missing required field 'app_info'")
@app_info.setter
def app_info(self, val):
self._app_info_validator.validate_type_only(val)
self._app_info_value = val
self._app_info_present = True
@app_info.deleter
def app_info(self):
self._app_info_value = None
self._app_info_present = False
def _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,
)
AppUnlinkTeamDetails_validator = bv.Struct(AppUnlinkTeamDetails)
class AppUnlinkTeamType(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(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__ = [
'_app_info_value',
'_app_info_present',
]
_has_required_fields = True
def __init__(self,
app_info=None):
self._app_info_value = None
self._app_info_present = False
if app_info is not None:
self.app_info = app_info
@property
def app_info(self):
"""
Relevant application details.
:rtype: AppLogInfo
"""
if self._app_info_present:
return self._app_info_value
else:
raise AttributeError("missing required field 'app_info'")
@app_info.setter
def app_info(self, val):
self._app_info_validator.validate_type_only(val)
self._app_info_value = val
self._app_info_present = True
@app_info.deleter
def app_info(self):
self._app_info_value = None
self._app_info_present = False
def _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,
)
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.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar FileLogInfo 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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def file(cls, val):
"""
Create an instance of this class set to the ``file`` tag with value
``val``.
:param FileLogInfo val:
:rtype: AssetLogInfo
"""
return cls('file', val)
@classmethod
def folder(cls, val):
"""
Create an instance of this class set to the ``folder`` tag with value
``val``.
:param FolderLogInfo val:
:rtype: AssetLogInfo
"""
return cls('folder', val)
@classmethod
def paper_document(cls, val):
"""
Create an instance of this class set to the ``paper_document`` tag with
value ``val``.
:param PaperDocumentLogInfo val:
:rtype: AssetLogInfo
"""
return cls('paper_document', val)
@classmethod
def paper_folder(cls, val):
"""
Create an instance of this class set to the ``paper_folder`` tag with
value ``val``.
:param PaperFolderLogInfo val:
:rtype: AssetLogInfo
"""
return cls('paper_folder', val)
@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``.
:rtype: bool
"""
return self._tag == 'file'
def is_folder(self):
"""
Check if the union tag is ``folder``.
:rtype: bool
"""
return self._tag == 'folder'
def is_paper_document(self):
"""
Check if the union tag is ``paper_document``.
:rtype: bool
"""
return self._tag == 'paper_document'
def is_paper_folder(self):
"""
Check if the union tag is ``paper_folder``.
:rtype: bool
"""
return self._tag == 'paper_folder'
def is_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``.
:rtype: bool
"""
return self._tag == 'other'
def get_file(self):
"""
File's details.
Only call this if :meth:`is_file` is true.
:rtype: FileLogInfo
"""
if not self.is_file():
raise AttributeError("tag 'file' not set")
return self._value
def get_folder(self):
"""
Folder's details.
Only call this if :meth:`is_folder` is true.
:rtype: FolderLogInfo
"""
if not self.is_folder():
raise AttributeError("tag 'folder' not set")
return self._value
def get_paper_document(self):
"""
Paper document's details.
Only call this if :meth:`is_paper_document` is true.
:rtype: PaperDocumentLogInfo
"""
if not self.is_paper_document():
raise AttributeError("tag 'paper_document' not set")
return self._value
def get_paper_folder(self):
"""
Paper folder's details.
Only call this if :meth:`is_paper_folder` is true.
:rtype: PaperFolderLogInfo
"""
if not self.is_paper_folder():
raise AttributeError("tag 'paper_folder' not set")
return self._value
def 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 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 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__ = [
'_subject_value',
'_subject_present',
'_issuer_value',
'_issuer_present',
'_issue_date_value',
'_issue_date_present',
'_expiration_date_value',
'_expiration_date_present',
'_serial_number_value',
'_serial_number_present',
'_sha1_fingerprint_value',
'_sha1_fingerprint_present',
'_common_name_value',
'_common_name_present',
]
_has_required_fields = True
def __init__(self,
subject=None,
issuer=None,
issue_date=None,
expiration_date=None,
serial_number=None,
sha1_fingerprint=None,
common_name=None):
self._subject_value = None
self._subject_present = False
self._issuer_value = None
self._issuer_present = False
self._issue_date_value = None
self._issue_date_present = False
self._expiration_date_value = None
self._expiration_date_present = False
self._serial_number_value = None
self._serial_number_present = False
self._sha1_fingerprint_value = None
self._sha1_fingerprint_present = False
self._common_name_value = None
self._common_name_present = False
if subject is not None:
self.subject = subject
if issuer is not None:
self.issuer = issuer
if issue_date is not None:
self.issue_date = issue_date
if expiration_date is not None:
self.expiration_date = expiration_date
if serial_number is not None:
self.serial_number = serial_number
if sha1_fingerprint is not None:
self.sha1_fingerprint = sha1_fingerprint
if common_name is not None:
self.common_name = common_name
@property
def subject(self):
"""
Certificate subject.
:rtype: str
"""
if self._subject_present:
return self._subject_value
else:
raise AttributeError("missing required field 'subject'")
@subject.setter
def subject(self, val):
val = self._subject_validator.validate(val)
self._subject_value = val
self._subject_present = True
@subject.deleter
def subject(self):
self._subject_value = None
self._subject_present = False
@property
def issuer(self):
"""
Certificate issuer.
:rtype: str
"""
if self._issuer_present:
return self._issuer_value
else:
raise AttributeError("missing required field 'issuer'")
@issuer.setter
def issuer(self, val):
val = self._issuer_validator.validate(val)
self._issuer_value = val
self._issuer_present = True
@issuer.deleter
def issuer(self):
self._issuer_value = None
self._issuer_present = False
@property
def issue_date(self):
"""
Certificate issue date.
:rtype: str
"""
if self._issue_date_present:
return self._issue_date_value
else:
raise AttributeError("missing required field 'issue_date'")
@issue_date.setter
def issue_date(self, val):
val = self._issue_date_validator.validate(val)
self._issue_date_value = val
self._issue_date_present = True
@issue_date.deleter
def issue_date(self):
self._issue_date_value = None
self._issue_date_present = False
@property
def expiration_date(self):
"""
Certificate expiration date.
:rtype: str
"""
if self._expiration_date_present:
return self._expiration_date_value
else:
raise AttributeError("missing required field 'expiration_date'")
@expiration_date.setter
def expiration_date(self, val):
val = self._expiration_date_validator.validate(val)
self._expiration_date_value = val
self._expiration_date_present = True
@expiration_date.deleter
def expiration_date(self):
self._expiration_date_value = None
self._expiration_date_present = False
@property
def serial_number(self):
"""
Certificate serial number.
:rtype: str
"""
if self._serial_number_present:
return self._serial_number_value
else:
raise AttributeError("missing required field 'serial_number'")
@serial_number.setter
def serial_number(self, val):
val = self._serial_number_validator.validate(val)
self._serial_number_value = val
self._serial_number_present = True
@serial_number.deleter
def serial_number(self):
self._serial_number_value = None
self._serial_number_present = False
@property
def sha1_fingerprint(self):
"""
Certificate sha1 fingerprint.
:rtype: str
"""
if self._sha1_fingerprint_present:
return self._sha1_fingerprint_value
else:
raise AttributeError("missing required field 'sha1_fingerprint'")
@sha1_fingerprint.setter
def sha1_fingerprint(self, val):
val = self._sha1_fingerprint_validator.validate(val)
self._sha1_fingerprint_value = val
self._sha1_fingerprint_present = True
@sha1_fingerprint.deleter
def sha1_fingerprint(self):
self._sha1_fingerprint_value = None
self._sha1_fingerprint_present = False
@property
def common_name(self):
"""
Certificate common name.
:rtype: str
"""
if self._common_name_present:
return self._common_name_value
else:
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
@common_name.deleter
def common_name(self):
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,
self._issuer_value,
self._issue_date_value,
self._expiration_date_value,
self._serial_number_value,
self._sha1_fingerprint_value,
self._common_name_value,
)
Certificate_validator = bv.Struct(Certificate)
class CollectionShareDetails(bb.Struct):
"""
Shared album.
:ivar team_log.CollectionShareDetails.album_name: Album name.
"""
__slots__ = [
'_album_name_value',
'_album_name_present',
]
_has_required_fields = True
def __init__(self,
album_name=None):
self._album_name_value = None
self._album_name_present = False
if album_name is not None:
self.album_name = album_name
@property
def album_name(self):
"""
Album name.
:rtype: str
"""
if self._album_name_present:
return self._album_name_value
else:
raise AttributeError("missing required field 'album_name'")
@album_name.setter
def album_name(self, val):
val = self._album_name_validator.validate(val)
self._album_name_value = val
self._album_name_present = True
@album_name.deleter
def album_name(self):
self._album_name_value = None
self._album_name_present = False
def _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,
)
CollectionShareDetails_validator = bv.Struct(CollectionShareDetails)
class CollectionShareType(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(CollectionShareType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'CollectionShareType(description={!r})'.format(
self._description_value,
)
CollectionShareType_validator = bv.Struct(CollectionShareType)
class ContentPermanentDeletePolicy(bb.Union):
"""
Policy for pemanent content deletion
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(ContentPermanentDeletePolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ContentPermanentDeletePolicy(%r, %r)' % (self._tag, self._value)
ContentPermanentDeletePolicy_validator = bv.Union(ContentPermanentDeletePolicy)
class ContextLogInfo(bb.Union):
"""
The primary entity on which the action was done.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar TeamMemberLogInfo 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
@classmethod
def team_member(cls, val):
"""
Create an instance of this class set to the ``team_member`` tag with
value ``val``.
:param TeamMemberLogInfo val:
:rtype: ContextLogInfo
"""
return cls('team_member', val)
@classmethod
def non_team_member(cls, val):
"""
Create an instance of this class set to the ``non_team_member`` tag with
value ``val``.
:param NonTeamMemberLogInfo val:
:rtype: ContextLogInfo
"""
return cls('non_team_member', val)
@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``.
:rtype: bool
"""
return self._tag == 'team_member'
def is_non_team_member(self):
"""
Check if the union tag is ``non_team_member``.
:rtype: bool
"""
return self._tag == 'non_team_member'
def is_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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'other'
def get_team_member(self):
"""
Action was done on behalf of a team member.
Only call this if :meth:`is_team_member` is true.
:rtype: TeamMemberLogInfo
"""
if not self.is_team_member():
raise AttributeError("tag 'team_member' not set")
return self._value
def get_non_team_member(self):
"""
Action was done on behalf of a non team member.
Only call this if :meth:`is_non_team_member` is true.
:rtype: NonTeamMemberLogInfo
"""
if not self.is_non_team_member():
raise AttributeError("tag 'non_team_member' not set")
return self._value
def 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(bb.Struct):
"""
Created folders.
"""
__slots__ = [
]
_has_required_fields = False
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 CreateFolderType(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(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__ = [
'_previous_value_value',
'_previous_value_present',
'_new_value_value',
'_new_value_present',
]
_has_required_fields = True
def __init__(self,
previous_value=None,
new_value=None):
self._previous_value_value = None
self._previous_value_present = False
self._new_value_value = None
self._new_value_present = False
if previous_value is not None:
self.previous_value = previous_value
if new_value is not None:
self.new_value = new_value
@property
def previous_value(self):
"""
Previous placement restriction.
:rtype: PlacementRestriction
"""
if self._previous_value_present:
return self._previous_value_value
else:
raise AttributeError("missing required field 'previous_value'")
@previous_value.setter
def previous_value(self, val):
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
@property
def new_value(self):
"""
New placement restriction.
:rtype: PlacementRestriction
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
def _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,
self._new_value_value,
)
DataPlacementRestrictionChangePolicyDetails_validator = bv.Struct(DataPlacementRestrictionChangePolicyDetails)
class DataPlacementRestrictionChangePolicyType(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(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__ = [
'_placement_restriction_value',
'_placement_restriction_present',
]
_has_required_fields = True
def __init__(self,
placement_restriction=None):
self._placement_restriction_value = None
self._placement_restriction_present = False
if placement_restriction is not None:
self.placement_restriction = placement_restriction
@property
def placement_restriction(self):
"""
Placement restriction.
:rtype: PlacementRestriction
"""
if self._placement_restriction_present:
return self._placement_restriction_value
else:
raise AttributeError("missing required field 'placement_restriction'")
@placement_restriction.setter
def placement_restriction(self, val):
self._placement_restriction_validator.validate_type_only(val)
self._placement_restriction_value = val
self._placement_restriction_present = True
@placement_restriction.deleter
def placement_restriction(self):
self._placement_restriction_value = None
self._placement_restriction_present = False
def _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,
)
DataPlacementRestrictionSatisfyPolicyDetails_validator = bv.Struct(DataPlacementRestrictionSatisfyPolicyDetails)
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 team_log.SessionLogInfo.session_id: Session ID. Might be missing due
to historical data gap.
"""
__slots__ = [
'_session_id_value',
'_session_id_present',
]
_has_required_fields = False
def __init__(self,
session_id=None):
self._session_id_value = None
self._session_id_present = False
if session_id is not None:
self.session_id = session_id
@property
def session_id(self):
"""
Session ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._session_id_present:
return self._session_id_value
else:
return None
@session_id.setter
def session_id(self, val):
if val is None:
del self.session_id
return
val = self._session_id_validator.validate(val)
self._session_id_value = val
self._session_id_present = True
@session_id.deleter
def session_id(self):
self._session_id_value = None
self._session_id_present = False
def _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,
)
SessionLogInfo_validator = bv.StructTree(SessionLogInfo)
class DesktopSessionLogInfo(SessionLogInfo):
"""
Desktop session.
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
session_id=None):
super(DesktopSessionLogInfo, self).__init__(session_id)
def _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,
)
DesktopSessionLogInfo_validator = bv.Struct(DesktopSessionLogInfo)
class DeviceApprovalsChangeDesktopPolicyDetails(bb.Struct):
"""
Set/removed limit on number of computers member can link to team Dropbox
account.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = False
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New desktop device approvals policy. Might be missing due to historical
data gap.
:rtype: DeviceApprovalsPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
return None
@new_value.setter
def new_value(self, val):
if val is None:
del self.new_value
return
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous desktop device approvals policy. Might be missing due to
historical data gap.
:rtype: DeviceApprovalsPolicy
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
DeviceApprovalsChangeDesktopPolicyDetails_validator = bv.Struct(DeviceApprovalsChangeDesktopPolicyDetails)
class DeviceApprovalsChangeDesktopPolicyType(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(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.
"""
__slots__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = False
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New mobile device approvals policy. Might be missing due to historical
data gap.
:rtype: DeviceApprovalsPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
return None
@new_value.setter
def new_value(self, val):
if val is None:
del self.new_value
return
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous mobile device approvals policy. Might be missing due to
historical data gap.
:rtype: DeviceApprovalsPolicy
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
DeviceApprovalsChangeMobilePolicyDetails_validator = bv.Struct(DeviceApprovalsChangeMobilePolicyDetails)
class DeviceApprovalsChangeMobilePolicyType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = False
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New over the limits policy. Might be missing due to historical data gap.
:rtype: team_policies.RolloutMethod
"""
if self._new_value_present:
return self._new_value_value
else:
return None
@new_value.setter
def new_value(self, val):
if val is None:
del self.new_value
return
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous over the limit policy. Might be missing due to historical data
gap.
:rtype: team_policies.RolloutMethod
"""
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(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,
self._previous_value_value,
)
DeviceApprovalsChangeOverageActionDetails_validator = bv.Struct(DeviceApprovalsChangeOverageActionDetails)
class DeviceApprovalsChangeOverageActionType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = False
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New device unlink policy. Might be missing due to historical data gap.
:rtype: DeviceUnlinkPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
return None
@new_value.setter
def new_value(self, val):
if val is None:
del self.new_value
return
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous device unlink policy. Might be missing due to historical data
gap.
:rtype: DeviceUnlinkPolicy
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
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
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
unlimited = None
# Attribute is overwritten below the class definition
limited = None
# Attribute is overwritten below the class definition
other = None
def is_unlimited(self):
"""
Check if the union tag is ``unlimited``.
:rtype: bool
"""
return self._tag == 'unlimited'
def is_limited(self):
"""
Check if the union tag is ``limited``.
:rtype: bool
"""
return self._tag == 'limited'
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(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(bb.Struct):
"""
Changed IP address associated with active desktop session.
:ivar team_log.DeviceChangeIpDesktopDetails.device_session_info: Device's
session logged information.
"""
__slots__ = [
'_device_session_info_value',
'_device_session_info_present',
]
_has_required_fields = True
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:
raise AttributeError("missing required field 'device_session_info'")
@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_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_session_info={!r})'.format(
self._device_session_info_value,
)
DeviceChangeIpDesktopDetails_validator = bv.Struct(DeviceChangeIpDesktopDetails)
class DeviceChangeIpDesktopType(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(DeviceChangeIpDesktopType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 DeviceChangeIpMobileType(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(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__ = [
'_user_agent_value',
'_user_agent_present',
]
_has_required_fields = True
def __init__(self,
user_agent=None):
self._user_agent_value = None
self._user_agent_present = False
if user_agent is not None:
self.user_agent = user_agent
@property
def user_agent(self):
"""
Web browser name.
:rtype: str
"""
if self._user_agent_present:
return self._user_agent_value
else:
raise AttributeError("missing required field 'user_agent'")
@user_agent.setter
def user_agent(self, val):
val = self._user_agent_validator.validate(val)
self._user_agent_value = val
self._user_agent_present = True
@user_agent.deleter
def user_agent(self):
self._user_agent_value = None
self._user_agent_present = False
def _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})'.format(
self._user_agent_value,
)
DeviceChangeIpWebDetails_validator = bv.Struct(DeviceChangeIpWebDetails)
class DeviceChangeIpWebType(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(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__ = [
'_session_info_value',
'_session_info_present',
'_display_name_value',
'_display_name_present',
'_num_failures_value',
'_num_failures_present',
]
_has_required_fields = True
def __init__(self,
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 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 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 num_failures(self):
"""
The number of times that remote file deletion failed.
:rtype: int
"""
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
@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
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 description(self):
"""
:rtype: str
"""
if self._description_present:
return self._description_value
else:
raise AttributeError("missing required field 'description'")
@description.setter
def description(self, val):
val = self._description_validator.validate(val)
self._description_value = val
self._description_present = True
@description.deleter
def description(self):
self._description_value = None
self._description_present = False
def _process_custom_annotations(self, annotation_type, field_path, processor):
super(DeviceDeleteOnUnlinkSuccessType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DeviceDeleteOnUnlinkSuccessType(description={!r})'.format(
self._description_value,
)
DeviceDeleteOnUnlinkSuccessType_validator = bv.Struct(DeviceDeleteOnUnlinkSuccessType)
class DeviceLinkFailDetails(bb.Struct):
"""
Failed to link device.
: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.
"""
__slots__ = [
'_ip_address_value',
'_ip_address_present',
'_device_type_value',
'_device_type_present',
]
_has_required_fields = True
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):
"""
IP address. Might be missing due to historical data gap.
:rtype: str
"""
if self._ip_address_present:
return self._ip_address_value
else:
return None
@ip_address.setter
def ip_address(self, val):
if val is None:
del self.ip_address
return
val = self._ip_address_validator.validate(val)
self._ip_address_value = val
self._ip_address_present = True
@ip_address.deleter
def ip_address(self):
self._ip_address_value = None
self._ip_address_present = False
@property
def 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 _process_custom_annotations(self, annotation_type, field_path, processor):
super(DeviceLinkFailDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'DeviceLinkFailDetails(device_type={!r}, ip_address={!r})'.format(
self._device_type_value,
self._ip_address_value,
)
DeviceLinkFailDetails_validator = bv.Struct(DeviceLinkFailDetails)
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):
"""
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__ = [
]
_has_required_fields = False
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 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):
"""
Enabled device management.
"""
__slots__ = [
]
_has_required_fields = False
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
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
desktop = None
# Attribute is overwritten below the class definition
mobile = None
# Attribute is overwritten below the class definition
other = None
def is_desktop(self):
"""
Check if the union tag is ``desktop``.
:rtype: bool
"""
return self._tag == 'desktop'
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(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(bb.Struct):
"""
Disconnected device.
: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__ = [
'_session_info_value',
'_session_info_present',
'_display_name_value',
'_display_name_present',
'_delete_data_value',
'_delete_data_present',
]
_has_required_fields = True
def __init__(self,
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 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 session_info(self):
"""
Session unique id.
: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 delete_data(self):
"""
True if the user requested to delete data after device unlink, false
otherwise.
:rtype: bool
"""
if self._delete_data_present:
return self._delete_data_value
else:
raise AttributeError("missing required field 'delete_data'")
@delete_data.setter
def delete_data(self, val):
val = self._delete_data_validator.validate(val)
self._delete_data_value = val
self._delete_data_present = True
@delete_data.deleter
def delete_data(self):
self._delete_data_value = None
self._delete_data_present = False
def _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(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)
class DeviceUnlinkPolicy(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
remove = None
# Attribute is overwritten below the class definition
keep = None
# Attribute is overwritten below the class definition
other = None
def is_remove(self):
"""
Check if the union tag is ``remove``.
:rtype: bool
"""
return self._tag == 'remove'
def is_keep(self):
"""
Check if the union tag is ``keep``.
:rtype: bool
"""
return self._tag == 'keep'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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 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.
"""
__slots__ = [
]
_has_required_fields = False
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 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 user's request to join team.
"""
__slots__ = [
]
_has_required_fields = False
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 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 user's request to join team.
"""
__slots__ = [
]
_has_required_fields = False
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 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 team_log.DomainInvitesEmailExistingUsersDetails.domain_name: Domain
names.
:ivar team_log.DomainInvitesEmailExistingUsersDetails.num_recipients: Number
of recipients.
"""
__slots__ = [
'_domain_name_value',
'_domain_name_present',
'_num_recipients_value',
'_num_recipients_present',
]
_has_required_fields = True
def __init__(self,
domain_name=None,
num_recipients=None):
self._domain_name_value = None
self._domain_name_present = False
self._num_recipients_value = None
self._num_recipients_present = False
if domain_name is not None:
self.domain_name = domain_name
if num_recipients is not None:
self.num_recipients = num_recipients
@property
def domain_name(self):
"""
Domain names.
:rtype: str
"""
if self._domain_name_present:
return self._domain_name_value
else:
raise AttributeError("missing required field 'domain_name'")
@domain_name.setter
def domain_name(self, val):
val = self._domain_name_validator.validate(val)
self._domain_name_value = val
self._domain_name_present = True
@domain_name.deleter
def domain_name(self):
self._domain_name_value = None
self._domain_name_present = False
@property
def num_recipients(self):
"""
Number of recipients.
:rtype: int
"""
if self._num_recipients_present:
return self._num_recipients_value
else:
raise AttributeError("missing required field 'num_recipients'")
@num_recipients.setter
def num_recipients(self, val):
val = self._num_recipients_validator.validate(val)
self._num_recipients_value = val
self._num_recipients_present = True
@num_recipients.deleter
def num_recipients(self):
self._num_recipients_value = None
self._num_recipients_present = False
def _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,
self._num_recipients_value,
)
DomainInvitesEmailExistingUsersDetails_validator = bv.Struct(DomainInvitesEmailExistingUsersDetails)
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):
"""
Requested to join team.
"""
__slots__ = [
]
_has_required_fields = False
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 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):
"""
Disabled "Automatically invite new users".
"""
__slots__ = [
]
_has_required_fields = False
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 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):
"""
Enabled "Automatically invite new users".
"""
__slots__ = [
]
_has_required_fields = False
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 DomainInvitesSetInviteNewUserPrefToYesType(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(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__ = [
'_domain_name_value',
'_domain_name_present',
'_verification_method_value',
'_verification_method_present',
]
_has_required_fields = True
def __init__(self,
domain_name=None,
verification_method=None):
self._domain_name_value = None
self._domain_name_present = False
self._verification_method_value = None
self._verification_method_present = False
if domain_name is not None:
self.domain_name = domain_name
if verification_method is not None:
self.verification_method = verification_method
@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
@property
def verification_method(self):
"""
Domain name verification method. Might be missing due to historical data
gap.
:rtype: str
"""
if self._verification_method_present:
return self._verification_method_value
else:
return None
@verification_method.setter
def verification_method(self, val):
if val is None:
del self.verification_method
return
val = self._verification_method_validator.validate(val)
self._verification_method_value = val
self._verification_method_present = True
@verification_method.deleter
def verification_method(self):
self._verification_method_value = None
self._verification_method_present = False
def _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,
self._verification_method_value,
)
DomainVerificationAddDomainFailDetails_validator = bv.Struct(DomainVerificationAddDomainFailDetails)
class DomainVerificationAddDomainFailType(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(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__ = [
'_domain_names_value',
'_domain_names_present',
'_verification_method_value',
'_verification_method_present',
]
_has_required_fields = True
def __init__(self,
domain_names=None,
verification_method=None):
self._domain_names_value = None
self._domain_names_present = False
self._verification_method_value = None
self._verification_method_present = False
if domain_names is not None:
self.domain_names = domain_names
if verification_method is not None:
self.verification_method = verification_method
@property
def domain_names(self):
"""
Domain names.
:rtype: list of [str]
"""
if self._domain_names_present:
return self._domain_names_value
else:
raise AttributeError("missing required field 'domain_names'")
@domain_names.setter
def domain_names(self, val):
val = self._domain_names_validator.validate(val)
self._domain_names_value = val
self._domain_names_present = True
@domain_names.deleter
def domain_names(self):
self._domain_names_value = None
self._domain_names_present = False
@property
def verification_method(self):
"""
Domain name verification method. Might be missing due to historical data
gap.
:rtype: str
"""
if self._verification_method_present:
return self._verification_method_value
else:
return None
@verification_method.setter
def verification_method(self, val):
if val is None:
del self.verification_method
return
val = self._verification_method_validator.validate(val)
self._verification_method_value = val
self._verification_method_present = True
@verification_method.deleter
def verification_method(self):
self._verification_method_value = None
self._verification_method_present = False
def _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,
self._verification_method_value,
)
DomainVerificationAddDomainSuccessDetails_validator = bv.Struct(DomainVerificationAddDomainSuccessDetails)
class DomainVerificationAddDomainSuccessType(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(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__ = [
'_domain_names_value',
'_domain_names_present',
]
_has_required_fields = True
def __init__(self,
domain_names=None):
self._domain_names_value = None
self._domain_names_present = False
if domain_names is not None:
self.domain_names = domain_names
@property
def domain_names(self):
"""
Domain names.
:rtype: list of [str]
"""
if self._domain_names_present:
return self._domain_names_value
else:
raise AttributeError("missing required field 'domain_names'")
@domain_names.setter
def domain_names(self, val):
val = self._domain_names_validator.validate(val)
self._domain_names_value = val
self._domain_names_present = True
@domain_names.deleter
def domain_names(self):
self._domain_names_value = None
self._domain_names_present = False
def _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,
)
DomainVerificationRemoveDomainDetails_validator = bv.Struct(DomainVerificationRemoveDomainDetails)
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 team_log.DurationLogInfo.unit: Time unit.
:ivar team_log.DurationLogInfo.amount: Amount of time.
"""
__slots__ = [
'_unit_value',
'_unit_present',
'_amount_value',
'_amount_present',
]
_has_required_fields = True
def __init__(self,
unit=None,
amount=None):
self._unit_value = None
self._unit_present = False
self._amount_value = None
self._amount_present = False
if unit is not None:
self.unit = unit
if amount is not None:
self.amount = amount
@property
def unit(self):
"""
Time unit.
:rtype: TimeUnit
"""
if self._unit_present:
return self._unit_value
else:
raise AttributeError("missing required field 'unit'")
@unit.setter
def unit(self, val):
self._unit_validator.validate_type_only(val)
self._unit_value = val
self._unit_present = True
@unit.deleter
def unit(self):
self._unit_value = None
self._unit_present = False
@property
def amount(self):
"""
Amount of time.
:rtype: int
"""
if self._amount_present:
return self._amount_value
else:
raise AttributeError("missing required field 'amount'")
@amount.setter
def amount(self, val):
val = self._amount_validator.validate(val)
self._amount_value = val
self._amount_present = True
@amount.deleter
def amount(self):
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,
self._amount_value,
)
DurationLogInfo_validator = bv.Struct(DurationLogInfo)
class EmmAddExceptionDetails(bb.Struct):
"""
Added members to EMM exception list.
"""
__slots__ = [
]
_has_required_fields = False
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 EmmAddExceptionType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New enterprise mobility management policy.
:rtype: team_policies.EmmState
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous enterprise mobility management policy. Might be missing due to
historical data gap.
:rtype: team_policies.EmmState
"""
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(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,
self._previous_value_value,
)
EmmChangePolicyDetails_validator = bv.Struct(EmmChangePolicyDetails)
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):
"""
Created EMM-excluded users report.
"""
__slots__ = [
]
_has_required_fields = False
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 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):
"""
Created EMM mobile app usage report.
"""
__slots__ = [
]
_has_required_fields = False
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 EmmCreateUsageReportType(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(EmmCreateUsageReportType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'EmmCreateUsageReportType(description={!r})'.format(
self._description_value,
)
EmmCreateUsageReportType_validator = bv.Struct(EmmCreateUsageReportType)
class EmmErrorDetails(bb.Struct):
"""
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__ = [
]
_has_required_fields = False
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 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 members from EMM exception list.
"""
__slots__ = [
]
_has_required_fields = False
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 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.
"""
__slots__ = [
]
_has_required_fields = False
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.
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_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 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
apps = None
# Attribute is overwritten below the class definition
comments = None
# Attribute is overwritten below the class definition
devices = None
# Attribute is overwritten below the class definition
domains = None
# Attribute is overwritten below the class definition
file_operations = None
# Attribute is overwritten below the class definition
file_requests = None
# Attribute is overwritten below the class definition
groups = None
# Attribute is overwritten below the class definition
logins = None
# Attribute is overwritten below the class definition
members = None
# Attribute is overwritten below the class definition
paper = None
# Attribute is overwritten below the class definition
passwords = None
# Attribute is overwritten below the class definition
reports = None
# Attribute is overwritten below the class definition
sharing = None
# Attribute is overwritten below the class definition
showcase = None
# Attribute is overwritten below the class definition
sso = None
# Attribute is overwritten below the class definition
team_folders = None
# Attribute is overwritten below the class definition
team_policies = None
# Attribute is overwritten below the class definition
team_profile = None
# Attribute is overwritten below the class definition
tfa = None
# Attribute is overwritten below the class definition
trusted_teams = None
# Attribute is overwritten below the class definition
other = None
def is_apps(self):
"""
Check if the union tag is ``apps``.
:rtype: bool
"""
return self._tag == 'apps'
def is_comments(self):
"""
Check if the union tag is ``comments``.
:rtype: bool
"""
return self._tag == 'comments'
def is_devices(self):
"""
Check if the union tag is ``devices``.
:rtype: bool
"""
return self._tag == 'devices'
def is_domains(self):
"""
Check if the union tag is ``domains``.
:rtype: bool
"""
return self._tag == 'domains'
def is_file_operations(self):
"""
Check if the union tag is ``file_operations``.
:rtype: bool
"""
return self._tag == 'file_operations'
def is_file_requests(self):
"""
Check if the union tag is ``file_requests``.
:rtype: bool
"""
return self._tag == 'file_requests'
def is_groups(self):
"""
Check if the union tag is ``groups``.
:rtype: bool
"""
return self._tag == 'groups'
def is_logins(self):
"""
Check if the union tag is ``logins``.
:rtype: bool
"""
return self._tag == 'logins'
def is_members(self):
"""
Check if the union tag is ``members``.
:rtype: bool
"""
return self._tag == 'members'
def is_paper(self):
"""
Check if the union tag is ``paper``.
:rtype: bool
"""
return self._tag == 'paper'
def is_passwords(self):
"""
Check if the union tag is ``passwords``.
:rtype: bool
"""
return self._tag == 'passwords'
def is_reports(self):
"""
Check if the union tag is ``reports``.
:rtype: bool
"""
return self._tag == 'reports'
def is_sharing(self):
"""
Check if the union tag is ``sharing``.
:rtype: bool
"""
return self._tag == 'sharing'
def is_showcase(self):
"""
Check if the union tag is ``showcase``.
:rtype: bool
"""
return self._tag == 'showcase'
def is_sso(self):
"""
Check if the union tag is ``sso``.
:rtype: bool
"""
return self._tag == 'sso'
def is_team_folders(self):
"""
Check if the union tag is ``team_folders``.
:rtype: bool
"""
return self._tag == 'team_folders'
def is_team_policies(self):
"""
Check if the union tag is ``team_policies``.
:rtype: bool
"""
return self._tag == 'team_policies'
def is_team_profile(self):
"""
Check if the union tag is ``team_profile``.
:rtype: bool
"""
return self._tag == 'team_profile'
def is_tfa(self):
"""
Check if the union tag is ``tfa``.
:rtype: bool
"""
return self._tag == 'tfa'
def is_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``.
:rtype: bool
"""
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)
EventCategory_validator = bv.Union(EventCategory)
class EventDetails(bb.Union):
"""
Additional fields depending on the event type.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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 app_link_team_details(cls, val):
"""
Create an instance of this class set to the ``app_link_team_details``
tag with value ``val``.
:param AppLinkTeamDetails val:
:rtype: EventDetails
"""
return cls('app_link_team_details', val)
@classmethod
def app_link_user_details(cls, val):
"""
Create an instance of this class set to the ``app_link_user_details``
tag with value ``val``.
:param AppLinkUserDetails val:
:rtype: EventDetails
"""
return cls('app_link_user_details', val)
@classmethod
def app_unlink_team_details(cls, val):
"""
Create an instance of this class set to the ``app_unlink_team_details``
tag with value ``val``.
:param AppUnlinkTeamDetails val:
:rtype: EventDetails
"""
return cls('app_unlink_team_details', val)
@classmethod
def app_unlink_user_details(cls, val):
"""
Create an instance of this class set to the ``app_unlink_user_details``
tag with value ``val``.
:param AppUnlinkUserDetails val:
:rtype: EventDetails
"""
return cls('app_unlink_user_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the ``file_add_comment_details``
tag with value ``val``.
:param FileAddCommentDetails val:
:rtype: EventDetails
"""
return cls('file_add_comment_details', val)
@classmethod
def file_change_comment_subscription_details(cls, val):
"""
Create an instance of this class set to the
``file_change_comment_subscription_details`` tag with value ``val``.
:param FileChangeCommentSubscriptionDetails val:
:rtype: EventDetails
"""
return cls('file_change_comment_subscription_details', val)
@classmethod
def file_delete_comment_details(cls, val):
"""
Create an instance of this class set to the
``file_delete_comment_details`` tag with value ``val``.
:param FileDeleteCommentDetails val:
:rtype: EventDetails
"""
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):
"""
Create an instance of this class set to the
``file_like_comment_details`` tag with value ``val``.
:param FileLikeCommentDetails val:
:rtype: EventDetails
"""
return cls('file_like_comment_details', val)
@classmethod
def file_resolve_comment_details(cls, val):
"""
Create an instance of this class set to the
``file_resolve_comment_details`` tag with value ``val``.
:param FileResolveCommentDetails val:
:rtype: EventDetails
"""
return cls('file_resolve_comment_details', val)
@classmethod
def file_unlike_comment_details(cls, val):
"""
Create an instance of this class set to the
``file_unlike_comment_details`` tag with value ``val``.
:param FileUnlikeCommentDetails val:
:rtype: EventDetails
"""
return cls('file_unlike_comment_details', val)
@classmethod
def file_unresolve_comment_details(cls, val):
"""
Create an instance of this class set to the
``file_unresolve_comment_details`` tag with value ``val``.
:param FileUnresolveCommentDetails val:
:rtype: EventDetails
"""
return cls('file_unresolve_comment_details', val)
@classmethod
def device_change_ip_desktop_details(cls, val):
"""
Create an instance of this class set to the
``device_change_ip_desktop_details`` tag with value ``val``.
:param DeviceChangeIpDesktopDetails val:
:rtype: EventDetails
"""
return cls('device_change_ip_desktop_details', val)
@classmethod
def device_change_ip_mobile_details(cls, val):
"""
Create an instance of this class set to the
``device_change_ip_mobile_details`` tag with value ``val``.
:param DeviceChangeIpMobileDetails val:
:rtype: EventDetails
"""
return cls('device_change_ip_mobile_details', val)
@classmethod
def device_change_ip_web_details(cls, val):
"""
Create an instance of this class set to the
``device_change_ip_web_details`` tag with value ``val``.
:param DeviceChangeIpWebDetails val:
:rtype: EventDetails
"""
return cls('device_change_ip_web_details', val)
@classmethod
def device_delete_on_unlink_fail_details(cls, val):
"""
Create an instance of this class set to the
``device_delete_on_unlink_fail_details`` tag with value ``val``.
:param DeviceDeleteOnUnlinkFailDetails val:
:rtype: EventDetails
"""
return cls('device_delete_on_unlink_fail_details', val)
@classmethod
def device_delete_on_unlink_success_details(cls, val):
"""
Create an instance of this class set to the
``device_delete_on_unlink_success_details`` tag with value ``val``.
:param DeviceDeleteOnUnlinkSuccessDetails val:
:rtype: EventDetails
"""
return cls('device_delete_on_unlink_success_details', val)
@classmethod
def device_link_fail_details(cls, val):
"""
Create an instance of this class set to the ``device_link_fail_details``
tag with value ``val``.
:param DeviceLinkFailDetails val:
:rtype: EventDetails
"""
return cls('device_link_fail_details', val)
@classmethod
def device_link_success_details(cls, val):
"""
Create an instance of this class set to the
``device_link_success_details`` tag with value ``val``.
:param DeviceLinkSuccessDetails val:
:rtype: EventDetails
"""
return cls('device_link_success_details', val)
@classmethod
def device_management_disabled_details(cls, val):
"""
Create an instance of this class set to the
``device_management_disabled_details`` tag with value ``val``.
:param DeviceManagementDisabledDetails val:
:rtype: EventDetails
"""
return cls('device_management_disabled_details', val)
@classmethod
def device_management_enabled_details(cls, val):
"""
Create an instance of this class set to the
``device_management_enabled_details`` tag with value ``val``.
:param DeviceManagementEnabledDetails val:
:rtype: EventDetails
"""
return cls('device_management_enabled_details', val)
@classmethod
def device_unlink_details(cls, val):
"""
Create an instance of this class set to the ``device_unlink_details``
tag with value ``val``.
:param DeviceUnlinkDetails val:
:rtype: EventDetails
"""
return cls('device_unlink_details', val)
@classmethod
def emm_refresh_auth_token_details(cls, val):
"""
Create an instance of this class set to the
``emm_refresh_auth_token_details`` tag with value ``val``.
:param EmmRefreshAuthTokenDetails val:
:rtype: EventDetails
"""
return cls('emm_refresh_auth_token_details', val)
@classmethod
def account_capture_change_availability_details(cls, val):
"""
Create an instance of this class set to the
``account_capture_change_availability_details`` tag with value ``val``.
:param AccountCaptureChangeAvailabilityDetails val:
:rtype: EventDetails
"""
return cls('account_capture_change_availability_details', val)
@classmethod
def account_capture_migrate_account_details(cls, val):
"""
Create an instance of this class set to the
``account_capture_migrate_account_details`` tag with value ``val``.
:param AccountCaptureMigrateAccountDetails val:
:rtype: EventDetails
"""
return cls('account_capture_migrate_account_details', val)
@classmethod
def account_capture_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):
"""
Create an instance of this class set to the
``account_capture_relinquish_account_details`` tag with value ``val``.
:param AccountCaptureRelinquishAccountDetails val:
:rtype: EventDetails
"""
return cls('account_capture_relinquish_account_details', val)
@classmethod
def disabled_domain_invites_details(cls, val):
"""
Create an instance of this class set to the
``disabled_domain_invites_details`` tag with value ``val``.
:param DisabledDomainInvitesDetails val:
:rtype: EventDetails
"""
return cls('disabled_domain_invites_details', val)
@classmethod
def domain_invites_approve_request_to_join_team_details(cls, val):
"""
Create an instance of this class set to the
``domain_invites_approve_request_to_join_team_details`` tag with value
``val``.
:param DomainInvitesApproveRequestToJoinTeamDetails val:
:rtype: EventDetails
"""
return cls('domain_invites_approve_request_to_join_team_details', val)
@classmethod
def domain_invites_decline_request_to_join_team_details(cls, val):
"""
Create an instance of this class set to the
``domain_invites_decline_request_to_join_team_details`` tag with value
``val``.
:param DomainInvitesDeclineRequestToJoinTeamDetails val:
:rtype: EventDetails
"""
return cls('domain_invites_decline_request_to_join_team_details', val)
@classmethod
def domain_invites_email_existing_users_details(cls, val):
"""
Create an instance of this class set to the
``domain_invites_email_existing_users_details`` tag with value ``val``.
:param DomainInvitesEmailExistingUsersDetails val:
:rtype: EventDetails
"""
return cls('domain_invites_email_existing_users_details', val)
@classmethod
def domain_invites_request_to_join_team_details(cls, val):
"""
Create an instance of this class set to the
``domain_invites_request_to_join_team_details`` tag with value ``val``.
:param DomainInvitesRequestToJoinTeamDetails val:
:rtype: EventDetails
"""
return cls('domain_invites_request_to_join_team_details', val)
@classmethod
def domain_invites_set_invite_new_user_pref_to_no_details(cls, val):
"""
Create an instance of this class set to the
``domain_invites_set_invite_new_user_pref_to_no_details`` tag with value
``val``.
:param DomainInvitesSetInviteNewUserPrefToNoDetails val:
:rtype: EventDetails
"""
return cls('domain_invites_set_invite_new_user_pref_to_no_details', val)
@classmethod
def domain_invites_set_invite_new_user_pref_to_yes_details(cls, val):
"""
Create an instance of this class set to the
``domain_invites_set_invite_new_user_pref_to_yes_details`` tag with
value ``val``.
:param DomainInvitesSetInviteNewUserPrefToYesDetails val:
:rtype: EventDetails
"""
return cls('domain_invites_set_invite_new_user_pref_to_yes_details', val)
@classmethod
def domain_verification_add_domain_fail_details(cls, val):
"""
Create an instance of this class set to the
``domain_verification_add_domain_fail_details`` tag with value ``val``.
:param DomainVerificationAddDomainFailDetails val:
:rtype: EventDetails
"""
return cls('domain_verification_add_domain_fail_details', val)
@classmethod
def domain_verification_add_domain_success_details(cls, val):
"""
Create an instance of this class set to the
``domain_verification_add_domain_success_details`` tag with value
``val``.
:param DomainVerificationAddDomainSuccessDetails val:
:rtype: EventDetails
"""
return cls('domain_verification_add_domain_success_details', val)
@classmethod
def domain_verification_remove_domain_details(cls, val):
"""
Create an instance of this class set to the
``domain_verification_remove_domain_details`` tag with value ``val``.
:param DomainVerificationRemoveDomainDetails val:
:rtype: EventDetails
"""
return cls('domain_verification_remove_domain_details', val)
@classmethod
def enabled_domain_invites_details(cls, val):
"""
Create an instance of this class set to the
``enabled_domain_invites_details`` tag with value ``val``.
:param EnabledDomainInvitesDetails val:
:rtype: EventDetails
"""
return cls('enabled_domain_invites_details', val)
@classmethod
def create_folder_details(cls, val):
"""
Create an instance of this class set to the ``create_folder_details``
tag with value ``val``.
:param CreateFolderDetails val:
:rtype: EventDetails
"""
return cls('create_folder_details', val)
@classmethod
def file_add_details(cls, val):
"""
Create an instance of this class set to the ``file_add_details`` tag
with value ``val``.
:param FileAddDetails val:
:rtype: EventDetails
"""
return cls('file_add_details', val)
@classmethod
def file_copy_details(cls, val):
"""
Create an instance of this class set to the ``file_copy_details`` tag
with value ``val``.
:param FileCopyDetails val:
:rtype: EventDetails
"""
return cls('file_copy_details', val)
@classmethod
def file_delete_details(cls, val):
"""
Create an instance of this class set to the ``file_delete_details`` tag
with value ``val``.
:param FileDeleteDetails val:
:rtype: EventDetails
"""
return cls('file_delete_details', val)
@classmethod
def file_download_details(cls, val):
"""
Create an instance of this class set to the ``file_download_details``
tag with value ``val``.
:param FileDownloadDetails val:
:rtype: EventDetails
"""
return cls('file_download_details', val)
@classmethod
def file_edit_details(cls, val):
"""
Create an instance of this class set to the ``file_edit_details`` tag
with value ``val``.
:param FileEditDetails val:
:rtype: EventDetails
"""
return cls('file_edit_details', val)
@classmethod
def file_get_copy_reference_details(cls, val):
"""
Create an instance of this class set to the
``file_get_copy_reference_details`` tag with value ``val``.
:param FileGetCopyReferenceDetails val:
:rtype: EventDetails
"""
return cls('file_get_copy_reference_details', val)
@classmethod
def file_move_details(cls, val):
"""
Create an instance of this class set to the ``file_move_details`` tag
with value ``val``.
:param FileMoveDetails val:
:rtype: EventDetails
"""
return cls('file_move_details', val)
@classmethod
def file_permanently_delete_details(cls, val):
"""
Create an instance of this class set to the
``file_permanently_delete_details`` tag with value ``val``.
:param FilePermanentlyDeleteDetails val:
:rtype: EventDetails
"""
return cls('file_permanently_delete_details', val)
@classmethod
def file_preview_details(cls, val):
"""
Create an instance of this class set to the ``file_preview_details`` tag
with value ``val``.
:param FilePreviewDetails val:
:rtype: EventDetails
"""
return cls('file_preview_details', val)
@classmethod
def file_rename_details(cls, val):
"""
Create an instance of this class set to the ``file_rename_details`` tag
with value ``val``.
:param FileRenameDetails val:
:rtype: EventDetails
"""
return cls('file_rename_details', val)
@classmethod
def file_restore_details(cls, val):
"""
Create an instance of this class set to the ``file_restore_details`` tag
with value ``val``.
:param FileRestoreDetails val:
:rtype: EventDetails
"""
return cls('file_restore_details', val)
@classmethod
def file_revert_details(cls, val):
"""
Create an instance of this class set to the ``file_revert_details`` tag
with value ``val``.
:param FileRevertDetails val:
:rtype: EventDetails
"""
return cls('file_revert_details', val)
@classmethod
def file_rollback_changes_details(cls, val):
"""
Create an instance of this class set to the
``file_rollback_changes_details`` tag with value ``val``.
:param FileRollbackChangesDetails val:
:rtype: EventDetails
"""
return cls('file_rollback_changes_details', val)
@classmethod
def file_save_copy_reference_details(cls, val):
"""
Create an instance of this class set to the
``file_save_copy_reference_details`` tag with value ``val``.
:param FileSaveCopyReferenceDetails val:
:rtype: EventDetails
"""
return cls('file_save_copy_reference_details', val)
@classmethod
def file_request_change_details(cls, val):
"""
Create an instance of this class set to the
``file_request_change_details`` tag with value ``val``.
:param FileRequestChangeDetails val:
:rtype: EventDetails
"""
return cls('file_request_change_details', val)
@classmethod
def file_request_close_details(cls, val):
"""
Create an instance of this class set to the
``file_request_close_details`` tag with value ``val``.
:param FileRequestCloseDetails val:
:rtype: EventDetails
"""
return cls('file_request_close_details', val)
@classmethod
def file_request_create_details(cls, val):
"""
Create an instance of this class set to the
``file_request_create_details`` tag with value ``val``.
:param FileRequestCreateDetails val:
:rtype: EventDetails
"""
return cls('file_request_create_details', val)
@classmethod
def file_request_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):
"""
Create an instance of this class set to the
``file_request_receive_file_details`` tag with value ``val``.
:param FileRequestReceiveFileDetails val:
:rtype: EventDetails
"""
return cls('file_request_receive_file_details', val)
@classmethod
def group_add_external_id_details(cls, val):
"""
Create an instance of this class set to the
``group_add_external_id_details`` tag with value ``val``.
:param GroupAddExternalIdDetails val:
:rtype: EventDetails
"""
return cls('group_add_external_id_details', val)
@classmethod
def group_add_member_details(cls, val):
"""
Create an instance of this class set to the ``group_add_member_details``
tag with value ``val``.
:param GroupAddMemberDetails val:
:rtype: EventDetails
"""
return cls('group_add_member_details', val)
@classmethod
def group_change_external_id_details(cls, val):
"""
Create an instance of this class set to the
``group_change_external_id_details`` tag with value ``val``.
:param GroupChangeExternalIdDetails val:
:rtype: EventDetails
"""
return cls('group_change_external_id_details', val)
@classmethod
def group_change_management_type_details(cls, val):
"""
Create an instance of this class set to the
``group_change_management_type_details`` tag with value ``val``.
:param GroupChangeManagementTypeDetails val:
:rtype: EventDetails
"""
return cls('group_change_management_type_details', val)
@classmethod
def group_change_member_role_details(cls, val):
"""
Create an instance of this class set to the
``group_change_member_role_details`` tag with value ``val``.
:param GroupChangeMemberRoleDetails val:
:rtype: EventDetails
"""
return cls('group_change_member_role_details', val)
@classmethod
def group_create_details(cls, val):
"""
Create an instance of this class set to the ``group_create_details`` tag
with value ``val``.
:param GroupCreateDetails val:
:rtype: EventDetails
"""
return cls('group_create_details', val)
@classmethod
def group_delete_details(cls, val):
"""
Create an instance of this class set to the ``group_delete_details`` tag
with value ``val``.
:param GroupDeleteDetails val:
:rtype: EventDetails
"""
return cls('group_delete_details', val)
@classmethod
def group_description_updated_details(cls, val):
"""
Create an instance of this class set to the
``group_description_updated_details`` tag with value ``val``.
:param GroupDescriptionUpdatedDetails val:
:rtype: EventDetails
"""
return cls('group_description_updated_details', val)
@classmethod
def group_join_policy_updated_details(cls, val):
"""
Create an instance of this class set to the
``group_join_policy_updated_details`` tag with value ``val``.
:param GroupJoinPolicyUpdatedDetails val:
:rtype: EventDetails
"""
return cls('group_join_policy_updated_details', val)
@classmethod
def group_moved_details(cls, val):
"""
Create an instance of this class set to the ``group_moved_details`` tag
with value ``val``.
:param GroupMovedDetails val:
:rtype: EventDetails
"""
return cls('group_moved_details', val)
@classmethod
def group_remove_external_id_details(cls, val):
"""
Create an instance of this class set to the
``group_remove_external_id_details`` tag with value ``val``.
:param GroupRemoveExternalIdDetails val:
:rtype: EventDetails
"""
return cls('group_remove_external_id_details', val)
@classmethod
def group_remove_member_details(cls, val):
"""
Create an instance of this class set to the
``group_remove_member_details`` tag with value ``val``.
:param GroupRemoveMemberDetails val:
:rtype: EventDetails
"""
return cls('group_remove_member_details', val)
@classmethod
def group_rename_details(cls, val):
"""
Create an instance of this class set to the ``group_rename_details`` tag
with value ``val``.
:param GroupRenameDetails val:
:rtype: EventDetails
"""
return cls('group_rename_details', val)
@classmethod
def emm_error_details(cls, val):
"""
Create an instance of this class set to the ``emm_error_details`` tag
with value ``val``.
:param EmmErrorDetails val:
:rtype: EventDetails
"""
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):
"""
Create an instance of this class set to the ``logout_details`` tag with
value ``val``.
:param LogoutDetails val:
:rtype: EventDetails
"""
return cls('logout_details', val)
@classmethod
def reseller_support_session_end_details(cls, val):
"""
Create an instance of this class set to the
``reseller_support_session_end_details`` tag with value ``val``.
:param ResellerSupportSessionEndDetails val:
:rtype: EventDetails
"""
return cls('reseller_support_session_end_details', val)
@classmethod
def reseller_support_session_start_details(cls, val):
"""
Create an instance of this class set to the
``reseller_support_session_start_details`` tag with value ``val``.
:param ResellerSupportSessionStartDetails val:
:rtype: EventDetails
"""
return cls('reseller_support_session_start_details', val)
@classmethod
def sign_in_as_session_end_details(cls, val):
"""
Create an instance of this class set to the
``sign_in_as_session_end_details`` tag with value ``val``.
:param SignInAsSessionEndDetails val:
:rtype: EventDetails
"""
return cls('sign_in_as_session_end_details', val)
@classmethod
def sign_in_as_session_start_details(cls, val):
"""
Create an instance of this class set to the
``sign_in_as_session_start_details`` tag with value ``val``.
:param SignInAsSessionStartDetails val:
:rtype: EventDetails
"""
return cls('sign_in_as_session_start_details', val)
@classmethod
def sso_error_details(cls, val):
"""
Create an instance of this class set to the ``sso_error_details`` tag
with value ``val``.
:param SsoErrorDetails val:
:rtype: EventDetails
"""
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):
"""
Create an instance of this class set to the ``member_add_name_details``
tag with value ``val``.
:param MemberAddNameDetails val:
:rtype: EventDetails
"""
return cls('member_add_name_details', val)
@classmethod
def member_change_admin_role_details(cls, val):
"""
Create an instance of this class set to the
``member_change_admin_role_details`` tag with value ``val``.
:param MemberChangeAdminRoleDetails val:
:rtype: EventDetails
"""
return cls('member_change_admin_role_details', val)
@classmethod
def member_change_email_details(cls, val):
"""
Create an instance of this class set to the
``member_change_email_details`` tag with value ``val``.
:param MemberChangeEmailDetails val:
:rtype: EventDetails
"""
return cls('member_change_email_details', val)
@classmethod
def member_change_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):
"""
Create an instance of this class set to the
``member_change_name_details`` tag with value ``val``.
:param MemberChangeNameDetails val:
:rtype: EventDetails
"""
return cls('member_change_name_details', val)
@classmethod
def member_change_status_details(cls, val):
"""
Create an instance of this class set to the
``member_change_status_details`` tag with value ``val``.
:param MemberChangeStatusDetails val:
:rtype: EventDetails
"""
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):
"""
Create an instance of this class set to the ``member_suggest_details``
tag with value ``val``.
:param MemberSuggestDetails val:
:rtype: EventDetails
"""
return cls('member_suggest_details', val)
@classmethod
def member_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):
"""
Create an instance of this class set to the
``paper_content_add_member_details`` tag with value ``val``.
:param PaperContentAddMemberDetails val:
:rtype: EventDetails
"""
return cls('paper_content_add_member_details', val)
@classmethod
def paper_content_add_to_folder_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_add_to_folder_details`` tag with value ``val``.
:param PaperContentAddToFolderDetails val:
:rtype: EventDetails
"""
return cls('paper_content_add_to_folder_details', val)
@classmethod
def paper_content_archive_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_archive_details`` tag with value ``val``.
:param PaperContentArchiveDetails val:
:rtype: EventDetails
"""
return cls('paper_content_archive_details', val)
@classmethod
def paper_content_create_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_create_details`` tag with value ``val``.
:param PaperContentCreateDetails val:
:rtype: EventDetails
"""
return cls('paper_content_create_details', val)
@classmethod
def paper_content_permanently_delete_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_permanently_delete_details`` tag with value ``val``.
:param PaperContentPermanentlyDeleteDetails val:
:rtype: EventDetails
"""
return cls('paper_content_permanently_delete_details', val)
@classmethod
def paper_content_remove_from_folder_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_remove_from_folder_details`` tag with value ``val``.
:param PaperContentRemoveFromFolderDetails val:
:rtype: EventDetails
"""
return cls('paper_content_remove_from_folder_details', val)
@classmethod
def paper_content_remove_member_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_remove_member_details`` tag with value ``val``.
:param PaperContentRemoveMemberDetails val:
:rtype: EventDetails
"""
return cls('paper_content_remove_member_details', val)
@classmethod
def paper_content_rename_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_rename_details`` tag with value ``val``.
:param PaperContentRenameDetails val:
:rtype: EventDetails
"""
return cls('paper_content_rename_details', val)
@classmethod
def paper_content_restore_details(cls, val):
"""
Create an instance of this class set to the
``paper_content_restore_details`` tag with value ``val``.
:param PaperContentRestoreDetails val:
:rtype: EventDetails
"""
return cls('paper_content_restore_details', val)
@classmethod
def paper_doc_add_comment_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_add_comment_details`` tag with value ``val``.
:param PaperDocAddCommentDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_add_comment_details', val)
@classmethod
def paper_doc_change_member_role_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_change_member_role_details`` tag with value ``val``.
:param PaperDocChangeMemberRoleDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_change_member_role_details', val)
@classmethod
def paper_doc_change_sharing_policy_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_change_sharing_policy_details`` tag with value ``val``.
:param PaperDocChangeSharingPolicyDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_change_sharing_policy_details', val)
@classmethod
def paper_doc_change_subscription_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_change_subscription_details`` tag with value ``val``.
:param PaperDocChangeSubscriptionDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_change_subscription_details', val)
@classmethod
def paper_doc_deleted_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_deleted_details`` tag with value ``val``.
:param PaperDocDeletedDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_deleted_details', val)
@classmethod
def paper_doc_delete_comment_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_delete_comment_details`` tag with value ``val``.
:param PaperDocDeleteCommentDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_delete_comment_details', val)
@classmethod
def paper_doc_download_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_download_details`` tag with value ``val``.
:param PaperDocDownloadDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_download_details', val)
@classmethod
def paper_doc_edit_details(cls, val):
"""
Create an instance of this class set to the ``paper_doc_edit_details``
tag with value ``val``.
:param PaperDocEditDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_edit_details', val)
@classmethod
def paper_doc_edit_comment_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_edit_comment_details`` tag with value ``val``.
:param PaperDocEditCommentDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_edit_comment_details', val)
@classmethod
def paper_doc_followed_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_followed_details`` tag with value ``val``.
:param PaperDocFollowedDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_followed_details', val)
@classmethod
def paper_doc_mention_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_mention_details`` tag with value ``val``.
:param PaperDocMentionDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_mention_details', val)
@classmethod
def paper_doc_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):
"""
Create an instance of this class set to the
``paper_doc_request_access_details`` tag with value ``val``.
:param PaperDocRequestAccessDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_request_access_details', val)
@classmethod
def paper_doc_resolve_comment_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_resolve_comment_details`` tag with value ``val``.
:param PaperDocResolveCommentDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_resolve_comment_details', val)
@classmethod
def paper_doc_revert_details(cls, val):
"""
Create an instance of this class set to the ``paper_doc_revert_details``
tag with value ``val``.
:param PaperDocRevertDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_revert_details', val)
@classmethod
def paper_doc_slack_share_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_slack_share_details`` tag with value ``val``.
:param PaperDocSlackShareDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_slack_share_details', val)
@classmethod
def paper_doc_team_invite_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_team_invite_details`` tag with value ``val``.
:param PaperDocTeamInviteDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_team_invite_details', val)
@classmethod
def paper_doc_trashed_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_trashed_details`` tag with value ``val``.
:param PaperDocTrashedDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_trashed_details', val)
@classmethod
def paper_doc_unresolve_comment_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_unresolve_comment_details`` tag with value ``val``.
:param PaperDocUnresolveCommentDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_unresolve_comment_details', val)
@classmethod
def paper_doc_untrashed_details(cls, val):
"""
Create an instance of this class set to the
``paper_doc_untrashed_details`` tag with value ``val``.
:param PaperDocUntrashedDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_untrashed_details', val)
@classmethod
def paper_doc_view_details(cls, val):
"""
Create an instance of this class set to the ``paper_doc_view_details``
tag with value ``val``.
:param PaperDocViewDetails val:
:rtype: EventDetails
"""
return cls('paper_doc_view_details', val)
@classmethod
def paper_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):
"""
Create an instance of this class set to the
``paper_folder_change_subscription_details`` tag with value ``val``.
:param PaperFolderChangeSubscriptionDetails val:
:rtype: EventDetails
"""
return cls('paper_folder_change_subscription_details', val)
@classmethod
def paper_folder_deleted_details(cls, val):
"""
Create an instance of this class set to the
``paper_folder_deleted_details`` tag with value ``val``.
:param PaperFolderDeletedDetails val:
:rtype: EventDetails
"""
return cls('paper_folder_deleted_details', val)
@classmethod
def paper_folder_followed_details(cls, val):
"""
Create an instance of this class set to the
``paper_folder_followed_details`` tag with value ``val``.
:param PaperFolderFollowedDetails val:
:rtype: EventDetails
"""
return cls('paper_folder_followed_details', val)
@classmethod
def paper_folder_team_invite_details(cls, val):
"""
Create an instance of this class set to the
``paper_folder_team_invite_details`` tag with value ``val``.
:param PaperFolderTeamInviteDetails val:
:rtype: EventDetails
"""
return cls('paper_folder_team_invite_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the ``password_change_details``
tag with value ``val``.
:param PasswordChangeDetails val:
:rtype: EventDetails
"""
return cls('password_change_details', val)
@classmethod
def password_reset_details(cls, val):
"""
Create an instance of this class set to the ``password_reset_details``
tag with value ``val``.
:param PasswordResetDetails val:
:rtype: EventDetails
"""
return cls('password_reset_details', val)
@classmethod
def password_reset_all_details(cls, val):
"""
Create an instance of this class set to the
``password_reset_all_details`` tag with value ``val``.
:param PasswordResetAllDetails val:
:rtype: EventDetails
"""
return cls('password_reset_all_details', val)
@classmethod
def emm_create_exceptions_report_details(cls, val):
"""
Create an instance of this class set to the
``emm_create_exceptions_report_details`` tag with value ``val``.
:param EmmCreateExceptionsReportDetails val:
:rtype: EventDetails
"""
return cls('emm_create_exceptions_report_details', val)
@classmethod
def emm_create_usage_report_details(cls, val):
"""
Create an instance of this class set to the
``emm_create_usage_report_details`` tag with value ``val``.
:param EmmCreateUsageReportDetails val:
:rtype: EventDetails
"""
return cls('emm_create_usage_report_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``smart_sync_create_admin_privilege_report_details`` tag with value
``val``.
:param SmartSyncCreateAdminPrivilegeReportDetails val:
:rtype: EventDetails
"""
return cls('smart_sync_create_admin_privilege_report_details', val)
@classmethod
def team_activity_create_report_details(cls, val):
"""
Create an instance of this class set to the
``team_activity_create_report_details`` tag with value ``val``.
:param TeamActivityCreateReportDetails val:
:rtype: EventDetails
"""
return cls('team_activity_create_report_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the ``collection_share_details``
tag with value ``val``.
:param CollectionShareDetails val:
:rtype: EventDetails
"""
return cls('collection_share_details', val)
@classmethod
def note_acl_invite_only_details(cls, val):
"""
Create an instance of this class set to the
``note_acl_invite_only_details`` tag with value ``val``.
:param NoteAclInviteOnlyDetails val:
:rtype: EventDetails
"""
return cls('note_acl_invite_only_details', val)
@classmethod
def note_acl_link_details(cls, val):
"""
Create an instance of this class set to the ``note_acl_link_details``
tag with value ``val``.
:param NoteAclLinkDetails val:
:rtype: EventDetails
"""
return cls('note_acl_link_details', val)
@classmethod
def note_acl_team_link_details(cls, val):
"""
Create an instance of this class set to the
``note_acl_team_link_details`` tag with value ``val``.
:param NoteAclTeamLinkDetails val:
:rtype: EventDetails
"""
return cls('note_acl_team_link_details', val)
@classmethod
def note_shared_details(cls, val):
"""
Create an instance of this class set to the ``note_shared_details`` tag
with value ``val``.
:param NoteSharedDetails val:
:rtype: EventDetails
"""
return cls('note_shared_details', val)
@classmethod
def note_share_receive_details(cls, val):
"""
Create an instance of this class set to the
``note_share_receive_details`` tag with value ``val``.
:param NoteShareReceiveDetails val:
:rtype: EventDetails
"""
return cls('note_share_receive_details', val)
@classmethod
def open_note_shared_details(cls, val):
"""
Create an instance of this class set to the ``open_note_shared_details``
tag with value ``val``.
:param OpenNoteSharedDetails val:
:rtype: EventDetails
"""
return cls('open_note_shared_details', val)
@classmethod
def sf_add_group_details(cls, val):
"""
Create an instance of this class set to the ``sf_add_group_details`` tag
with value ``val``.
:param SfAddGroupDetails val:
:rtype: EventDetails
"""
return cls('sf_add_group_details', val)
@classmethod
def sf_allow_non_members_to_view_shared_links_details(cls, val):
"""
Create an instance of this class set to the
``sf_allow_non_members_to_view_shared_links_details`` tag with value
``val``.
:param SfAllowNonMembersToViewSharedLinksDetails val:
:rtype: EventDetails
"""
return cls('sf_allow_non_members_to_view_shared_links_details', val)
@classmethod
def sf_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):
"""
Create an instance of this class set to the ``sf_invite_group_details``
tag with value ``val``.
:param SfInviteGroupDetails val:
:rtype: EventDetails
"""
return cls('sf_invite_group_details', val)
@classmethod
def sf_team_grant_access_details(cls, val):
"""
Create an instance of this class set to the
``sf_team_grant_access_details`` tag with value ``val``.
:param SfTeamGrantAccessDetails val:
:rtype: EventDetails
"""
return cls('sf_team_grant_access_details', val)
@classmethod
def sf_team_invite_details(cls, val):
"""
Create an instance of this class set to the ``sf_team_invite_details``
tag with value ``val``.
:param SfTeamInviteDetails val:
:rtype: EventDetails
"""
return cls('sf_team_invite_details', val)
@classmethod
def sf_team_invite_change_role_details(cls, val):
"""
Create an instance of this class set to the
``sf_team_invite_change_role_details`` tag with value ``val``.
:param SfTeamInviteChangeRoleDetails val:
:rtype: EventDetails
"""
return cls('sf_team_invite_change_role_details', val)
@classmethod
def sf_team_join_details(cls, val):
"""
Create an instance of this class set to the ``sf_team_join_details`` tag
with value ``val``.
:param SfTeamJoinDetails val:
:rtype: EventDetails
"""
return cls('sf_team_join_details', val)
@classmethod
def sf_team_join_from_oob_link_details(cls, val):
"""
Create an instance of this class set to the
``sf_team_join_from_oob_link_details`` tag with value ``val``.
:param SfTeamJoinFromOobLinkDetails val:
:rtype: EventDetails
"""
return cls('sf_team_join_from_oob_link_details', val)
@classmethod
def sf_team_uninvite_details(cls, val):
"""
Create an instance of this class set to the ``sf_team_uninvite_details``
tag with value ``val``.
:param SfTeamUninviteDetails val:
:rtype: EventDetails
"""
return cls('sf_team_uninvite_details', val)
@classmethod
def shared_content_add_invitees_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_add_invitees_details`` tag with value ``val``.
:param SharedContentAddInviteesDetails val:
:rtype: EventDetails
"""
return cls('shared_content_add_invitees_details', val)
@classmethod
def shared_content_add_link_expiry_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_add_link_expiry_details`` tag with value ``val``.
:param SharedContentAddLinkExpiryDetails val:
:rtype: EventDetails
"""
return cls('shared_content_add_link_expiry_details', val)
@classmethod
def shared_content_add_link_password_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_add_link_password_details`` tag with value ``val``.
:param SharedContentAddLinkPasswordDetails val:
:rtype: EventDetails
"""
return cls('shared_content_add_link_password_details', val)
@classmethod
def shared_content_add_member_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_add_member_details`` tag with value ``val``.
:param SharedContentAddMemberDetails val:
:rtype: EventDetails
"""
return cls('shared_content_add_member_details', val)
@classmethod
def shared_content_change_downloads_policy_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_change_downloads_policy_details`` tag with value
``val``.
:param SharedContentChangeDownloadsPolicyDetails val:
:rtype: EventDetails
"""
return cls('shared_content_change_downloads_policy_details', val)
@classmethod
def shared_content_change_invitee_role_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_change_invitee_role_details`` tag with value ``val``.
:param SharedContentChangeInviteeRoleDetails val:
:rtype: EventDetails
"""
return cls('shared_content_change_invitee_role_details', val)
@classmethod
def shared_content_change_link_audience_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_change_link_audience_details`` tag with value ``val``.
:param SharedContentChangeLinkAudienceDetails val:
:rtype: EventDetails
"""
return cls('shared_content_change_link_audience_details', val)
@classmethod
def shared_content_change_link_expiry_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_change_link_expiry_details`` tag with value ``val``.
:param SharedContentChangeLinkExpiryDetails val:
:rtype: EventDetails
"""
return cls('shared_content_change_link_expiry_details', val)
@classmethod
def shared_content_change_link_password_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_change_link_password_details`` tag with value ``val``.
:param SharedContentChangeLinkPasswordDetails val:
:rtype: EventDetails
"""
return cls('shared_content_change_link_password_details', val)
@classmethod
def shared_content_change_member_role_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_change_member_role_details`` tag with value ``val``.
:param SharedContentChangeMemberRoleDetails val:
:rtype: EventDetails
"""
return cls('shared_content_change_member_role_details', val)
@classmethod
def shared_content_change_viewer_info_policy_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_change_viewer_info_policy_details`` tag with value
``val``.
:param SharedContentChangeViewerInfoPolicyDetails val:
:rtype: EventDetails
"""
return cls('shared_content_change_viewer_info_policy_details', val)
@classmethod
def shared_content_claim_invitation_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_claim_invitation_details`` tag with value ``val``.
:param SharedContentClaimInvitationDetails val:
:rtype: EventDetails
"""
return cls('shared_content_claim_invitation_details', val)
@classmethod
def shared_content_copy_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_copy_details`` tag with value ``val``.
:param SharedContentCopyDetails val:
:rtype: EventDetails
"""
return cls('shared_content_copy_details', val)
@classmethod
def shared_content_download_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_download_details`` tag with value ``val``.
:param SharedContentDownloadDetails val:
:rtype: EventDetails
"""
return cls('shared_content_download_details', val)
@classmethod
def shared_content_relinquish_membership_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_relinquish_membership_details`` tag with value ``val``.
:param SharedContentRelinquishMembershipDetails val:
:rtype: EventDetails
"""
return cls('shared_content_relinquish_membership_details', val)
@classmethod
def shared_content_remove_invitees_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_remove_invitees_details`` tag with value ``val``.
:param SharedContentRemoveInviteesDetails val:
:rtype: EventDetails
"""
return cls('shared_content_remove_invitees_details', val)
@classmethod
def shared_content_remove_link_expiry_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_remove_link_expiry_details`` tag with value ``val``.
:param SharedContentRemoveLinkExpiryDetails val:
:rtype: EventDetails
"""
return cls('shared_content_remove_link_expiry_details', val)
@classmethod
def shared_content_remove_link_password_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_remove_link_password_details`` tag with value ``val``.
:param SharedContentRemoveLinkPasswordDetails val:
:rtype: EventDetails
"""
return cls('shared_content_remove_link_password_details', val)
@classmethod
def shared_content_remove_member_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_remove_member_details`` tag with value ``val``.
:param SharedContentRemoveMemberDetails val:
:rtype: EventDetails
"""
return cls('shared_content_remove_member_details', val)
@classmethod
def shared_content_request_access_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_request_access_details`` tag with value ``val``.
:param SharedContentRequestAccessDetails val:
:rtype: EventDetails
"""
return cls('shared_content_request_access_details', val)
@classmethod
def shared_content_unshare_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_unshare_details`` tag with value ``val``.
:param SharedContentUnshareDetails val:
:rtype: EventDetails
"""
return cls('shared_content_unshare_details', val)
@classmethod
def shared_content_view_details(cls, val):
"""
Create an instance of this class set to the
``shared_content_view_details`` tag with value ``val``.
:param SharedContentViewDetails val:
:rtype: EventDetails
"""
return cls('shared_content_view_details', val)
@classmethod
def shared_folder_change_link_policy_details(cls, val):
"""
Create an instance of this class set to the
``shared_folder_change_link_policy_details`` tag with value ``val``.
:param SharedFolderChangeLinkPolicyDetails val:
:rtype: EventDetails
"""
return cls('shared_folder_change_link_policy_details', val)
@classmethod
def shared_folder_change_members_inheritance_policy_details(cls, val):
"""
Create an instance of this class set to the
``shared_folder_change_members_inheritance_policy_details`` tag with
value ``val``.
:param SharedFolderChangeMembersInheritancePolicyDetails val:
:rtype: EventDetails
"""
return cls('shared_folder_change_members_inheritance_policy_details', val)
@classmethod
def shared_folder_change_members_management_policy_details(cls, val):
"""
Create an instance of this class set to the
``shared_folder_change_members_management_policy_details`` tag with
value ``val``.
:param SharedFolderChangeMembersManagementPolicyDetails val:
:rtype: EventDetails
"""
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):
"""
Create an instance of this class set to the
``shared_folder_create_details`` tag with value ``val``.
:param SharedFolderCreateDetails val:
:rtype: EventDetails
"""
return cls('shared_folder_create_details', val)
@classmethod
def shared_folder_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):
"""
Create an instance of this class set to the
``shared_folder_mount_details`` tag with value ``val``.
:param SharedFolderMountDetails val:
:rtype: EventDetails
"""
return cls('shared_folder_mount_details', val)
@classmethod
def shared_folder_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):
"""
Create an instance of this class set to the
``shared_folder_transfer_ownership_details`` tag with value ``val``.
:param SharedFolderTransferOwnershipDetails val:
:rtype: EventDetails
"""
return cls('shared_folder_transfer_ownership_details', val)
@classmethod
def shared_folder_unmount_details(cls, val):
"""
Create an instance of this class set to the
``shared_folder_unmount_details`` tag with value ``val``.
:param SharedFolderUnmountDetails val:
:rtype: EventDetails
"""
return cls('shared_folder_unmount_details', val)
@classmethod
def shared_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):
"""
Create an instance of this class set to the
``shared_note_opened_details`` tag with value ``val``.
:param SharedNoteOpenedDetails val:
:rtype: EventDetails
"""
return cls('shared_note_opened_details', val)
@classmethod
def shmodel_group_share_details(cls, val):
"""
Create an instance of this class set to the
``shmodel_group_share_details`` tag with value ``val``.
:param ShmodelGroupShareDetails val:
:rtype: EventDetails
"""
return cls('shmodel_group_share_details', val)
@classmethod
def showcase_access_granted_details(cls, val):
"""
Create an instance of this class set to the
``showcase_access_granted_details`` tag with value ``val``.
:param ShowcaseAccessGrantedDetails val:
:rtype: EventDetails
"""
return cls('showcase_access_granted_details', val)
@classmethod
def showcase_add_member_details(cls, val):
"""
Create an instance of this class set to the
``showcase_add_member_details`` tag with value ``val``.
:param ShowcaseAddMemberDetails val:
:rtype: EventDetails
"""
return cls('showcase_add_member_details', val)
@classmethod
def showcase_archived_details(cls, val):
"""
Create an instance of this class set to the
``showcase_archived_details`` tag with value ``val``.
:param ShowcaseArchivedDetails val:
:rtype: EventDetails
"""
return cls('showcase_archived_details', val)
@classmethod
def showcase_created_details(cls, val):
"""
Create an instance of this class set to the ``showcase_created_details``
tag with value ``val``.
:param ShowcaseCreatedDetails val:
:rtype: EventDetails
"""
return cls('showcase_created_details', val)
@classmethod
def showcase_delete_comment_details(cls, val):
"""
Create an instance of this class set to the
``showcase_delete_comment_details`` tag with value ``val``.
:param ShowcaseDeleteCommentDetails val:
:rtype: EventDetails
"""
return cls('showcase_delete_comment_details', val)
@classmethod
def showcase_edited_details(cls, val):
"""
Create an instance of this class set to the ``showcase_edited_details``
tag with value ``val``.
:param ShowcaseEditedDetails val:
:rtype: EventDetails
"""
return cls('showcase_edited_details', val)
@classmethod
def showcase_edit_comment_details(cls, val):
"""
Create an instance of this class set to the
``showcase_edit_comment_details`` tag with value ``val``.
:param ShowcaseEditCommentDetails val:
:rtype: EventDetails
"""
return cls('showcase_edit_comment_details', val)
@classmethod
def showcase_file_added_details(cls, val):
"""
Create an instance of this class set to the
``showcase_file_added_details`` tag with value ``val``.
:param ShowcaseFileAddedDetails val:
:rtype: EventDetails
"""
return cls('showcase_file_added_details', val)
@classmethod
def showcase_file_download_details(cls, val):
"""
Create an instance of this class set to the
``showcase_file_download_details`` tag with value ``val``.
:param ShowcaseFileDownloadDetails val:
:rtype: EventDetails
"""
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):
"""
Create an instance of this class set to the ``sso_add_cert_details`` tag
with value ``val``.
:param SsoAddCertDetails val:
:rtype: EventDetails
"""
return cls('sso_add_cert_details', val)
@classmethod
def sso_add_login_url_details(cls, val):
"""
Create an instance of this class set to the
``sso_add_login_url_details`` tag with value ``val``.
:param SsoAddLoginUrlDetails val:
:rtype: EventDetails
"""
return cls('sso_add_login_url_details', val)
@classmethod
def sso_add_logout_url_details(cls, val):
"""
Create an instance of this class set to the
``sso_add_logout_url_details`` tag with value ``val``.
:param SsoAddLogoutUrlDetails val:
:rtype: EventDetails
"""
return cls('sso_add_logout_url_details', val)
@classmethod
def sso_change_cert_details(cls, val):
"""
Create an instance of this class set to the ``sso_change_cert_details``
tag with value ``val``.
:param SsoChangeCertDetails val:
:rtype: EventDetails
"""
return cls('sso_change_cert_details', val)
@classmethod
def sso_change_login_url_details(cls, val):
"""
Create an instance of this class set to the
``sso_change_login_url_details`` tag with value ``val``.
:param SsoChangeLoginUrlDetails val:
:rtype: EventDetails
"""
return cls('sso_change_login_url_details', val)
@classmethod
def sso_change_logout_url_details(cls, val):
"""
Create an instance of this class set to the
``sso_change_logout_url_details`` tag with value ``val``.
:param SsoChangeLogoutUrlDetails val:
:rtype: EventDetails
"""
return cls('sso_change_logout_url_details', val)
@classmethod
def sso_change_saml_identity_mode_details(cls, val):
"""
Create an instance of this class set to the
``sso_change_saml_identity_mode_details`` tag with value ``val``.
:param SsoChangeSamlIdentityModeDetails val:
:rtype: EventDetails
"""
return cls('sso_change_saml_identity_mode_details', val)
@classmethod
def sso_remove_cert_details(cls, val):
"""
Create an instance of this class set to the ``sso_remove_cert_details``
tag with value ``val``.
:param SsoRemoveCertDetails val:
:rtype: EventDetails
"""
return cls('sso_remove_cert_details', val)
@classmethod
def sso_remove_login_url_details(cls, val):
"""
Create an instance of this class set to the
``sso_remove_login_url_details`` tag with value ``val``.
:param SsoRemoveLoginUrlDetails val:
:rtype: EventDetails
"""
return cls('sso_remove_login_url_details', val)
@classmethod
def sso_remove_logout_url_details(cls, val):
"""
Create an instance of this class set to the
``sso_remove_logout_url_details`` tag with value ``val``.
:param SsoRemoveLogoutUrlDetails val:
:rtype: EventDetails
"""
return cls('sso_remove_logout_url_details', val)
@classmethod
def team_folder_change_status_details(cls, val):
"""
Create an instance of this class set to the
``team_folder_change_status_details`` tag with value ``val``.
:param TeamFolderChangeStatusDetails val:
:rtype: EventDetails
"""
return cls('team_folder_change_status_details', val)
@classmethod
def team_folder_create_details(cls, val):
"""
Create an instance of this class set to the
``team_folder_create_details`` tag with value ``val``.
:param TeamFolderCreateDetails val:
:rtype: EventDetails
"""
return cls('team_folder_create_details', val)
@classmethod
def team_folder_downgrade_details(cls, val):
"""
Create an instance of this class set to the
``team_folder_downgrade_details`` tag with value ``val``.
:param TeamFolderDowngradeDetails val:
:rtype: EventDetails
"""
return cls('team_folder_downgrade_details', val)
@classmethod
def team_folder_permanently_delete_details(cls, val):
"""
Create an instance of this class set to the
``team_folder_permanently_delete_details`` tag with value ``val``.
:param TeamFolderPermanentlyDeleteDetails val:
:rtype: EventDetails
"""
return cls('team_folder_permanently_delete_details', val)
@classmethod
def team_folder_rename_details(cls, val):
"""
Create an instance of this class set to the
``team_folder_rename_details`` tag with value ``val``.
:param TeamFolderRenameDetails val:
:rtype: EventDetails
"""
return cls('team_folder_rename_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``account_capture_change_policy_details`` tag with value ``val``.
:param AccountCaptureChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('account_capture_change_policy_details', val)
@classmethod
def allow_download_disabled_details(cls, val):
"""
Create an instance of this class set to the
``allow_download_disabled_details`` tag with value ``val``.
:param AllowDownloadDisabledDetails val:
:rtype: EventDetails
"""
return cls('allow_download_disabled_details', val)
@classmethod
def allow_download_enabled_details(cls, val):
"""
Create an instance of this class set to the
``allow_download_enabled_details`` tag with value ``val``.
:param AllowDownloadEnabledDetails val:
:rtype: EventDetails
"""
return cls('allow_download_enabled_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``data_placement_restriction_change_policy_details`` tag with value
``val``.
:param DataPlacementRestrictionChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('data_placement_restriction_change_policy_details', val)
@classmethod
def data_placement_restriction_satisfy_policy_details(cls, val):
"""
Create an instance of this class set to the
``data_placement_restriction_satisfy_policy_details`` tag with value
``val``.
:param DataPlacementRestrictionSatisfyPolicyDetails val:
:rtype: EventDetails
"""
return cls('data_placement_restriction_satisfy_policy_details', val)
@classmethod
def device_approvals_change_desktop_policy_details(cls, val):
"""
Create an instance of this class set to the
``device_approvals_change_desktop_policy_details`` tag with value
``val``.
:param DeviceApprovalsChangeDesktopPolicyDetails val:
:rtype: EventDetails
"""
return cls('device_approvals_change_desktop_policy_details', val)
@classmethod
def device_approvals_change_mobile_policy_details(cls, val):
"""
Create an instance of this class set to the
``device_approvals_change_mobile_policy_details`` tag with value
``val``.
:param DeviceApprovalsChangeMobilePolicyDetails val:
:rtype: EventDetails
"""
return cls('device_approvals_change_mobile_policy_details', val)
@classmethod
def device_approvals_change_overage_action_details(cls, val):
"""
Create an instance of this class set to the
``device_approvals_change_overage_action_details`` tag with value
``val``.
:param DeviceApprovalsChangeOverageActionDetails val:
:rtype: EventDetails
"""
return cls('device_approvals_change_overage_action_details', val)
@classmethod
def device_approvals_change_unlink_action_details(cls, val):
"""
Create an instance of this class set to the
``device_approvals_change_unlink_action_details`` tag with value
``val``.
:param DeviceApprovalsChangeUnlinkActionDetails val:
:rtype: EventDetails
"""
return cls('device_approvals_change_unlink_action_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``emm_add_exception_details`` tag with value ``val``.
:param EmmAddExceptionDetails val:
:rtype: EventDetails
"""
return cls('emm_add_exception_details', val)
@classmethod
def emm_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``emm_change_policy_details`` tag with value ``val``.
:param EmmChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('emm_change_policy_details', val)
@classmethod
def emm_remove_exception_details(cls, val):
"""
Create an instance of this class set to the
``emm_remove_exception_details`` tag with value ``val``.
:param EmmRemoveExceptionDetails val:
:rtype: EventDetails
"""
return cls('emm_remove_exception_details', val)
@classmethod
def extended_version_history_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``extended_version_history_change_policy_details`` tag with value
``val``.
:param ExtendedVersionHistoryChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('extended_version_history_change_policy_details', val)
@classmethod
def file_comments_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``file_comments_change_policy_details`` tag with value ``val``.
:param FileCommentsChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('file_comments_change_policy_details', val)
@classmethod
def file_requests_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``file_requests_change_policy_details`` tag with value ``val``.
:param FileRequestsChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('file_requests_change_policy_details', val)
@classmethod
def file_requests_emails_enabled_details(cls, val):
"""
Create an instance of this class set to the
``file_requests_emails_enabled_details`` tag with value ``val``.
:param FileRequestsEmailsEnabledDetails val:
:rtype: EventDetails
"""
return cls('file_requests_emails_enabled_details', val)
@classmethod
def file_requests_emails_restricted_to_team_only_details(cls, val):
"""
Create an instance of this class set to the
``file_requests_emails_restricted_to_team_only_details`` tag with value
``val``.
:param FileRequestsEmailsRestrictedToTeamOnlyDetails val:
:rtype: EventDetails
"""
return cls('file_requests_emails_restricted_to_team_only_details', val)
@classmethod
def google_sso_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``google_sso_change_policy_details`` tag with value ``val``.
:param GoogleSsoChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('google_sso_change_policy_details', val)
@classmethod
def group_user_management_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``group_user_management_change_policy_details`` tag with value ``val``.
:param GroupUserManagementChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('group_user_management_change_policy_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``member_requests_change_policy_details`` tag with value ``val``.
:param MemberRequestsChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('member_requests_change_policy_details', val)
@classmethod
def member_space_limits_add_exception_details(cls, val):
"""
Create an instance of this class set to the
``member_space_limits_add_exception_details`` tag with value ``val``.
:param MemberSpaceLimitsAddExceptionDetails val:
:rtype: EventDetails
"""
return cls('member_space_limits_add_exception_details', val)
@classmethod
def member_space_limits_change_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):
"""
Create an instance of this class set to the
``member_space_limits_change_policy_details`` tag with value ``val``.
:param MemberSpaceLimitsChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('member_space_limits_change_policy_details', val)
@classmethod
def member_space_limits_remove_exception_details(cls, val):
"""
Create an instance of this class set to the
``member_space_limits_remove_exception_details`` tag with value ``val``.
:param MemberSpaceLimitsRemoveExceptionDetails val:
:rtype: EventDetails
"""
return cls('member_space_limits_remove_exception_details', val)
@classmethod
def member_suggestions_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``member_suggestions_change_policy_details`` tag with value ``val``.
:param MemberSuggestionsChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('member_suggestions_change_policy_details', val)
@classmethod
def microsoft_office_addin_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``microsoft_office_addin_change_policy_details`` tag with value ``val``.
:param MicrosoftOfficeAddinChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('microsoft_office_addin_change_policy_details', val)
@classmethod
def network_control_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``network_control_change_policy_details`` tag with value ``val``.
:param NetworkControlChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('network_control_change_policy_details', val)
@classmethod
def paper_change_deployment_policy_details(cls, val):
"""
Create an instance of this class set to the
``paper_change_deployment_policy_details`` tag with value ``val``.
:param PaperChangeDeploymentPolicyDetails val:
:rtype: EventDetails
"""
return cls('paper_change_deployment_policy_details', val)
@classmethod
def paper_change_member_link_policy_details(cls, val):
"""
Create an instance of this class set to the
``paper_change_member_link_policy_details`` tag with value ``val``.
:param PaperChangeMemberLinkPolicyDetails val:
:rtype: EventDetails
"""
return cls('paper_change_member_link_policy_details', val)
@classmethod
def paper_change_member_policy_details(cls, val):
"""
Create an instance of this class set to the
``paper_change_member_policy_details`` tag with value ``val``.
:param PaperChangeMemberPolicyDetails val:
:rtype: EventDetails
"""
return cls('paper_change_member_policy_details', val)
@classmethod
def paper_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``paper_change_policy_details`` tag with value ``val``.
:param PaperChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('paper_change_policy_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``permanent_delete_change_policy_details`` tag with value ``val``.
:param PermanentDeleteChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('permanent_delete_change_policy_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``sharing_change_folder_join_policy_details`` tag with value ``val``.
:param SharingChangeFolderJoinPolicyDetails val:
:rtype: EventDetails
"""
return cls('sharing_change_folder_join_policy_details', val)
@classmethod
def sharing_change_link_policy_details(cls, val):
"""
Create an instance of this class set to the
``sharing_change_link_policy_details`` tag with value ``val``.
:param SharingChangeLinkPolicyDetails val:
:rtype: EventDetails
"""
return cls('sharing_change_link_policy_details', val)
@classmethod
def sharing_change_member_policy_details(cls, val):
"""
Create an instance of this class set to the
``sharing_change_member_policy_details`` tag with value ``val``.
:param SharingChangeMemberPolicyDetails val:
:rtype: EventDetails
"""
return cls('sharing_change_member_policy_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``smart_sync_change_policy_details`` tag with value ``val``.
:param SmartSyncChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('smart_sync_change_policy_details', val)
@classmethod
def smart_sync_not_opt_out_details(cls, val):
"""
Create an instance of this class set to the
``smart_sync_not_opt_out_details`` tag with value ``val``.
:param SmartSyncNotOptOutDetails val:
:rtype: EventDetails
"""
return cls('smart_sync_not_opt_out_details', val)
@classmethod
def smart_sync_opt_out_details(cls, val):
"""
Create an instance of this class set to the
``smart_sync_opt_out_details`` tag with value ``val``.
:param SmartSyncOptOutDetails val:
:rtype: EventDetails
"""
return cls('smart_sync_opt_out_details', val)
@classmethod
def sso_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``sso_change_policy_details`` tag with value ``val``.
:param SsoChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('sso_change_policy_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``tfa_change_policy_details`` tag with value ``val``.
:param TfaChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('tfa_change_policy_details', val)
@classmethod
def two_account_change_policy_details(cls, val):
"""
Create an instance of this class set to the
``two_account_change_policy_details`` tag with value ``val``.
:param TwoAccountChangePolicyDetails val:
:rtype: EventDetails
"""
return cls('two_account_change_policy_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the
``web_sessions_change_fixed_length_policy_details`` tag with value
``val``.
:param WebSessionsChangeFixedLengthPolicyDetails val:
:rtype: EventDetails
"""
return cls('web_sessions_change_fixed_length_policy_details', val)
@classmethod
def web_sessions_change_idle_length_policy_details(cls, val):
"""
Create an instance of this class set to the
``web_sessions_change_idle_length_policy_details`` tag with value
``val``.
:param WebSessionsChangeIdleLengthPolicyDetails val:
:rtype: EventDetails
"""
return cls('web_sessions_change_idle_length_policy_details', val)
@classmethod
def team_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):
"""
Create an instance of this class set to the
``team_profile_add_logo_details`` tag with value ``val``.
:param TeamProfileAddLogoDetails val:
:rtype: EventDetails
"""
return cls('team_profile_add_logo_details', val)
@classmethod
def team_profile_change_default_language_details(cls, val):
"""
Create an instance of this class set to the
``team_profile_change_default_language_details`` tag with value ``val``.
:param TeamProfileChangeDefaultLanguageDetails val:
:rtype: EventDetails
"""
return cls('team_profile_change_default_language_details', val)
@classmethod
def team_profile_change_logo_details(cls, val):
"""
Create an instance of this class set to the
``team_profile_change_logo_details`` tag with value ``val``.
:param TeamProfileChangeLogoDetails val:
:rtype: EventDetails
"""
return cls('team_profile_change_logo_details', val)
@classmethod
def team_profile_change_name_details(cls, val):
"""
Create an instance of this class set to the
``team_profile_change_name_details`` tag with value ``val``.
:param TeamProfileChangeNameDetails val:
:rtype: EventDetails
"""
return cls('team_profile_change_name_details', val)
@classmethod
def team_profile_remove_logo_details(cls, val):
"""
Create an instance of this class set to the
``team_profile_remove_logo_details`` tag with value ``val``.
:param TeamProfileRemoveLogoDetails val:
:rtype: EventDetails
"""
return cls('team_profile_remove_logo_details', val)
@classmethod
def tfa_add_backup_phone_details(cls, val):
"""
Create an instance of this class set to the
``tfa_add_backup_phone_details`` tag with value ``val``.
:param TfaAddBackupPhoneDetails val:
:rtype: EventDetails
"""
return cls('tfa_add_backup_phone_details', val)
@classmethod
def tfa_add_security_key_details(cls, val):
"""
Create an instance of this class set to the
``tfa_add_security_key_details`` tag with value ``val``.
:param TfaAddSecurityKeyDetails val:
:rtype: EventDetails
"""
return cls('tfa_add_security_key_details', val)
@classmethod
def tfa_change_backup_phone_details(cls, val):
"""
Create an instance of this class set to the
``tfa_change_backup_phone_details`` tag with value ``val``.
:param TfaChangeBackupPhoneDetails val:
:rtype: EventDetails
"""
return cls('tfa_change_backup_phone_details', val)
@classmethod
def tfa_change_status_details(cls, val):
"""
Create an instance of this class set to the
``tfa_change_status_details`` tag with value ``val``.
:param TfaChangeStatusDetails val:
:rtype: EventDetails
"""
return cls('tfa_change_status_details', val)
@classmethod
def tfa_remove_backup_phone_details(cls, val):
"""
Create an instance of this class set to the
``tfa_remove_backup_phone_details`` tag with value ``val``.
:param TfaRemoveBackupPhoneDetails val:
:rtype: EventDetails
"""
return cls('tfa_remove_backup_phone_details', val)
@classmethod
def tfa_remove_security_key_details(cls, val):
"""
Create an instance of this class set to the
``tfa_remove_security_key_details`` tag with value ``val``.
:param TfaRemoveSecurityKeyDetails val:
:rtype: EventDetails
"""
return cls('tfa_remove_security_key_details', val)
@classmethod
def tfa_reset_details(cls, val):
"""
Create an instance of this class set to the ``tfa_reset_details`` tag
with value ``val``.
:param TfaResetDetails val:
:rtype: EventDetails
"""
return cls('tfa_reset_details', val)
@classmethod
def 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):
"""
Create an instance of this class set to the ``missing_details`` tag with
value ``val``.
:param MissingDetails val:
:rtype: EventDetails
"""
return cls('missing_details', val)
def is_app_link_team_details(self):
"""
Check if the union tag is ``app_link_team_details``.
:rtype: bool
"""
return self._tag == 'app_link_team_details'
def is_app_link_user_details(self):
"""
Check if the union tag is ``app_link_user_details``.
:rtype: bool
"""
return self._tag == 'app_link_user_details'
def is_app_unlink_team_details(self):
"""
Check if the union tag is ``app_unlink_team_details``.
:rtype: bool
"""
return self._tag == 'app_unlink_team_details'
def is_app_unlink_user_details(self):
"""
Check if the union tag is ``app_unlink_user_details``.
:rtype: bool
"""
return self._tag == 'app_unlink_user_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'file_add_comment_details'
def is_file_change_comment_subscription_details(self):
"""
Check if the union tag is ``file_change_comment_subscription_details``.
:rtype: bool
"""
return self._tag == 'file_change_comment_subscription_details'
def is_file_delete_comment_details(self):
"""
Check if the union tag is ``file_delete_comment_details``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'file_like_comment_details'
def is_file_resolve_comment_details(self):
"""
Check if the union tag is ``file_resolve_comment_details``.
:rtype: bool
"""
return self._tag == 'file_resolve_comment_details'
def is_file_unlike_comment_details(self):
"""
Check if the union tag is ``file_unlike_comment_details``.
:rtype: bool
"""
return self._tag == 'file_unlike_comment_details'
def is_file_unresolve_comment_details(self):
"""
Check if the union tag is ``file_unresolve_comment_details``.
:rtype: bool
"""
return self._tag == 'file_unresolve_comment_details'
def is_device_change_ip_desktop_details(self):
"""
Check if the union tag is ``device_change_ip_desktop_details``.
:rtype: bool
"""
return self._tag == 'device_change_ip_desktop_details'
def is_device_change_ip_mobile_details(self):
"""
Check if the union tag is ``device_change_ip_mobile_details``.
:rtype: bool
"""
return self._tag == 'device_change_ip_mobile_details'
def is_device_change_ip_web_details(self):
"""
Check if the union tag is ``device_change_ip_web_details``.
:rtype: bool
"""
return self._tag == 'device_change_ip_web_details'
def is_device_delete_on_unlink_fail_details(self):
"""
Check if the union tag is ``device_delete_on_unlink_fail_details``.
:rtype: bool
"""
return self._tag == 'device_delete_on_unlink_fail_details'
def is_device_delete_on_unlink_success_details(self):
"""
Check if the union tag is ``device_delete_on_unlink_success_details``.
:rtype: bool
"""
return self._tag == 'device_delete_on_unlink_success_details'
def is_device_link_fail_details(self):
"""
Check if the union tag is ``device_link_fail_details``.
:rtype: bool
"""
return self._tag == 'device_link_fail_details'
def is_device_link_success_details(self):
"""
Check if the union tag is ``device_link_success_details``.
:rtype: bool
"""
return self._tag == 'device_link_success_details'
def is_device_management_disabled_details(self):
"""
Check if the union tag is ``device_management_disabled_details``.
:rtype: bool
"""
return self._tag == 'device_management_disabled_details'
def is_device_management_enabled_details(self):
"""
Check if the union tag is ``device_management_enabled_details``.
:rtype: bool
"""
return self._tag == 'device_management_enabled_details'
def is_device_unlink_details(self):
"""
Check if the union tag is ``device_unlink_details``.
:rtype: bool
"""
return self._tag == 'device_unlink_details'
def is_emm_refresh_auth_token_details(self):
"""
Check if the union tag is ``emm_refresh_auth_token_details``.
:rtype: bool
"""
return self._tag == 'emm_refresh_auth_token_details'
def is_account_capture_change_availability_details(self):
"""
Check if the union tag is ``account_capture_change_availability_details``.
:rtype: bool
"""
return self._tag == 'account_capture_change_availability_details'
def is_account_capture_migrate_account_details(self):
"""
Check if the union tag is ``account_capture_migrate_account_details``.
:rtype: bool
"""
return self._tag == 'account_capture_migrate_account_details'
def is_account_capture_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``.
:rtype: bool
"""
return self._tag == 'account_capture_relinquish_account_details'
def is_disabled_domain_invites_details(self):
"""
Check if the union tag is ``disabled_domain_invites_details``.
:rtype: bool
"""
return self._tag == 'disabled_domain_invites_details'
def is_domain_invites_approve_request_to_join_team_details(self):
"""
Check if the union tag is ``domain_invites_approve_request_to_join_team_details``.
:rtype: bool
"""
return self._tag == 'domain_invites_approve_request_to_join_team_details'
def is_domain_invites_decline_request_to_join_team_details(self):
"""
Check if the union tag is ``domain_invites_decline_request_to_join_team_details``.
:rtype: bool
"""
return self._tag == 'domain_invites_decline_request_to_join_team_details'
def is_domain_invites_email_existing_users_details(self):
"""
Check if the union tag is ``domain_invites_email_existing_users_details``.
:rtype: bool
"""
return self._tag == 'domain_invites_email_existing_users_details'
def is_domain_invites_request_to_join_team_details(self):
"""
Check if the union tag is ``domain_invites_request_to_join_team_details``.
:rtype: bool
"""
return self._tag == 'domain_invites_request_to_join_team_details'
def is_domain_invites_set_invite_new_user_pref_to_no_details(self):
"""
Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_no_details``.
:rtype: bool
"""
return self._tag == 'domain_invites_set_invite_new_user_pref_to_no_details'
def is_domain_invites_set_invite_new_user_pref_to_yes_details(self):
"""
Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_yes_details``.
:rtype: bool
"""
return self._tag == 'domain_invites_set_invite_new_user_pref_to_yes_details'
def is_domain_verification_add_domain_fail_details(self):
"""
Check if the union tag is ``domain_verification_add_domain_fail_details``.
:rtype: bool
"""
return self._tag == 'domain_verification_add_domain_fail_details'
def is_domain_verification_add_domain_success_details(self):
"""
Check if the union tag is ``domain_verification_add_domain_success_details``.
:rtype: bool
"""
return self._tag == 'domain_verification_add_domain_success_details'
def is_domain_verification_remove_domain_details(self):
"""
Check if the union tag is ``domain_verification_remove_domain_details``.
:rtype: bool
"""
return self._tag == 'domain_verification_remove_domain_details'
def is_enabled_domain_invites_details(self):
"""
Check if the union tag is ``enabled_domain_invites_details``.
:rtype: bool
"""
return self._tag == 'enabled_domain_invites_details'
def is_create_folder_details(self):
"""
Check if the union tag is ``create_folder_details``.
:rtype: bool
"""
return self._tag == 'create_folder_details'
def is_file_add_details(self):
"""
Check if the union tag is ``file_add_details``.
:rtype: bool
"""
return self._tag == 'file_add_details'
def is_file_copy_details(self):
"""
Check if the union tag is ``file_copy_details``.
:rtype: bool
"""
return self._tag == 'file_copy_details'
def is_file_delete_details(self):
"""
Check if the union tag is ``file_delete_details``.
:rtype: bool
"""
return self._tag == 'file_delete_details'
def is_file_download_details(self):
"""
Check if the union tag is ``file_download_details``.
:rtype: bool
"""
return self._tag == 'file_download_details'
def is_file_edit_details(self):
"""
Check if the union tag is ``file_edit_details``.
:rtype: bool
"""
return self._tag == 'file_edit_details'
def is_file_get_copy_reference_details(self):
"""
Check if the union tag is ``file_get_copy_reference_details``.
:rtype: bool
"""
return self._tag == 'file_get_copy_reference_details'
def is_file_move_details(self):
"""
Check if the union tag is ``file_move_details``.
:rtype: bool
"""
return self._tag == 'file_move_details'
def is_file_permanently_delete_details(self):
"""
Check if the union tag is ``file_permanently_delete_details``.
:rtype: bool
"""
return self._tag == 'file_permanently_delete_details'
def is_file_preview_details(self):
"""
Check if the union tag is ``file_preview_details``.
:rtype: bool
"""
return self._tag == 'file_preview_details'
def is_file_rename_details(self):
"""
Check if the union tag is ``file_rename_details``.
:rtype: bool
"""
return self._tag == 'file_rename_details'
def is_file_restore_details(self):
"""
Check if the union tag is ``file_restore_details``.
:rtype: bool
"""
return self._tag == 'file_restore_details'
def is_file_revert_details(self):
"""
Check if the union tag is ``file_revert_details``.
:rtype: bool
"""
return self._tag == 'file_revert_details'
def is_file_rollback_changes_details(self):
"""
Check if the union tag is ``file_rollback_changes_details``.
:rtype: bool
"""
return self._tag == 'file_rollback_changes_details'
def is_file_save_copy_reference_details(self):
"""
Check if the union tag is ``file_save_copy_reference_details``.
:rtype: bool
"""
return self._tag == 'file_save_copy_reference_details'
def is_file_request_change_details(self):
"""
Check if the union tag is ``file_request_change_details``.
:rtype: bool
"""
return self._tag == 'file_request_change_details'
def is_file_request_close_details(self):
"""
Check if the union tag is ``file_request_close_details``.
:rtype: bool
"""
return self._tag == 'file_request_close_details'
def is_file_request_create_details(self):
"""
Check if the union tag is ``file_request_create_details``.
:rtype: bool
"""
return self._tag == 'file_request_create_details'
def is_file_request_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``.
:rtype: bool
"""
return self._tag == 'file_request_receive_file_details'
def is_group_add_external_id_details(self):
"""
Check if the union tag is ``group_add_external_id_details``.
:rtype: bool
"""
return self._tag == 'group_add_external_id_details'
def is_group_add_member_details(self):
"""
Check if the union tag is ``group_add_member_details``.
:rtype: bool
"""
return self._tag == 'group_add_member_details'
def is_group_change_external_id_details(self):
"""
Check if the union tag is ``group_change_external_id_details``.
:rtype: bool
"""
return self._tag == 'group_change_external_id_details'
def is_group_change_management_type_details(self):
"""
Check if the union tag is ``group_change_management_type_details``.
:rtype: bool
"""
return self._tag == 'group_change_management_type_details'
def is_group_change_member_role_details(self):
"""
Check if the union tag is ``group_change_member_role_details``.
:rtype: bool
"""
return self._tag == 'group_change_member_role_details'
def is_group_create_details(self):
"""
Check if the union tag is ``group_create_details``.
:rtype: bool
"""
return self._tag == 'group_create_details'
def is_group_delete_details(self):
"""
Check if the union tag is ``group_delete_details``.
:rtype: bool
"""
return self._tag == 'group_delete_details'
def is_group_description_updated_details(self):
"""
Check if the union tag is ``group_description_updated_details``.
:rtype: bool
"""
return self._tag == 'group_description_updated_details'
def is_group_join_policy_updated_details(self):
"""
Check if the union tag is ``group_join_policy_updated_details``.
:rtype: bool
"""
return self._tag == 'group_join_policy_updated_details'
def is_group_moved_details(self):
"""
Check if the union tag is ``group_moved_details``.
:rtype: bool
"""
return self._tag == 'group_moved_details'
def is_group_remove_external_id_details(self):
"""
Check if the union tag is ``group_remove_external_id_details``.
:rtype: bool
"""
return self._tag == 'group_remove_external_id_details'
def is_group_remove_member_details(self):
"""
Check if the union tag is ``group_remove_member_details``.
:rtype: bool
"""
return self._tag == 'group_remove_member_details'
def is_group_rename_details(self):
"""
Check if the union tag is ``group_rename_details``.
:rtype: bool
"""
return self._tag == 'group_rename_details'
def is_emm_error_details(self):
"""
Check if the union tag is ``emm_error_details``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``logout_details``.
:rtype: bool
"""
return self._tag == 'logout_details'
def is_reseller_support_session_end_details(self):
"""
Check if the union tag is ``reseller_support_session_end_details``.
:rtype: bool
"""
return self._tag == 'reseller_support_session_end_details'
def is_reseller_support_session_start_details(self):
"""
Check if the union tag is ``reseller_support_session_start_details``.
:rtype: bool
"""
return self._tag == 'reseller_support_session_start_details'
def is_sign_in_as_session_end_details(self):
"""
Check if the union tag is ``sign_in_as_session_end_details``.
:rtype: bool
"""
return self._tag == 'sign_in_as_session_end_details'
def is_sign_in_as_session_start_details(self):
"""
Check if the union tag is ``sign_in_as_session_start_details``.
:rtype: bool
"""
return self._tag == 'sign_in_as_session_start_details'
def is_sso_error_details(self):
"""
Check if the union tag is ``sso_error_details``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``member_add_name_details``.
:rtype: bool
"""
return self._tag == 'member_add_name_details'
def is_member_change_admin_role_details(self):
"""
Check if the union tag is ``member_change_admin_role_details``.
:rtype: bool
"""
return self._tag == 'member_change_admin_role_details'
def is_member_change_email_details(self):
"""
Check if the union tag is ``member_change_email_details``.
:rtype: bool
"""
return self._tag == 'member_change_email_details'
def is_member_change_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``.
:rtype: bool
"""
return self._tag == 'member_change_name_details'
def is_member_change_status_details(self):
"""
Check if the union tag is ``member_change_status_details``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'paper_content_add_member_details'
def is_paper_content_add_to_folder_details(self):
"""
Check if the union tag is ``paper_content_add_to_folder_details``.
:rtype: bool
"""
return self._tag == 'paper_content_add_to_folder_details'
def is_paper_content_archive_details(self):
"""
Check if the union tag is ``paper_content_archive_details``.
:rtype: bool
"""
return self._tag == 'paper_content_archive_details'
def is_paper_content_create_details(self):
"""
Check if the union tag is ``paper_content_create_details``.
:rtype: bool
"""
return self._tag == 'paper_content_create_details'
def is_paper_content_permanently_delete_details(self):
"""
Check if the union tag is ``paper_content_permanently_delete_details``.
:rtype: bool
"""
return self._tag == 'paper_content_permanently_delete_details'
def is_paper_content_remove_from_folder_details(self):
"""
Check if the union tag is ``paper_content_remove_from_folder_details``.
:rtype: bool
"""
return self._tag == 'paper_content_remove_from_folder_details'
def is_paper_content_remove_member_details(self):
"""
Check if the union tag is ``paper_content_remove_member_details``.
:rtype: bool
"""
return self._tag == 'paper_content_remove_member_details'
def is_paper_content_rename_details(self):
"""
Check if the union tag is ``paper_content_rename_details``.
:rtype: bool
"""
return self._tag == 'paper_content_rename_details'
def is_paper_content_restore_details(self):
"""
Check if the union tag is ``paper_content_restore_details``.
:rtype: bool
"""
return self._tag == 'paper_content_restore_details'
def is_paper_doc_add_comment_details(self):
"""
Check if the union tag is ``paper_doc_add_comment_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_add_comment_details'
def is_paper_doc_change_member_role_details(self):
"""
Check if the union tag is ``paper_doc_change_member_role_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_change_member_role_details'
def is_paper_doc_change_sharing_policy_details(self):
"""
Check if the union tag is ``paper_doc_change_sharing_policy_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_change_sharing_policy_details'
def is_paper_doc_change_subscription_details(self):
"""
Check if the union tag is ``paper_doc_change_subscription_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_change_subscription_details'
def is_paper_doc_deleted_details(self):
"""
Check if the union tag is ``paper_doc_deleted_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_deleted_details'
def is_paper_doc_delete_comment_details(self):
"""
Check if the union tag is ``paper_doc_delete_comment_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_delete_comment_details'
def is_paper_doc_download_details(self):
"""
Check if the union tag is ``paper_doc_download_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_download_details'
def is_paper_doc_edit_details(self):
"""
Check if the union tag is ``paper_doc_edit_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_edit_details'
def is_paper_doc_edit_comment_details(self):
"""
Check if the union tag is ``paper_doc_edit_comment_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_edit_comment_details'
def is_paper_doc_followed_details(self):
"""
Check if the union tag is ``paper_doc_followed_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_followed_details'
def is_paper_doc_mention_details(self):
"""
Check if the union tag is ``paper_doc_mention_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_mention_details'
def is_paper_doc_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``.
:rtype: bool
"""
return self._tag == 'paper_doc_request_access_details'
def is_paper_doc_resolve_comment_details(self):
"""
Check if the union tag is ``paper_doc_resolve_comment_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_resolve_comment_details'
def is_paper_doc_revert_details(self):
"""
Check if the union tag is ``paper_doc_revert_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_revert_details'
def is_paper_doc_slack_share_details(self):
"""
Check if the union tag is ``paper_doc_slack_share_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_slack_share_details'
def is_paper_doc_team_invite_details(self):
"""
Check if the union tag is ``paper_doc_team_invite_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_team_invite_details'
def is_paper_doc_trashed_details(self):
"""
Check if the union tag is ``paper_doc_trashed_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_trashed_details'
def is_paper_doc_unresolve_comment_details(self):
"""
Check if the union tag is ``paper_doc_unresolve_comment_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_unresolve_comment_details'
def is_paper_doc_untrashed_details(self):
"""
Check if the union tag is ``paper_doc_untrashed_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_untrashed_details'
def is_paper_doc_view_details(self):
"""
Check if the union tag is ``paper_doc_view_details``.
:rtype: bool
"""
return self._tag == 'paper_doc_view_details'
def is_paper_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``.
:rtype: bool
"""
return self._tag == 'paper_folder_change_subscription_details'
def is_paper_folder_deleted_details(self):
"""
Check if the union tag is ``paper_folder_deleted_details``.
:rtype: bool
"""
return self._tag == 'paper_folder_deleted_details'
def is_paper_folder_followed_details(self):
"""
Check if the union tag is ``paper_folder_followed_details``.
:rtype: bool
"""
return self._tag == 'paper_folder_followed_details'
def is_paper_folder_team_invite_details(self):
"""
Check if the union tag is ``paper_folder_team_invite_details``.
:rtype: bool
"""
return self._tag == 'paper_folder_team_invite_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'password_change_details'
def is_password_reset_details(self):
"""
Check if the union tag is ``password_reset_details``.
:rtype: bool
"""
return self._tag == 'password_reset_details'
def is_password_reset_all_details(self):
"""
Check if the union tag is ``password_reset_all_details``.
:rtype: bool
"""
return self._tag == 'password_reset_all_details'
def is_emm_create_exceptions_report_details(self):
"""
Check if the union tag is ``emm_create_exceptions_report_details``.
:rtype: bool
"""
return self._tag == 'emm_create_exceptions_report_details'
def is_emm_create_usage_report_details(self):
"""
Check if the union tag is ``emm_create_usage_report_details``.
:rtype: bool
"""
return self._tag == 'emm_create_usage_report_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'smart_sync_create_admin_privilege_report_details'
def is_team_activity_create_report_details(self):
"""
Check if the union tag is ``team_activity_create_report_details``.
:rtype: bool
"""
return self._tag == 'team_activity_create_report_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'collection_share_details'
def is_note_acl_invite_only_details(self):
"""
Check if the union tag is ``note_acl_invite_only_details``.
:rtype: bool
"""
return self._tag == 'note_acl_invite_only_details'
def is_note_acl_link_details(self):
"""
Check if the union tag is ``note_acl_link_details``.
:rtype: bool
"""
return self._tag == 'note_acl_link_details'
def is_note_acl_team_link_details(self):
"""
Check if the union tag is ``note_acl_team_link_details``.
:rtype: bool
"""
return self._tag == 'note_acl_team_link_details'
def is_note_shared_details(self):
"""
Check if the union tag is ``note_shared_details``.
:rtype: bool
"""
return self._tag == 'note_shared_details'
def is_note_share_receive_details(self):
"""
Check if the union tag is ``note_share_receive_details``.
:rtype: bool
"""
return self._tag == 'note_share_receive_details'
def is_open_note_shared_details(self):
"""
Check if the union tag is ``open_note_shared_details``.
:rtype: bool
"""
return self._tag == 'open_note_shared_details'
def is_sf_add_group_details(self):
"""
Check if the union tag is ``sf_add_group_details``.
:rtype: bool
"""
return self._tag == 'sf_add_group_details'
def is_sf_allow_non_members_to_view_shared_links_details(self):
"""
Check if the union tag is ``sf_allow_non_members_to_view_shared_links_details``.
:rtype: bool
"""
return self._tag == 'sf_allow_non_members_to_view_shared_links_details'
def is_sf_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``.
:rtype: bool
"""
return self._tag == 'sf_invite_group_details'
def is_sf_team_grant_access_details(self):
"""
Check if the union tag is ``sf_team_grant_access_details``.
:rtype: bool
"""
return self._tag == 'sf_team_grant_access_details'
def is_sf_team_invite_details(self):
"""
Check if the union tag is ``sf_team_invite_details``.
:rtype: bool
"""
return self._tag == 'sf_team_invite_details'
def is_sf_team_invite_change_role_details(self):
"""
Check if the union tag is ``sf_team_invite_change_role_details``.
:rtype: bool
"""
return self._tag == 'sf_team_invite_change_role_details'
def is_sf_team_join_details(self):
"""
Check if the union tag is ``sf_team_join_details``.
:rtype: bool
"""
return self._tag == 'sf_team_join_details'
def is_sf_team_join_from_oob_link_details(self):
"""
Check if the union tag is ``sf_team_join_from_oob_link_details``.
:rtype: bool
"""
return self._tag == 'sf_team_join_from_oob_link_details'
def is_sf_team_uninvite_details(self):
"""
Check if the union tag is ``sf_team_uninvite_details``.
:rtype: bool
"""
return self._tag == 'sf_team_uninvite_details'
def is_shared_content_add_invitees_details(self):
"""
Check if the union tag is ``shared_content_add_invitees_details``.
:rtype: bool
"""
return self._tag == 'shared_content_add_invitees_details'
def is_shared_content_add_link_expiry_details(self):
"""
Check if the union tag is ``shared_content_add_link_expiry_details``.
:rtype: bool
"""
return self._tag == 'shared_content_add_link_expiry_details'
def is_shared_content_add_link_password_details(self):
"""
Check if the union tag is ``shared_content_add_link_password_details``.
:rtype: bool
"""
return self._tag == 'shared_content_add_link_password_details'
def is_shared_content_add_member_details(self):
"""
Check if the union tag is ``shared_content_add_member_details``.
:rtype: bool
"""
return self._tag == 'shared_content_add_member_details'
def is_shared_content_change_downloads_policy_details(self):
"""
Check if the union tag is ``shared_content_change_downloads_policy_details``.
:rtype: bool
"""
return self._tag == 'shared_content_change_downloads_policy_details'
def is_shared_content_change_invitee_role_details(self):
"""
Check if the union tag is ``shared_content_change_invitee_role_details``.
:rtype: bool
"""
return self._tag == 'shared_content_change_invitee_role_details'
def is_shared_content_change_link_audience_details(self):
"""
Check if the union tag is ``shared_content_change_link_audience_details``.
:rtype: bool
"""
return self._tag == 'shared_content_change_link_audience_details'
def is_shared_content_change_link_expiry_details(self):
"""
Check if the union tag is ``shared_content_change_link_expiry_details``.
:rtype: bool
"""
return self._tag == 'shared_content_change_link_expiry_details'
def is_shared_content_change_link_password_details(self):
"""
Check if the union tag is ``shared_content_change_link_password_details``.
:rtype: bool
"""
return self._tag == 'shared_content_change_link_password_details'
def is_shared_content_change_member_role_details(self):
"""
Check if the union tag is ``shared_content_change_member_role_details``.
:rtype: bool
"""
return self._tag == 'shared_content_change_member_role_details'
def is_shared_content_change_viewer_info_policy_details(self):
"""
Check if the union tag is ``shared_content_change_viewer_info_policy_details``.
:rtype: bool
"""
return self._tag == 'shared_content_change_viewer_info_policy_details'
def is_shared_content_claim_invitation_details(self):
"""
Check if the union tag is ``shared_content_claim_invitation_details``.
:rtype: bool
"""
return self._tag == 'shared_content_claim_invitation_details'
def is_shared_content_copy_details(self):
"""
Check if the union tag is ``shared_content_copy_details``.
:rtype: bool
"""
return self._tag == 'shared_content_copy_details'
def is_shared_content_download_details(self):
"""
Check if the union tag is ``shared_content_download_details``.
:rtype: bool
"""
return self._tag == 'shared_content_download_details'
def is_shared_content_relinquish_membership_details(self):
"""
Check if the union tag is ``shared_content_relinquish_membership_details``.
:rtype: bool
"""
return self._tag == 'shared_content_relinquish_membership_details'
def is_shared_content_remove_invitees_details(self):
"""
Check if the union tag is ``shared_content_remove_invitees_details``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_invitees_details'
def is_shared_content_remove_link_expiry_details(self):
"""
Check if the union tag is ``shared_content_remove_link_expiry_details``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_link_expiry_details'
def is_shared_content_remove_link_password_details(self):
"""
Check if the union tag is ``shared_content_remove_link_password_details``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_link_password_details'
def is_shared_content_remove_member_details(self):
"""
Check if the union tag is ``shared_content_remove_member_details``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_member_details'
def is_shared_content_request_access_details(self):
"""
Check if the union tag is ``shared_content_request_access_details``.
:rtype: bool
"""
return self._tag == 'shared_content_request_access_details'
def is_shared_content_unshare_details(self):
"""
Check if the union tag is ``shared_content_unshare_details``.
:rtype: bool
"""
return self._tag == 'shared_content_unshare_details'
def is_shared_content_view_details(self):
"""
Check if the union tag is ``shared_content_view_details``.
:rtype: bool
"""
return self._tag == 'shared_content_view_details'
def is_shared_folder_change_link_policy_details(self):
"""
Check if the union tag is ``shared_folder_change_link_policy_details``.
:rtype: bool
"""
return self._tag == 'shared_folder_change_link_policy_details'
def is_shared_folder_change_members_inheritance_policy_details(self):
"""
Check if the union tag is ``shared_folder_change_members_inheritance_policy_details``.
:rtype: bool
"""
return self._tag == 'shared_folder_change_members_inheritance_policy_details'
def is_shared_folder_change_members_management_policy_details(self):
"""
Check if the union tag is ``shared_folder_change_members_management_policy_details``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``shared_folder_create_details``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'shared_folder_transfer_ownership_details'
def is_shared_folder_unmount_details(self):
"""
Check if the union tag is ``shared_folder_unmount_details``.
:rtype: bool
"""
return self._tag == 'shared_folder_unmount_details'
def is_shared_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``.
:rtype: bool
"""
return self._tag == 'shared_note_opened_details'
def is_shmodel_group_share_details(self):
"""
Check if the union tag is ``shmodel_group_share_details``.
:rtype: bool
"""
return self._tag == 'shmodel_group_share_details'
def is_showcase_access_granted_details(self):
"""
Check if the union tag is ``showcase_access_granted_details``.
:rtype: bool
"""
return self._tag == 'showcase_access_granted_details'
def is_showcase_add_member_details(self):
"""
Check if the union tag is ``showcase_add_member_details``.
:rtype: bool
"""
return self._tag == 'showcase_add_member_details'
def is_showcase_archived_details(self):
"""
Check if the union tag is ``showcase_archived_details``.
:rtype: bool
"""
return self._tag == 'showcase_archived_details'
def is_showcase_created_details(self):
"""
Check if the union tag is ``showcase_created_details``.
:rtype: bool
"""
return self._tag == 'showcase_created_details'
def is_showcase_delete_comment_details(self):
"""
Check if the union tag is ``showcase_delete_comment_details``.
:rtype: bool
"""
return self._tag == 'showcase_delete_comment_details'
def is_showcase_edited_details(self):
"""
Check if the union tag is ``showcase_edited_details``.
:rtype: bool
"""
return self._tag == 'showcase_edited_details'
def is_showcase_edit_comment_details(self):
"""
Check if the union tag is ``showcase_edit_comment_details``.
:rtype: bool
"""
return self._tag == 'showcase_edit_comment_details'
def is_showcase_file_added_details(self):
"""
Check if the union tag is ``showcase_file_added_details``.
:rtype: bool
"""
return self._tag == 'showcase_file_added_details'
def is_showcase_file_download_details(self):
"""
Check if the union tag is ``showcase_file_download_details``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``sso_add_cert_details``.
:rtype: bool
"""
return self._tag == 'sso_add_cert_details'
def is_sso_add_login_url_details(self):
"""
Check if the union tag is ``sso_add_login_url_details``.
:rtype: bool
"""
return self._tag == 'sso_add_login_url_details'
def is_sso_add_logout_url_details(self):
"""
Check if the union tag is ``sso_add_logout_url_details``.
:rtype: bool
"""
return self._tag == 'sso_add_logout_url_details'
def is_sso_change_cert_details(self):
"""
Check if the union tag is ``sso_change_cert_details``.
:rtype: bool
"""
return self._tag == 'sso_change_cert_details'
def is_sso_change_login_url_details(self):
"""
Check if the union tag is ``sso_change_login_url_details``.
:rtype: bool
"""
return self._tag == 'sso_change_login_url_details'
def is_sso_change_logout_url_details(self):
"""
Check if the union tag is ``sso_change_logout_url_details``.
:rtype: bool
"""
return self._tag == 'sso_change_logout_url_details'
def is_sso_change_saml_identity_mode_details(self):
"""
Check if the union tag is ``sso_change_saml_identity_mode_details``.
:rtype: bool
"""
return self._tag == 'sso_change_saml_identity_mode_details'
def is_sso_remove_cert_details(self):
"""
Check if the union tag is ``sso_remove_cert_details``.
:rtype: bool
"""
return self._tag == 'sso_remove_cert_details'
def is_sso_remove_login_url_details(self):
"""
Check if the union tag is ``sso_remove_login_url_details``.
:rtype: bool
"""
return self._tag == 'sso_remove_login_url_details'
def is_sso_remove_logout_url_details(self):
"""
Check if the union tag is ``sso_remove_logout_url_details``.
:rtype: bool
"""
return self._tag == 'sso_remove_logout_url_details'
def is_team_folder_change_status_details(self):
"""
Check if the union tag is ``team_folder_change_status_details``.
:rtype: bool
"""
return self._tag == 'team_folder_change_status_details'
def is_team_folder_create_details(self):
"""
Check if the union tag is ``team_folder_create_details``.
:rtype: bool
"""
return self._tag == 'team_folder_create_details'
def is_team_folder_downgrade_details(self):
"""
Check if the union tag is ``team_folder_downgrade_details``.
:rtype: bool
"""
return self._tag == 'team_folder_downgrade_details'
def is_team_folder_permanently_delete_details(self):
"""
Check if the union tag is ``team_folder_permanently_delete_details``.
:rtype: bool
"""
return self._tag == 'team_folder_permanently_delete_details'
def is_team_folder_rename_details(self):
"""
Check if the union tag is ``team_folder_rename_details``.
:rtype: bool
"""
return self._tag == 'team_folder_rename_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'account_capture_change_policy_details'
def is_allow_download_disabled_details(self):
"""
Check if the union tag is ``allow_download_disabled_details``.
:rtype: bool
"""
return self._tag == 'allow_download_disabled_details'
def is_allow_download_enabled_details(self):
"""
Check if the union tag is ``allow_download_enabled_details``.
:rtype: bool
"""
return self._tag == 'allow_download_enabled_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'data_placement_restriction_change_policy_details'
def is_data_placement_restriction_satisfy_policy_details(self):
"""
Check if the union tag is ``data_placement_restriction_satisfy_policy_details``.
:rtype: bool
"""
return self._tag == 'data_placement_restriction_satisfy_policy_details'
def is_device_approvals_change_desktop_policy_details(self):
"""
Check if the union tag is ``device_approvals_change_desktop_policy_details``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_desktop_policy_details'
def is_device_approvals_change_mobile_policy_details(self):
"""
Check if the union tag is ``device_approvals_change_mobile_policy_details``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_mobile_policy_details'
def is_device_approvals_change_overage_action_details(self):
"""
Check if the union tag is ``device_approvals_change_overage_action_details``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_overage_action_details'
def is_device_approvals_change_unlink_action_details(self):
"""
Check if the union tag is ``device_approvals_change_unlink_action_details``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_unlink_action_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'emm_add_exception_details'
def is_emm_change_policy_details(self):
"""
Check if the union tag is ``emm_change_policy_details``.
:rtype: bool
"""
return self._tag == 'emm_change_policy_details'
def is_emm_remove_exception_details(self):
"""
Check if the union tag is ``emm_remove_exception_details``.
:rtype: bool
"""
return self._tag == 'emm_remove_exception_details'
def is_extended_version_history_change_policy_details(self):
"""
Check if the union tag is ``extended_version_history_change_policy_details``.
:rtype: bool
"""
return self._tag == 'extended_version_history_change_policy_details'
def is_file_comments_change_policy_details(self):
"""
Check if the union tag is ``file_comments_change_policy_details``.
:rtype: bool
"""
return self._tag == 'file_comments_change_policy_details'
def is_file_requests_change_policy_details(self):
"""
Check if the union tag is ``file_requests_change_policy_details``.
:rtype: bool
"""
return self._tag == 'file_requests_change_policy_details'
def is_file_requests_emails_enabled_details(self):
"""
Check if the union tag is ``file_requests_emails_enabled_details``.
:rtype: bool
"""
return self._tag == 'file_requests_emails_enabled_details'
def is_file_requests_emails_restricted_to_team_only_details(self):
"""
Check if the union tag is ``file_requests_emails_restricted_to_team_only_details``.
:rtype: bool
"""
return self._tag == 'file_requests_emails_restricted_to_team_only_details'
def is_google_sso_change_policy_details(self):
"""
Check if the union tag is ``google_sso_change_policy_details``.
:rtype: bool
"""
return self._tag == 'google_sso_change_policy_details'
def is_group_user_management_change_policy_details(self):
"""
Check if the union tag is ``group_user_management_change_policy_details``.
:rtype: bool
"""
return self._tag == 'group_user_management_change_policy_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'member_requests_change_policy_details'
def is_member_space_limits_add_exception_details(self):
"""
Check if the union tag is ``member_space_limits_add_exception_details``.
:rtype: bool
"""
return self._tag == 'member_space_limits_add_exception_details'
def is_member_space_limits_change_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``.
:rtype: bool
"""
return self._tag == 'member_space_limits_change_policy_details'
def is_member_space_limits_remove_exception_details(self):
"""
Check if the union tag is ``member_space_limits_remove_exception_details``.
:rtype: bool
"""
return self._tag == 'member_space_limits_remove_exception_details'
def is_member_suggestions_change_policy_details(self):
"""
Check if the union tag is ``member_suggestions_change_policy_details``.
:rtype: bool
"""
return self._tag == 'member_suggestions_change_policy_details'
def is_microsoft_office_addin_change_policy_details(self):
"""
Check if the union tag is ``microsoft_office_addin_change_policy_details``.
:rtype: bool
"""
return self._tag == 'microsoft_office_addin_change_policy_details'
def is_network_control_change_policy_details(self):
"""
Check if the union tag is ``network_control_change_policy_details``.
:rtype: bool
"""
return self._tag == 'network_control_change_policy_details'
def is_paper_change_deployment_policy_details(self):
"""
Check if the union tag is ``paper_change_deployment_policy_details``.
:rtype: bool
"""
return self._tag == 'paper_change_deployment_policy_details'
def is_paper_change_member_link_policy_details(self):
"""
Check if the union tag is ``paper_change_member_link_policy_details``.
:rtype: bool
"""
return self._tag == 'paper_change_member_link_policy_details'
def is_paper_change_member_policy_details(self):
"""
Check if the union tag is ``paper_change_member_policy_details``.
:rtype: bool
"""
return self._tag == 'paper_change_member_policy_details'
def is_paper_change_policy_details(self):
"""
Check if the union tag is ``paper_change_policy_details``.
:rtype: bool
"""
return self._tag == 'paper_change_policy_details'
def is_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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'sharing_change_folder_join_policy_details'
def is_sharing_change_link_policy_details(self):
"""
Check if the union tag is ``sharing_change_link_policy_details``.
:rtype: bool
"""
return self._tag == 'sharing_change_link_policy_details'
def is_sharing_change_member_policy_details(self):
"""
Check if the union tag is ``sharing_change_member_policy_details``.
:rtype: bool
"""
return self._tag == 'sharing_change_member_policy_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'smart_sync_change_policy_details'
def is_smart_sync_not_opt_out_details(self):
"""
Check if the union tag is ``smart_sync_not_opt_out_details``.
:rtype: bool
"""
return self._tag == 'smart_sync_not_opt_out_details'
def is_smart_sync_opt_out_details(self):
"""
Check if the union tag is ``smart_sync_opt_out_details``.
:rtype: bool
"""
return self._tag == 'smart_sync_opt_out_details'
def is_sso_change_policy_details(self):
"""
Check if the union tag is ``sso_change_policy_details``.
:rtype: bool
"""
return self._tag == 'sso_change_policy_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'tfa_change_policy_details'
def is_two_account_change_policy_details(self):
"""
Check if the union tag is ``two_account_change_policy_details``.
:rtype: bool
"""
return self._tag == 'two_account_change_policy_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'web_sessions_change_fixed_length_policy_details'
def is_web_sessions_change_idle_length_policy_details(self):
"""
Check if the union tag is ``web_sessions_change_idle_length_policy_details``.
:rtype: bool
"""
return self._tag == 'web_sessions_change_idle_length_policy_details'
def is_team_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``.
:rtype: bool
"""
return self._tag == 'team_profile_add_logo_details'
def is_team_profile_change_default_language_details(self):
"""
Check if the union tag is ``team_profile_change_default_language_details``.
:rtype: bool
"""
return self._tag == 'team_profile_change_default_language_details'
def is_team_profile_change_logo_details(self):
"""
Check if the union tag is ``team_profile_change_logo_details``.
:rtype: bool
"""
return self._tag == 'team_profile_change_logo_details'
def is_team_profile_change_name_details(self):
"""
Check if the union tag is ``team_profile_change_name_details``.
:rtype: bool
"""
return self._tag == 'team_profile_change_name_details'
def is_team_profile_remove_logo_details(self):
"""
Check if the union tag is ``team_profile_remove_logo_details``.
:rtype: bool
"""
return self._tag == 'team_profile_remove_logo_details'
def is_tfa_add_backup_phone_details(self):
"""
Check if the union tag is ``tfa_add_backup_phone_details``.
:rtype: bool
"""
return self._tag == 'tfa_add_backup_phone_details'
def is_tfa_add_security_key_details(self):
"""
Check if the union tag is ``tfa_add_security_key_details``.
:rtype: bool
"""
return self._tag == 'tfa_add_security_key_details'
def is_tfa_change_backup_phone_details(self):
"""
Check if the union tag is ``tfa_change_backup_phone_details``.
:rtype: bool
"""
return self._tag == 'tfa_change_backup_phone_details'
def is_tfa_change_status_details(self):
"""
Check if the union tag is ``tfa_change_status_details``.
:rtype: bool
"""
return self._tag == 'tfa_change_status_details'
def is_tfa_remove_backup_phone_details(self):
"""
Check if the union tag is ``tfa_remove_backup_phone_details``.
:rtype: bool
"""
return self._tag == 'tfa_remove_backup_phone_details'
def is_tfa_remove_security_key_details(self):
"""
Check if the union tag is ``tfa_remove_security_key_details``.
:rtype: bool
"""
return self._tag == 'tfa_remove_security_key_details'
def is_tfa_reset_details(self):
"""
Check if the union tag is ``tfa_reset_details``.
:rtype: bool
"""
return self._tag == 'tfa_reset_details'
def is_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``.
:rtype: bool
"""
return self._tag == 'missing_details'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_app_link_team_details(self):
"""
Only call this if :meth:`is_app_link_team_details` is true.
:rtype: AppLinkTeamDetails
"""
if not self.is_app_link_team_details():
raise AttributeError("tag 'app_link_team_details' not set")
return self._value
def get_app_link_user_details(self):
"""
Only call this if :meth:`is_app_link_user_details` is true.
:rtype: AppLinkUserDetails
"""
if not self.is_app_link_user_details():
raise AttributeError("tag 'app_link_user_details' not set")
return self._value
def get_app_unlink_team_details(self):
"""
Only call this if :meth:`is_app_unlink_team_details` is true.
:rtype: AppUnlinkTeamDetails
"""
if not self.is_app_unlink_team_details():
raise AttributeError("tag 'app_unlink_team_details' not set")
return self._value
def get_app_unlink_user_details(self):
"""
Only call this if :meth:`is_app_unlink_user_details` is true.
:rtype: AppUnlinkUserDetails
"""
if not self.is_app_unlink_user_details():
raise AttributeError("tag 'app_unlink_user_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_file_add_comment_details` is true.
:rtype: FileAddCommentDetails
"""
if not self.is_file_add_comment_details():
raise AttributeError("tag 'file_add_comment_details' not set")
return self._value
def get_file_change_comment_subscription_details(self):
"""
Only call this if :meth:`is_file_change_comment_subscription_details` is true.
:rtype: FileChangeCommentSubscriptionDetails
"""
if not self.is_file_change_comment_subscription_details():
raise AttributeError("tag 'file_change_comment_subscription_details' not set")
return self._value
def get_file_delete_comment_details(self):
"""
Only call this if :meth:`is_file_delete_comment_details` is true.
:rtype: FileDeleteCommentDetails
"""
if not self.is_file_delete_comment_details():
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):
"""
Only call this if :meth:`is_file_like_comment_details` is true.
:rtype: FileLikeCommentDetails
"""
if not self.is_file_like_comment_details():
raise AttributeError("tag 'file_like_comment_details' not set")
return self._value
def get_file_resolve_comment_details(self):
"""
Only call this if :meth:`is_file_resolve_comment_details` is true.
:rtype: FileResolveCommentDetails
"""
if not self.is_file_resolve_comment_details():
raise AttributeError("tag 'file_resolve_comment_details' not set")
return self._value
def get_file_unlike_comment_details(self):
"""
Only call this if :meth:`is_file_unlike_comment_details` is true.
:rtype: FileUnlikeCommentDetails
"""
if not self.is_file_unlike_comment_details():
raise AttributeError("tag 'file_unlike_comment_details' not set")
return self._value
def get_file_unresolve_comment_details(self):
"""
Only call this if :meth:`is_file_unresolve_comment_details` is true.
:rtype: FileUnresolveCommentDetails
"""
if not self.is_file_unresolve_comment_details():
raise AttributeError("tag 'file_unresolve_comment_details' not set")
return self._value
def get_device_change_ip_desktop_details(self):
"""
Only call this if :meth:`is_device_change_ip_desktop_details` is true.
:rtype: DeviceChangeIpDesktopDetails
"""
if not self.is_device_change_ip_desktop_details():
raise AttributeError("tag 'device_change_ip_desktop_details' not set")
return self._value
def get_device_change_ip_mobile_details(self):
"""
Only call this if :meth:`is_device_change_ip_mobile_details` is true.
:rtype: DeviceChangeIpMobileDetails
"""
if not self.is_device_change_ip_mobile_details():
raise AttributeError("tag 'device_change_ip_mobile_details' not set")
return self._value
def get_device_change_ip_web_details(self):
"""
Only call this if :meth:`is_device_change_ip_web_details` is true.
:rtype: DeviceChangeIpWebDetails
"""
if not self.is_device_change_ip_web_details():
raise AttributeError("tag 'device_change_ip_web_details' not set")
return self._value
def get_device_delete_on_unlink_fail_details(self):
"""
Only call this if :meth:`is_device_delete_on_unlink_fail_details` is true.
:rtype: DeviceDeleteOnUnlinkFailDetails
"""
if not self.is_device_delete_on_unlink_fail_details():
raise AttributeError("tag 'device_delete_on_unlink_fail_details' not set")
return self._value
def get_device_delete_on_unlink_success_details(self):
"""
Only call this if :meth:`is_device_delete_on_unlink_success_details` is true.
:rtype: DeviceDeleteOnUnlinkSuccessDetails
"""
if not self.is_device_delete_on_unlink_success_details():
raise AttributeError("tag 'device_delete_on_unlink_success_details' not set")
return self._value
def get_device_link_fail_details(self):
"""
Only call this if :meth:`is_device_link_fail_details` is true.
:rtype: DeviceLinkFailDetails
"""
if not self.is_device_link_fail_details():
raise AttributeError("tag 'device_link_fail_details' not set")
return self._value
def get_device_link_success_details(self):
"""
Only call this if :meth:`is_device_link_success_details` is true.
:rtype: DeviceLinkSuccessDetails
"""
if not self.is_device_link_success_details():
raise AttributeError("tag 'device_link_success_details' not set")
return self._value
def get_device_management_disabled_details(self):
"""
Only call this if :meth:`is_device_management_disabled_details` is true.
:rtype: DeviceManagementDisabledDetails
"""
if not self.is_device_management_disabled_details():
raise AttributeError("tag 'device_management_disabled_details' not set")
return self._value
def get_device_management_enabled_details(self):
"""
Only call this if :meth:`is_device_management_enabled_details` is true.
:rtype: DeviceManagementEnabledDetails
"""
if not self.is_device_management_enabled_details():
raise AttributeError("tag 'device_management_enabled_details' not set")
return self._value
def get_device_unlink_details(self):
"""
Only call this if :meth:`is_device_unlink_details` is true.
:rtype: DeviceUnlinkDetails
"""
if not self.is_device_unlink_details():
raise AttributeError("tag 'device_unlink_details' not set")
return self._value
def get_emm_refresh_auth_token_details(self):
"""
Only call this if :meth:`is_emm_refresh_auth_token_details` is true.
:rtype: EmmRefreshAuthTokenDetails
"""
if not self.is_emm_refresh_auth_token_details():
raise AttributeError("tag 'emm_refresh_auth_token_details' not set")
return self._value
def get_account_capture_change_availability_details(self):
"""
Only call this if :meth:`is_account_capture_change_availability_details` is true.
:rtype: AccountCaptureChangeAvailabilityDetails
"""
if not self.is_account_capture_change_availability_details():
raise AttributeError("tag 'account_capture_change_availability_details' not set")
return self._value
def get_account_capture_migrate_account_details(self):
"""
Only call this if :meth:`is_account_capture_migrate_account_details` is true.
:rtype: AccountCaptureMigrateAccountDetails
"""
if not self.is_account_capture_migrate_account_details():
raise AttributeError("tag 'account_capture_migrate_account_details' not set")
return self._value
def get_account_capture_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):
"""
Only call this if :meth:`is_account_capture_relinquish_account_details` is true.
:rtype: AccountCaptureRelinquishAccountDetails
"""
if not self.is_account_capture_relinquish_account_details():
raise AttributeError("tag 'account_capture_relinquish_account_details' not set")
return self._value
def get_disabled_domain_invites_details(self):
"""
Only call this if :meth:`is_disabled_domain_invites_details` is true.
:rtype: DisabledDomainInvitesDetails
"""
if not self.is_disabled_domain_invites_details():
raise AttributeError("tag 'disabled_domain_invites_details' not set")
return self._value
def get_domain_invites_approve_request_to_join_team_details(self):
"""
Only call this if :meth:`is_domain_invites_approve_request_to_join_team_details` is true.
:rtype: DomainInvitesApproveRequestToJoinTeamDetails
"""
if not self.is_domain_invites_approve_request_to_join_team_details():
raise AttributeError("tag 'domain_invites_approve_request_to_join_team_details' not set")
return self._value
def get_domain_invites_decline_request_to_join_team_details(self):
"""
Only call this if :meth:`is_domain_invites_decline_request_to_join_team_details` is true.
:rtype: DomainInvitesDeclineRequestToJoinTeamDetails
"""
if not self.is_domain_invites_decline_request_to_join_team_details():
raise AttributeError("tag 'domain_invites_decline_request_to_join_team_details' not set")
return self._value
def get_domain_invites_email_existing_users_details(self):
"""
Only call this if :meth:`is_domain_invites_email_existing_users_details` is true.
:rtype: DomainInvitesEmailExistingUsersDetails
"""
if not self.is_domain_invites_email_existing_users_details():
raise AttributeError("tag 'domain_invites_email_existing_users_details' not set")
return self._value
def get_domain_invites_request_to_join_team_details(self):
"""
Only call this if :meth:`is_domain_invites_request_to_join_team_details` is true.
:rtype: DomainInvitesRequestToJoinTeamDetails
"""
if not self.is_domain_invites_request_to_join_team_details():
raise AttributeError("tag 'domain_invites_request_to_join_team_details' not set")
return self._value
def get_domain_invites_set_invite_new_user_pref_to_no_details(self):
"""
Only call this if :meth:`is_domain_invites_set_invite_new_user_pref_to_no_details` is true.
:rtype: DomainInvitesSetInviteNewUserPrefToNoDetails
"""
if not self.is_domain_invites_set_invite_new_user_pref_to_no_details():
raise AttributeError("tag 'domain_invites_set_invite_new_user_pref_to_no_details' not set")
return self._value
def get_domain_invites_set_invite_new_user_pref_to_yes_details(self):
"""
Only call this if :meth:`is_domain_invites_set_invite_new_user_pref_to_yes_details` is true.
:rtype: DomainInvitesSetInviteNewUserPrefToYesDetails
"""
if not self.is_domain_invites_set_invite_new_user_pref_to_yes_details():
raise AttributeError("tag 'domain_invites_set_invite_new_user_pref_to_yes_details' not set")
return self._value
def get_domain_verification_add_domain_fail_details(self):
"""
Only call this if :meth:`is_domain_verification_add_domain_fail_details` is true.
:rtype: DomainVerificationAddDomainFailDetails
"""
if not self.is_domain_verification_add_domain_fail_details():
raise AttributeError("tag 'domain_verification_add_domain_fail_details' not set")
return self._value
def get_domain_verification_add_domain_success_details(self):
"""
Only call this if :meth:`is_domain_verification_add_domain_success_details` is true.
:rtype: DomainVerificationAddDomainSuccessDetails
"""
if not self.is_domain_verification_add_domain_success_details():
raise AttributeError("tag 'domain_verification_add_domain_success_details' not set")
return self._value
def get_domain_verification_remove_domain_details(self):
"""
Only call this if :meth:`is_domain_verification_remove_domain_details` is true.
:rtype: DomainVerificationRemoveDomainDetails
"""
if not self.is_domain_verification_remove_domain_details():
raise AttributeError("tag 'domain_verification_remove_domain_details' not set")
return self._value
def get_enabled_domain_invites_details(self):
"""
Only call this if :meth:`is_enabled_domain_invites_details` is true.
:rtype: EnabledDomainInvitesDetails
"""
if not self.is_enabled_domain_invites_details():
raise AttributeError("tag 'enabled_domain_invites_details' not set")
return self._value
def get_create_folder_details(self):
"""
Only call this if :meth:`is_create_folder_details` is true.
:rtype: CreateFolderDetails
"""
if not self.is_create_folder_details():
raise AttributeError("tag 'create_folder_details' not set")
return self._value
def get_file_add_details(self):
"""
Only call this if :meth:`is_file_add_details` is true.
:rtype: FileAddDetails
"""
if not self.is_file_add_details():
raise AttributeError("tag 'file_add_details' not set")
return self._value
def get_file_copy_details(self):
"""
Only call this if :meth:`is_file_copy_details` is true.
:rtype: FileCopyDetails
"""
if not self.is_file_copy_details():
raise AttributeError("tag 'file_copy_details' not set")
return self._value
def get_file_delete_details(self):
"""
Only call this if :meth:`is_file_delete_details` is true.
:rtype: FileDeleteDetails
"""
if not self.is_file_delete_details():
raise AttributeError("tag 'file_delete_details' not set")
return self._value
def get_file_download_details(self):
"""
Only call this if :meth:`is_file_download_details` is true.
:rtype: FileDownloadDetails
"""
if not self.is_file_download_details():
raise AttributeError("tag 'file_download_details' not set")
return self._value
def get_file_edit_details(self):
"""
Only call this if :meth:`is_file_edit_details` is true.
:rtype: FileEditDetails
"""
if not self.is_file_edit_details():
raise AttributeError("tag 'file_edit_details' not set")
return self._value
def get_file_get_copy_reference_details(self):
"""
Only call this if :meth:`is_file_get_copy_reference_details` is true.
:rtype: FileGetCopyReferenceDetails
"""
if not self.is_file_get_copy_reference_details():
raise AttributeError("tag 'file_get_copy_reference_details' not set")
return self._value
def get_file_move_details(self):
"""
Only call this if :meth:`is_file_move_details` is true.
:rtype: FileMoveDetails
"""
if not self.is_file_move_details():
raise AttributeError("tag 'file_move_details' not set")
return self._value
def get_file_permanently_delete_details(self):
"""
Only call this if :meth:`is_file_permanently_delete_details` is true.
:rtype: FilePermanentlyDeleteDetails
"""
if not self.is_file_permanently_delete_details():
raise AttributeError("tag 'file_permanently_delete_details' not set")
return self._value
def get_file_preview_details(self):
"""
Only call this if :meth:`is_file_preview_details` is true.
:rtype: FilePreviewDetails
"""
if not self.is_file_preview_details():
raise AttributeError("tag 'file_preview_details' not set")
return self._value
def get_file_rename_details(self):
"""
Only call this if :meth:`is_file_rename_details` is true.
:rtype: FileRenameDetails
"""
if not self.is_file_rename_details():
raise AttributeError("tag 'file_rename_details' not set")
return self._value
def get_file_restore_details(self):
"""
Only call this if :meth:`is_file_restore_details` is true.
:rtype: FileRestoreDetails
"""
if not self.is_file_restore_details():
raise AttributeError("tag 'file_restore_details' not set")
return self._value
def get_file_revert_details(self):
"""
Only call this if :meth:`is_file_revert_details` is true.
:rtype: FileRevertDetails
"""
if not self.is_file_revert_details():
raise AttributeError("tag 'file_revert_details' not set")
return self._value
def get_file_rollback_changes_details(self):
"""
Only call this if :meth:`is_file_rollback_changes_details` is true.
:rtype: FileRollbackChangesDetails
"""
if not self.is_file_rollback_changes_details():
raise AttributeError("tag 'file_rollback_changes_details' not set")
return self._value
def get_file_save_copy_reference_details(self):
"""
Only call this if :meth:`is_file_save_copy_reference_details` is true.
:rtype: FileSaveCopyReferenceDetails
"""
if not self.is_file_save_copy_reference_details():
raise AttributeError("tag 'file_save_copy_reference_details' not set")
return self._value
def get_file_request_change_details(self):
"""
Only call this if :meth:`is_file_request_change_details` is true.
:rtype: FileRequestChangeDetails
"""
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):
"""
Only call this if :meth:`is_file_request_close_details` is true.
:rtype: FileRequestCloseDetails
"""
if not self.is_file_request_close_details():
raise AttributeError("tag 'file_request_close_details' not set")
return self._value
def get_file_request_create_details(self):
"""
Only call this if :meth:`is_file_request_create_details` is true.
:rtype: FileRequestCreateDetails
"""
if not self.is_file_request_create_details():
raise AttributeError("tag 'file_request_create_details' not set")
return self._value
def get_file_request_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):
"""
Only call this if :meth:`is_file_request_receive_file_details` is true.
:rtype: FileRequestReceiveFileDetails
"""
if not self.is_file_request_receive_file_details():
raise AttributeError("tag 'file_request_receive_file_details' not set")
return self._value
def get_group_add_external_id_details(self):
"""
Only call this if :meth:`is_group_add_external_id_details` is true.
:rtype: GroupAddExternalIdDetails
"""
if not self.is_group_add_external_id_details():
raise AttributeError("tag 'group_add_external_id_details' not set")
return self._value
def get_group_add_member_details(self):
"""
Only call this if :meth:`is_group_add_member_details` is true.
:rtype: GroupAddMemberDetails
"""
if not self.is_group_add_member_details():
raise AttributeError("tag 'group_add_member_details' not set")
return self._value
def get_group_change_external_id_details(self):
"""
Only call this if :meth:`is_group_change_external_id_details` is true.
:rtype: GroupChangeExternalIdDetails
"""
if not self.is_group_change_external_id_details():
raise AttributeError("tag 'group_change_external_id_details' not set")
return self._value
def get_group_change_management_type_details(self):
"""
Only call this if :meth:`is_group_change_management_type_details` is true.
:rtype: GroupChangeManagementTypeDetails
"""
if not self.is_group_change_management_type_details():
raise AttributeError("tag 'group_change_management_type_details' not set")
return self._value
def get_group_change_member_role_details(self):
"""
Only call this if :meth:`is_group_change_member_role_details` is true.
:rtype: GroupChangeMemberRoleDetails
"""
if not self.is_group_change_member_role_details():
raise AttributeError("tag 'group_change_member_role_details' not set")
return self._value
def get_group_create_details(self):
"""
Only call this if :meth:`is_group_create_details` is true.
:rtype: GroupCreateDetails
"""
if not self.is_group_create_details():
raise AttributeError("tag 'group_create_details' not set")
return self._value
def get_group_delete_details(self):
"""
Only call this if :meth:`is_group_delete_details` is true.
:rtype: GroupDeleteDetails
"""
if not self.is_group_delete_details():
raise AttributeError("tag 'group_delete_details' not set")
return self._value
def get_group_description_updated_details(self):
"""
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):
"""
Only call this if :meth:`is_group_moved_details` is true.
:rtype: GroupMovedDetails
"""
if not self.is_group_moved_details():
raise AttributeError("tag 'group_moved_details' not set")
return self._value
def get_group_remove_external_id_details(self):
"""
Only call this if :meth:`is_group_remove_external_id_details` is true.
:rtype: GroupRemoveExternalIdDetails
"""
if not self.is_group_remove_external_id_details():
raise AttributeError("tag 'group_remove_external_id_details' not set")
return self._value
def get_group_remove_member_details(self):
"""
Only call this if :meth:`is_group_remove_member_details` is true.
:rtype: GroupRemoveMemberDetails
"""
if not self.is_group_remove_member_details():
raise AttributeError("tag 'group_remove_member_details' not set")
return self._value
def get_group_rename_details(self):
"""
Only call this if :meth:`is_group_rename_details` is true.
:rtype: GroupRenameDetails
"""
if not self.is_group_rename_details():
raise AttributeError("tag 'group_rename_details' not set")
return self._value
def get_emm_error_details(self):
"""
Only call this if :meth:`is_emm_error_details` is true.
:rtype: EmmErrorDetails
"""
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):
"""
Only call this if :meth:`is_logout_details` is true.
:rtype: LogoutDetails
"""
if not self.is_logout_details():
raise AttributeError("tag 'logout_details' not set")
return self._value
def get_reseller_support_session_end_details(self):
"""
Only call this if :meth:`is_reseller_support_session_end_details` is true.
:rtype: ResellerSupportSessionEndDetails
"""
if not self.is_reseller_support_session_end_details():
raise AttributeError("tag 'reseller_support_session_end_details' not set")
return self._value
def get_reseller_support_session_start_details(self):
"""
Only call this if :meth:`is_reseller_support_session_start_details` is true.
:rtype: ResellerSupportSessionStartDetails
"""
if not self.is_reseller_support_session_start_details():
raise AttributeError("tag 'reseller_support_session_start_details' not set")
return self._value
def get_sign_in_as_session_end_details(self):
"""
Only call this if :meth:`is_sign_in_as_session_end_details` is true.
:rtype: SignInAsSessionEndDetails
"""
if not self.is_sign_in_as_session_end_details():
raise AttributeError("tag 'sign_in_as_session_end_details' not set")
return self._value
def get_sign_in_as_session_start_details(self):
"""
Only call this if :meth:`is_sign_in_as_session_start_details` is true.
:rtype: SignInAsSessionStartDetails
"""
if not self.is_sign_in_as_session_start_details():
raise AttributeError("tag 'sign_in_as_session_start_details' not set")
return self._value
def get_sso_error_details(self):
"""
Only call this if :meth:`is_sso_error_details` is true.
:rtype: SsoErrorDetails
"""
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):
"""
Only call this if :meth:`is_member_add_name_details` is true.
:rtype: MemberAddNameDetails
"""
if not self.is_member_add_name_details():
raise AttributeError("tag 'member_add_name_details' not set")
return self._value
def get_member_change_admin_role_details(self):
"""
Only call this if :meth:`is_member_change_admin_role_details` is true.
:rtype: MemberChangeAdminRoleDetails
"""
if not self.is_member_change_admin_role_details():
raise AttributeError("tag 'member_change_admin_role_details' not set")
return self._value
def get_member_change_email_details(self):
"""
Only call this if :meth:`is_member_change_email_details` is true.
:rtype: MemberChangeEmailDetails
"""
if not self.is_member_change_email_details():
raise AttributeError("tag 'member_change_email_details' not set")
return self._value
def get_member_change_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):
"""
Only call this if :meth:`is_member_change_name_details` is true.
:rtype: MemberChangeNameDetails
"""
if not self.is_member_change_name_details():
raise AttributeError("tag 'member_change_name_details' not set")
return self._value
def get_member_change_status_details(self):
"""
Only call this if :meth:`is_member_change_status_details` is true.
:rtype: MemberChangeStatusDetails
"""
if not self.is_member_change_status_details():
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):
"""
Only call this if :meth:`is_member_suggest_details` is true.
:rtype: MemberSuggestDetails
"""
if not self.is_member_suggest_details():
raise AttributeError("tag 'member_suggest_details' not set")
return self._value
def get_member_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):
"""
Only call this if :meth:`is_paper_content_add_member_details` is true.
:rtype: PaperContentAddMemberDetails
"""
if not self.is_paper_content_add_member_details():
raise AttributeError("tag 'paper_content_add_member_details' not set")
return self._value
def get_paper_content_add_to_folder_details(self):
"""
Only call this if :meth:`is_paper_content_add_to_folder_details` is true.
:rtype: PaperContentAddToFolderDetails
"""
if not self.is_paper_content_add_to_folder_details():
raise AttributeError("tag 'paper_content_add_to_folder_details' not set")
return self._value
def get_paper_content_archive_details(self):
"""
Only call this if :meth:`is_paper_content_archive_details` is true.
:rtype: PaperContentArchiveDetails
"""
if not self.is_paper_content_archive_details():
raise AttributeError("tag 'paper_content_archive_details' not set")
return self._value
def get_paper_content_create_details(self):
"""
Only call this if :meth:`is_paper_content_create_details` is true.
:rtype: PaperContentCreateDetails
"""
if not self.is_paper_content_create_details():
raise AttributeError("tag 'paper_content_create_details' not set")
return self._value
def get_paper_content_permanently_delete_details(self):
"""
Only call this if :meth:`is_paper_content_permanently_delete_details` is true.
:rtype: PaperContentPermanentlyDeleteDetails
"""
if not self.is_paper_content_permanently_delete_details():
raise AttributeError("tag 'paper_content_permanently_delete_details' not set")
return self._value
def get_paper_content_remove_from_folder_details(self):
"""
Only call this if :meth:`is_paper_content_remove_from_folder_details` is true.
:rtype: PaperContentRemoveFromFolderDetails
"""
if not self.is_paper_content_remove_from_folder_details():
raise AttributeError("tag 'paper_content_remove_from_folder_details' not set")
return self._value
def get_paper_content_remove_member_details(self):
"""
Only call this if :meth:`is_paper_content_remove_member_details` is true.
:rtype: PaperContentRemoveMemberDetails
"""
if not self.is_paper_content_remove_member_details():
raise AttributeError("tag 'paper_content_remove_member_details' not set")
return self._value
def get_paper_content_rename_details(self):
"""
Only call this if :meth:`is_paper_content_rename_details` is true.
:rtype: PaperContentRenameDetails
"""
if not self.is_paper_content_rename_details():
raise AttributeError("tag 'paper_content_rename_details' not set")
return self._value
def get_paper_content_restore_details(self):
"""
Only call this if :meth:`is_paper_content_restore_details` is true.
:rtype: PaperContentRestoreDetails
"""
if not self.is_paper_content_restore_details():
raise AttributeError("tag 'paper_content_restore_details' not set")
return self._value
def get_paper_doc_add_comment_details(self):
"""
Only call this if :meth:`is_paper_doc_add_comment_details` is true.
:rtype: PaperDocAddCommentDetails
"""
if not self.is_paper_doc_add_comment_details():
raise AttributeError("tag 'paper_doc_add_comment_details' not set")
return self._value
def get_paper_doc_change_member_role_details(self):
"""
Only call this if :meth:`is_paper_doc_change_member_role_details` is true.
:rtype: PaperDocChangeMemberRoleDetails
"""
if not self.is_paper_doc_change_member_role_details():
raise AttributeError("tag 'paper_doc_change_member_role_details' not set")
return self._value
def get_paper_doc_change_sharing_policy_details(self):
"""
Only call this if :meth:`is_paper_doc_change_sharing_policy_details` is true.
:rtype: PaperDocChangeSharingPolicyDetails
"""
if not self.is_paper_doc_change_sharing_policy_details():
raise AttributeError("tag 'paper_doc_change_sharing_policy_details' not set")
return self._value
def get_paper_doc_change_subscription_details(self):
"""
Only call this if :meth:`is_paper_doc_change_subscription_details` is true.
:rtype: PaperDocChangeSubscriptionDetails
"""
if not self.is_paper_doc_change_subscription_details():
raise AttributeError("tag 'paper_doc_change_subscription_details' not set")
return self._value
def get_paper_doc_deleted_details(self):
"""
Only call this if :meth:`is_paper_doc_deleted_details` is true.
:rtype: PaperDocDeletedDetails
"""
if not self.is_paper_doc_deleted_details():
raise AttributeError("tag 'paper_doc_deleted_details' not set")
return self._value
def get_paper_doc_delete_comment_details(self):
"""
Only call this if :meth:`is_paper_doc_delete_comment_details` is true.
:rtype: PaperDocDeleteCommentDetails
"""
if not self.is_paper_doc_delete_comment_details():
raise AttributeError("tag 'paper_doc_delete_comment_details' not set")
return self._value
def get_paper_doc_download_details(self):
"""
Only call this if :meth:`is_paper_doc_download_details` is true.
:rtype: PaperDocDownloadDetails
"""
if not self.is_paper_doc_download_details():
raise AttributeError("tag 'paper_doc_download_details' not set")
return self._value
def get_paper_doc_edit_details(self):
"""
Only call this if :meth:`is_paper_doc_edit_details` is true.
:rtype: PaperDocEditDetails
"""
if not self.is_paper_doc_edit_details():
raise AttributeError("tag 'paper_doc_edit_details' not set")
return self._value
def get_paper_doc_edit_comment_details(self):
"""
Only call this if :meth:`is_paper_doc_edit_comment_details` is true.
:rtype: PaperDocEditCommentDetails
"""
if not self.is_paper_doc_edit_comment_details():
raise AttributeError("tag 'paper_doc_edit_comment_details' not set")
return self._value
def get_paper_doc_followed_details(self):
"""
Only call this if :meth:`is_paper_doc_followed_details` is true.
:rtype: PaperDocFollowedDetails
"""
if not self.is_paper_doc_followed_details():
raise AttributeError("tag 'paper_doc_followed_details' not set")
return self._value
def get_paper_doc_mention_details(self):
"""
Only call this if :meth:`is_paper_doc_mention_details` is true.
:rtype: PaperDocMentionDetails
"""
if not self.is_paper_doc_mention_details():
raise AttributeError("tag 'paper_doc_mention_details' not set")
return self._value
def get_paper_doc_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):
"""
Only call this if :meth:`is_paper_doc_request_access_details` is true.
:rtype: PaperDocRequestAccessDetails
"""
if not self.is_paper_doc_request_access_details():
raise AttributeError("tag 'paper_doc_request_access_details' not set")
return self._value
def get_paper_doc_resolve_comment_details(self):
"""
Only call this if :meth:`is_paper_doc_resolve_comment_details` is true.
:rtype: PaperDocResolveCommentDetails
"""
if not self.is_paper_doc_resolve_comment_details():
raise AttributeError("tag 'paper_doc_resolve_comment_details' not set")
return self._value
def get_paper_doc_revert_details(self):
"""
Only call this if :meth:`is_paper_doc_revert_details` is true.
:rtype: PaperDocRevertDetails
"""
if not self.is_paper_doc_revert_details():
raise AttributeError("tag 'paper_doc_revert_details' not set")
return self._value
def get_paper_doc_slack_share_details(self):
"""
Only call this if :meth:`is_paper_doc_slack_share_details` is true.
:rtype: PaperDocSlackShareDetails
"""
if not self.is_paper_doc_slack_share_details():
raise AttributeError("tag 'paper_doc_slack_share_details' not set")
return self._value
def get_paper_doc_team_invite_details(self):
"""
Only call this if :meth:`is_paper_doc_team_invite_details` is true.
:rtype: PaperDocTeamInviteDetails
"""
if not self.is_paper_doc_team_invite_details():
raise AttributeError("tag 'paper_doc_team_invite_details' not set")
return self._value
def get_paper_doc_trashed_details(self):
"""
Only call this if :meth:`is_paper_doc_trashed_details` is true.
:rtype: PaperDocTrashedDetails
"""
if not self.is_paper_doc_trashed_details():
raise AttributeError("tag 'paper_doc_trashed_details' not set")
return self._value
def get_paper_doc_unresolve_comment_details(self):
"""
Only call this if :meth:`is_paper_doc_unresolve_comment_details` is true.
:rtype: PaperDocUnresolveCommentDetails
"""
if not self.is_paper_doc_unresolve_comment_details():
raise AttributeError("tag 'paper_doc_unresolve_comment_details' not set")
return self._value
def get_paper_doc_untrashed_details(self):
"""
Only call this if :meth:`is_paper_doc_untrashed_details` is true.
:rtype: PaperDocUntrashedDetails
"""
if not self.is_paper_doc_untrashed_details():
raise AttributeError("tag 'paper_doc_untrashed_details' not set")
return self._value
def get_paper_doc_view_details(self):
"""
Only call this if :meth:`is_paper_doc_view_details` is true.
:rtype: PaperDocViewDetails
"""
if not self.is_paper_doc_view_details():
raise AttributeError("tag 'paper_doc_view_details' not set")
return self._value
def get_paper_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):
"""
Only call this if :meth:`is_paper_folder_change_subscription_details` is true.
:rtype: PaperFolderChangeSubscriptionDetails
"""
if not self.is_paper_folder_change_subscription_details():
raise AttributeError("tag 'paper_folder_change_subscription_details' not set")
return self._value
def get_paper_folder_deleted_details(self):
"""
Only call this if :meth:`is_paper_folder_deleted_details` is true.
:rtype: PaperFolderDeletedDetails
"""
if not self.is_paper_folder_deleted_details():
raise AttributeError("tag 'paper_folder_deleted_details' not set")
return self._value
def get_paper_folder_followed_details(self):
"""
Only call this if :meth:`is_paper_folder_followed_details` is true.
:rtype: PaperFolderFollowedDetails
"""
if not self.is_paper_folder_followed_details():
raise AttributeError("tag 'paper_folder_followed_details' not set")
return self._value
def get_paper_folder_team_invite_details(self):
"""
Only call this if :meth:`is_paper_folder_team_invite_details` is true.
:rtype: PaperFolderTeamInviteDetails
"""
if not self.is_paper_folder_team_invite_details():
raise AttributeError("tag 'paper_folder_team_invite_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_password_change_details` is true.
:rtype: PasswordChangeDetails
"""
if not self.is_password_change_details():
raise AttributeError("tag 'password_change_details' not set")
return self._value
def get_password_reset_details(self):
"""
Only call this if :meth:`is_password_reset_details` is true.
:rtype: PasswordResetDetails
"""
if not self.is_password_reset_details():
raise AttributeError("tag 'password_reset_details' not set")
return self._value
def get_password_reset_all_details(self):
"""
Only call this if :meth:`is_password_reset_all_details` is true.
:rtype: PasswordResetAllDetails
"""
if not self.is_password_reset_all_details():
raise AttributeError("tag 'password_reset_all_details' not set")
return self._value
def get_emm_create_exceptions_report_details(self):
"""
Only call this if :meth:`is_emm_create_exceptions_report_details` is true.
:rtype: EmmCreateExceptionsReportDetails
"""
if not self.is_emm_create_exceptions_report_details():
raise AttributeError("tag 'emm_create_exceptions_report_details' not set")
return self._value
def get_emm_create_usage_report_details(self):
"""
Only call this if :meth:`is_emm_create_usage_report_details` is true.
:rtype: EmmCreateUsageReportDetails
"""
if not self.is_emm_create_usage_report_details():
raise AttributeError("tag 'emm_create_usage_report_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_smart_sync_create_admin_privilege_report_details` is true.
:rtype: SmartSyncCreateAdminPrivilegeReportDetails
"""
if not self.is_smart_sync_create_admin_privilege_report_details():
raise AttributeError("tag 'smart_sync_create_admin_privilege_report_details' not set")
return self._value
def get_team_activity_create_report_details(self):
"""
Only call this if :meth:`is_team_activity_create_report_details` is true.
:rtype: TeamActivityCreateReportDetails
"""
if not self.is_team_activity_create_report_details():
raise AttributeError("tag 'team_activity_create_report_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_collection_share_details` is true.
:rtype: CollectionShareDetails
"""
if not self.is_collection_share_details():
raise AttributeError("tag 'collection_share_details' not set")
return self._value
def get_note_acl_invite_only_details(self):
"""
Only call this if :meth:`is_note_acl_invite_only_details` is true.
:rtype: NoteAclInviteOnlyDetails
"""
if not self.is_note_acl_invite_only_details():
raise AttributeError("tag 'note_acl_invite_only_details' not set")
return self._value
def get_note_acl_link_details(self):
"""
Only call this if :meth:`is_note_acl_link_details` is true.
:rtype: NoteAclLinkDetails
"""
if not self.is_note_acl_link_details():
raise AttributeError("tag 'note_acl_link_details' not set")
return self._value
def get_note_acl_team_link_details(self):
"""
Only call this if :meth:`is_note_acl_team_link_details` is true.
:rtype: NoteAclTeamLinkDetails
"""
if not self.is_note_acl_team_link_details():
raise AttributeError("tag 'note_acl_team_link_details' not set")
return self._value
def get_note_shared_details(self):
"""
Only call this if :meth:`is_note_shared_details` is true.
:rtype: NoteSharedDetails
"""
if not self.is_note_shared_details():
raise AttributeError("tag 'note_shared_details' not set")
return self._value
def get_note_share_receive_details(self):
"""
Only call this if :meth:`is_note_share_receive_details` is true.
:rtype: NoteShareReceiveDetails
"""
if not self.is_note_share_receive_details():
raise AttributeError("tag 'note_share_receive_details' not set")
return self._value
def get_open_note_shared_details(self):
"""
Only call this if :meth:`is_open_note_shared_details` is true.
:rtype: OpenNoteSharedDetails
"""
if not self.is_open_note_shared_details():
raise AttributeError("tag 'open_note_shared_details' not set")
return self._value
def get_sf_add_group_details(self):
"""
Only call this if :meth:`is_sf_add_group_details` is true.
:rtype: SfAddGroupDetails
"""
if not self.is_sf_add_group_details():
raise AttributeError("tag 'sf_add_group_details' not set")
return self._value
def get_sf_allow_non_members_to_view_shared_links_details(self):
"""
Only call this if :meth:`is_sf_allow_non_members_to_view_shared_links_details` is true.
:rtype: SfAllowNonMembersToViewSharedLinksDetails
"""
if not self.is_sf_allow_non_members_to_view_shared_links_details():
raise AttributeError("tag 'sf_allow_non_members_to_view_shared_links_details' not set")
return self._value
def get_sf_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):
"""
Only call this if :meth:`is_sf_invite_group_details` is true.
:rtype: SfInviteGroupDetails
"""
if not self.is_sf_invite_group_details():
raise AttributeError("tag 'sf_invite_group_details' not set")
return self._value
def get_sf_team_grant_access_details(self):
"""
Only call this if :meth:`is_sf_team_grant_access_details` is true.
:rtype: SfTeamGrantAccessDetails
"""
if not self.is_sf_team_grant_access_details():
raise AttributeError("tag 'sf_team_grant_access_details' not set")
return self._value
def get_sf_team_invite_details(self):
"""
Only call this if :meth:`is_sf_team_invite_details` is true.
:rtype: SfTeamInviteDetails
"""
if not self.is_sf_team_invite_details():
raise AttributeError("tag 'sf_team_invite_details' not set")
return self._value
def get_sf_team_invite_change_role_details(self):
"""
Only call this if :meth:`is_sf_team_invite_change_role_details` is true.
:rtype: SfTeamInviteChangeRoleDetails
"""
if not self.is_sf_team_invite_change_role_details():
raise AttributeError("tag 'sf_team_invite_change_role_details' not set")
return self._value
def get_sf_team_join_details(self):
"""
Only call this if :meth:`is_sf_team_join_details` is true.
:rtype: SfTeamJoinDetails
"""
if not self.is_sf_team_join_details():
raise AttributeError("tag 'sf_team_join_details' not set")
return self._value
def get_sf_team_join_from_oob_link_details(self):
"""
Only call this if :meth:`is_sf_team_join_from_oob_link_details` is true.
:rtype: SfTeamJoinFromOobLinkDetails
"""
if not self.is_sf_team_join_from_oob_link_details():
raise AttributeError("tag 'sf_team_join_from_oob_link_details' not set")
return self._value
def get_sf_team_uninvite_details(self):
"""
Only call this if :meth:`is_sf_team_uninvite_details` is true.
:rtype: SfTeamUninviteDetails
"""
if not self.is_sf_team_uninvite_details():
raise AttributeError("tag 'sf_team_uninvite_details' not set")
return self._value
def get_shared_content_add_invitees_details(self):
"""
Only call this if :meth:`is_shared_content_add_invitees_details` is true.
:rtype: SharedContentAddInviteesDetails
"""
if not self.is_shared_content_add_invitees_details():
raise AttributeError("tag 'shared_content_add_invitees_details' not set")
return self._value
def get_shared_content_add_link_expiry_details(self):
"""
Only call this if :meth:`is_shared_content_add_link_expiry_details` is true.
:rtype: SharedContentAddLinkExpiryDetails
"""
if not self.is_shared_content_add_link_expiry_details():
raise AttributeError("tag 'shared_content_add_link_expiry_details' not set")
return self._value
def get_shared_content_add_link_password_details(self):
"""
Only call this if :meth:`is_shared_content_add_link_password_details` is true.
:rtype: SharedContentAddLinkPasswordDetails
"""
if not self.is_shared_content_add_link_password_details():
raise AttributeError("tag 'shared_content_add_link_password_details' not set")
return self._value
def get_shared_content_add_member_details(self):
"""
Only call this if :meth:`is_shared_content_add_member_details` is true.
:rtype: SharedContentAddMemberDetails
"""
if not self.is_shared_content_add_member_details():
raise AttributeError("tag 'shared_content_add_member_details' not set")
return self._value
def get_shared_content_change_downloads_policy_details(self):
"""
Only call this if :meth:`is_shared_content_change_downloads_policy_details` is true.
:rtype: SharedContentChangeDownloadsPolicyDetails
"""
if not self.is_shared_content_change_downloads_policy_details():
raise AttributeError("tag 'shared_content_change_downloads_policy_details' not set")
return self._value
def get_shared_content_change_invitee_role_details(self):
"""
Only call this if :meth:`is_shared_content_change_invitee_role_details` is true.
:rtype: SharedContentChangeInviteeRoleDetails
"""
if not self.is_shared_content_change_invitee_role_details():
raise AttributeError("tag 'shared_content_change_invitee_role_details' not set")
return self._value
def get_shared_content_change_link_audience_details(self):
"""
Only call this if :meth:`is_shared_content_change_link_audience_details` is true.
:rtype: SharedContentChangeLinkAudienceDetails
"""
if not self.is_shared_content_change_link_audience_details():
raise AttributeError("tag 'shared_content_change_link_audience_details' not set")
return self._value
def get_shared_content_change_link_expiry_details(self):
"""
Only call this if :meth:`is_shared_content_change_link_expiry_details` is true.
:rtype: SharedContentChangeLinkExpiryDetails
"""
if not self.is_shared_content_change_link_expiry_details():
raise AttributeError("tag 'shared_content_change_link_expiry_details' not set")
return self._value
def get_shared_content_change_link_password_details(self):
"""
Only call this if :meth:`is_shared_content_change_link_password_details` is true.
:rtype: SharedContentChangeLinkPasswordDetails
"""
if not self.is_shared_content_change_link_password_details():
raise AttributeError("tag 'shared_content_change_link_password_details' not set")
return self._value
def get_shared_content_change_member_role_details(self):
"""
Only call this if :meth:`is_shared_content_change_member_role_details` is true.
:rtype: SharedContentChangeMemberRoleDetails
"""
if not self.is_shared_content_change_member_role_details():
raise AttributeError("tag 'shared_content_change_member_role_details' not set")
return self._value
def get_shared_content_change_viewer_info_policy_details(self):
"""
Only call this if :meth:`is_shared_content_change_viewer_info_policy_details` is true.
:rtype: SharedContentChangeViewerInfoPolicyDetails
"""
if not self.is_shared_content_change_viewer_info_policy_details():
raise AttributeError("tag 'shared_content_change_viewer_info_policy_details' not set")
return self._value
def get_shared_content_claim_invitation_details(self):
"""
Only call this if :meth:`is_shared_content_claim_invitation_details` is true.
:rtype: SharedContentClaimInvitationDetails
"""
if not self.is_shared_content_claim_invitation_details():
raise AttributeError("tag 'shared_content_claim_invitation_details' not set")
return self._value
def get_shared_content_copy_details(self):
"""
Only call this if :meth:`is_shared_content_copy_details` is true.
:rtype: SharedContentCopyDetails
"""
if not self.is_shared_content_copy_details():
raise AttributeError("tag 'shared_content_copy_details' not set")
return self._value
def get_shared_content_download_details(self):
"""
Only call this if :meth:`is_shared_content_download_details` is true.
:rtype: SharedContentDownloadDetails
"""
if not self.is_shared_content_download_details():
raise AttributeError("tag 'shared_content_download_details' not set")
return self._value
def get_shared_content_relinquish_membership_details(self):
"""
Only call this if :meth:`is_shared_content_relinquish_membership_details` is true.
:rtype: SharedContentRelinquishMembershipDetails
"""
if not self.is_shared_content_relinquish_membership_details():
raise AttributeError("tag 'shared_content_relinquish_membership_details' not set")
return self._value
def get_shared_content_remove_invitees_details(self):
"""
Only call this if :meth:`is_shared_content_remove_invitees_details` is true.
:rtype: SharedContentRemoveInviteesDetails
"""
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):
"""
Only call this if :meth:`is_shared_content_remove_link_expiry_details` is true.
:rtype: SharedContentRemoveLinkExpiryDetails
"""
if not self.is_shared_content_remove_link_expiry_details():
raise AttributeError("tag 'shared_content_remove_link_expiry_details' not set")
return self._value
def get_shared_content_remove_link_password_details(self):
"""
Only call this if :meth:`is_shared_content_remove_link_password_details` is true.
:rtype: SharedContentRemoveLinkPasswordDetails
"""
if not self.is_shared_content_remove_link_password_details():
raise AttributeError("tag 'shared_content_remove_link_password_details' not set")
return self._value
def get_shared_content_remove_member_details(self):
"""
Only call this if :meth:`is_shared_content_remove_member_details` is true.
:rtype: SharedContentRemoveMemberDetails
"""
if not self.is_shared_content_remove_member_details():
raise AttributeError("tag 'shared_content_remove_member_details' not set")
return self._value
def get_shared_content_request_access_details(self):
"""
Only call this if :meth:`is_shared_content_request_access_details` is true.
:rtype: SharedContentRequestAccessDetails
"""
if not self.is_shared_content_request_access_details():
raise AttributeError("tag 'shared_content_request_access_details' not set")
return self._value
def get_shared_content_unshare_details(self):
"""
Only call this if :meth:`is_shared_content_unshare_details` is true.
:rtype: SharedContentUnshareDetails
"""
if not self.is_shared_content_unshare_details():
raise AttributeError("tag 'shared_content_unshare_details' not set")
return self._value
def get_shared_content_view_details(self):
"""
Only call this if :meth:`is_shared_content_view_details` is true.
:rtype: SharedContentViewDetails
"""
if not self.is_shared_content_view_details():
raise AttributeError("tag 'shared_content_view_details' not set")
return self._value
def get_shared_folder_change_link_policy_details(self):
"""
Only call this if :meth:`is_shared_folder_change_link_policy_details` is true.
:rtype: SharedFolderChangeLinkPolicyDetails
"""
if not self.is_shared_folder_change_link_policy_details():
raise AttributeError("tag 'shared_folder_change_link_policy_details' not set")
return self._value
def get_shared_folder_change_members_inheritance_policy_details(self):
"""
Only call this if :meth:`is_shared_folder_change_members_inheritance_policy_details` is true.
:rtype: SharedFolderChangeMembersInheritancePolicyDetails
"""
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_members_management_policy_details(self):
"""
Only call this if :meth:`is_shared_folder_change_members_management_policy_details` is true.
:rtype: SharedFolderChangeMembersManagementPolicyDetails
"""
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):
"""
Only call this if :meth:`is_shared_folder_create_details` is true.
:rtype: SharedFolderCreateDetails
"""
if not self.is_shared_folder_create_details():
raise AttributeError("tag 'shared_folder_create_details' not set")
return self._value
def get_shared_folder_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):
"""
Only call this if :meth:`is_shared_folder_mount_details` is true.
:rtype: SharedFolderMountDetails
"""
if not self.is_shared_folder_mount_details():
raise AttributeError("tag 'shared_folder_mount_details' not set")
return self._value
def get_shared_folder_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):
"""
Only call this if :meth:`is_shared_folder_transfer_ownership_details` is true.
:rtype: SharedFolderTransferOwnershipDetails
"""
if not self.is_shared_folder_transfer_ownership_details():
raise AttributeError("tag 'shared_folder_transfer_ownership_details' not set")
return self._value
def get_shared_folder_unmount_details(self):
"""
Only call this if :meth:`is_shared_folder_unmount_details` is true.
:rtype: SharedFolderUnmountDetails
"""
if not self.is_shared_folder_unmount_details():
raise AttributeError("tag 'shared_folder_unmount_details' not set")
return self._value
def get_shared_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):
"""
Only call this if :meth:`is_shared_note_opened_details` is true.
:rtype: SharedNoteOpenedDetails
"""
if not self.is_shared_note_opened_details():
raise AttributeError("tag 'shared_note_opened_details' not set")
return self._value
def get_shmodel_group_share_details(self):
"""
Only call this if :meth:`is_shmodel_group_share_details` is true.
:rtype: ShmodelGroupShareDetails
"""
if not self.is_shmodel_group_share_details():
raise AttributeError("tag 'shmodel_group_share_details' not set")
return self._value
def get_showcase_access_granted_details(self):
"""
Only call this if :meth:`is_showcase_access_granted_details` is true.
:rtype: ShowcaseAccessGrantedDetails
"""
if not self.is_showcase_access_granted_details():
raise AttributeError("tag 'showcase_access_granted_details' not set")
return self._value
def get_showcase_add_member_details(self):
"""
Only call this if :meth:`is_showcase_add_member_details` is true.
:rtype: ShowcaseAddMemberDetails
"""
if not self.is_showcase_add_member_details():
raise AttributeError("tag 'showcase_add_member_details' not set")
return self._value
def get_showcase_archived_details(self):
"""
Only call this if :meth:`is_showcase_archived_details` is true.
:rtype: ShowcaseArchivedDetails
"""
if not self.is_showcase_archived_details():
raise AttributeError("tag 'showcase_archived_details' not set")
return self._value
def get_showcase_created_details(self):
"""
Only call this if :meth:`is_showcase_created_details` is true.
:rtype: ShowcaseCreatedDetails
"""
if not self.is_showcase_created_details():
raise AttributeError("tag 'showcase_created_details' not set")
return self._value
def get_showcase_delete_comment_details(self):
"""
Only call this if :meth:`is_showcase_delete_comment_details` is true.
:rtype: ShowcaseDeleteCommentDetails
"""
if not self.is_showcase_delete_comment_details():
raise AttributeError("tag 'showcase_delete_comment_details' not set")
return self._value
def get_showcase_edited_details(self):
"""
Only call this if :meth:`is_showcase_edited_details` is true.
:rtype: ShowcaseEditedDetails
"""
if not self.is_showcase_edited_details():
raise AttributeError("tag 'showcase_edited_details' not set")
return self._value
def get_showcase_edit_comment_details(self):
"""
Only call this if :meth:`is_showcase_edit_comment_details` is true.
:rtype: ShowcaseEditCommentDetails
"""
if not self.is_showcase_edit_comment_details():
raise AttributeError("tag 'showcase_edit_comment_details' not set")
return self._value
def get_showcase_file_added_details(self):
"""
Only call this if :meth:`is_showcase_file_added_details` is true.
:rtype: ShowcaseFileAddedDetails
"""
if not self.is_showcase_file_added_details():
raise AttributeError("tag 'showcase_file_added_details' not set")
return self._value
def get_showcase_file_download_details(self):
"""
Only call this if :meth:`is_showcase_file_download_details` is true.
:rtype: ShowcaseFileDownloadDetails
"""
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):
"""
Only call this if :meth:`is_sso_add_cert_details` is true.
:rtype: SsoAddCertDetails
"""
if not self.is_sso_add_cert_details():
raise AttributeError("tag 'sso_add_cert_details' not set")
return self._value
def get_sso_add_login_url_details(self):
"""
Only call this if :meth:`is_sso_add_login_url_details` is true.
:rtype: SsoAddLoginUrlDetails
"""
if not self.is_sso_add_login_url_details():
raise AttributeError("tag 'sso_add_login_url_details' not set")
return self._value
def get_sso_add_logout_url_details(self):
"""
Only call this if :meth:`is_sso_add_logout_url_details` is true.
:rtype: SsoAddLogoutUrlDetails
"""
if not self.is_sso_add_logout_url_details():
raise AttributeError("tag 'sso_add_logout_url_details' not set")
return self._value
def get_sso_change_cert_details(self):
"""
Only call this if :meth:`is_sso_change_cert_details` is true.
:rtype: SsoChangeCertDetails
"""
if not self.is_sso_change_cert_details():
raise AttributeError("tag 'sso_change_cert_details' not set")
return self._value
def get_sso_change_login_url_details(self):
"""
Only call this if :meth:`is_sso_change_login_url_details` is true.
:rtype: SsoChangeLoginUrlDetails
"""
if not self.is_sso_change_login_url_details():
raise AttributeError("tag 'sso_change_login_url_details' not set")
return self._value
def get_sso_change_logout_url_details(self):
"""
Only call this if :meth:`is_sso_change_logout_url_details` is true.
:rtype: SsoChangeLogoutUrlDetails
"""
if not self.is_sso_change_logout_url_details():
raise AttributeError("tag 'sso_change_logout_url_details' not set")
return self._value
def get_sso_change_saml_identity_mode_details(self):
"""
Only call this if :meth:`is_sso_change_saml_identity_mode_details` is true.
:rtype: SsoChangeSamlIdentityModeDetails
"""
if not self.is_sso_change_saml_identity_mode_details():
raise AttributeError("tag 'sso_change_saml_identity_mode_details' not set")
return self._value
def get_sso_remove_cert_details(self):
"""
Only call this if :meth:`is_sso_remove_cert_details` is true.
:rtype: SsoRemoveCertDetails
"""
if not self.is_sso_remove_cert_details():
raise AttributeError("tag 'sso_remove_cert_details' not set")
return self._value
def get_sso_remove_login_url_details(self):
"""
Only call this if :meth:`is_sso_remove_login_url_details` is true.
:rtype: SsoRemoveLoginUrlDetails
"""
if not self.is_sso_remove_login_url_details():
raise AttributeError("tag 'sso_remove_login_url_details' not set")
return self._value
def get_sso_remove_logout_url_details(self):
"""
Only call this if :meth:`is_sso_remove_logout_url_details` is true.
:rtype: SsoRemoveLogoutUrlDetails
"""
if not self.is_sso_remove_logout_url_details():
raise AttributeError("tag 'sso_remove_logout_url_details' not set")
return self._value
def get_team_folder_change_status_details(self):
"""
Only call this if :meth:`is_team_folder_change_status_details` is true.
:rtype: TeamFolderChangeStatusDetails
"""
if not self.is_team_folder_change_status_details():
raise AttributeError("tag 'team_folder_change_status_details' not set")
return self._value
def get_team_folder_create_details(self):
"""
Only call this if :meth:`is_team_folder_create_details` is true.
:rtype: TeamFolderCreateDetails
"""
if not self.is_team_folder_create_details():
raise AttributeError("tag 'team_folder_create_details' not set")
return self._value
def get_team_folder_downgrade_details(self):
"""
Only call this if :meth:`is_team_folder_downgrade_details` is true.
:rtype: TeamFolderDowngradeDetails
"""
if not self.is_team_folder_downgrade_details():
raise AttributeError("tag 'team_folder_downgrade_details' not set")
return self._value
def get_team_folder_permanently_delete_details(self):
"""
Only call this if :meth:`is_team_folder_permanently_delete_details` is true.
:rtype: TeamFolderPermanentlyDeleteDetails
"""
if not self.is_team_folder_permanently_delete_details():
raise AttributeError("tag 'team_folder_permanently_delete_details' not set")
return self._value
def get_team_folder_rename_details(self):
"""
Only call this if :meth:`is_team_folder_rename_details` is true.
:rtype: TeamFolderRenameDetails
"""
if not self.is_team_folder_rename_details():
raise AttributeError("tag 'team_folder_rename_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_account_capture_change_policy_details` is true.
:rtype: AccountCaptureChangePolicyDetails
"""
if not self.is_account_capture_change_policy_details():
raise AttributeError("tag 'account_capture_change_policy_details' not set")
return self._value
def get_allow_download_disabled_details(self):
"""
Only call this if :meth:`is_allow_download_disabled_details` is true.
:rtype: AllowDownloadDisabledDetails
"""
if not self.is_allow_download_disabled_details():
raise AttributeError("tag 'allow_download_disabled_details' not set")
return self._value
def get_allow_download_enabled_details(self):
"""
Only call this if :meth:`is_allow_download_enabled_details` is true.
:rtype: AllowDownloadEnabledDetails
"""
if not self.is_allow_download_enabled_details():
raise AttributeError("tag 'allow_download_enabled_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_data_placement_restriction_change_policy_details` is true.
:rtype: DataPlacementRestrictionChangePolicyDetails
"""
if not self.is_data_placement_restriction_change_policy_details():
raise AttributeError("tag 'data_placement_restriction_change_policy_details' not set")
return self._value
def get_data_placement_restriction_satisfy_policy_details(self):
"""
Only call this if :meth:`is_data_placement_restriction_satisfy_policy_details` is true.
:rtype: DataPlacementRestrictionSatisfyPolicyDetails
"""
if not self.is_data_placement_restriction_satisfy_policy_details():
raise AttributeError("tag 'data_placement_restriction_satisfy_policy_details' not set")
return self._value
def get_device_approvals_change_desktop_policy_details(self):
"""
Only call this if :meth:`is_device_approvals_change_desktop_policy_details` is true.
:rtype: DeviceApprovalsChangeDesktopPolicyDetails
"""
if not self.is_device_approvals_change_desktop_policy_details():
raise AttributeError("tag 'device_approvals_change_desktop_policy_details' not set")
return self._value
def get_device_approvals_change_mobile_policy_details(self):
"""
Only call this if :meth:`is_device_approvals_change_mobile_policy_details` is true.
:rtype: DeviceApprovalsChangeMobilePolicyDetails
"""
if not self.is_device_approvals_change_mobile_policy_details():
raise AttributeError("tag 'device_approvals_change_mobile_policy_details' not set")
return self._value
def get_device_approvals_change_overage_action_details(self):
"""
Only call this if :meth:`is_device_approvals_change_overage_action_details` is true.
:rtype: DeviceApprovalsChangeOverageActionDetails
"""
if not self.is_device_approvals_change_overage_action_details():
raise AttributeError("tag 'device_approvals_change_overage_action_details' not set")
return self._value
def get_device_approvals_change_unlink_action_details(self):
"""
Only call this if :meth:`is_device_approvals_change_unlink_action_details` is true.
:rtype: DeviceApprovalsChangeUnlinkActionDetails
"""
if not self.is_device_approvals_change_unlink_action_details():
raise AttributeError("tag 'device_approvals_change_unlink_action_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_emm_add_exception_details` is true.
:rtype: EmmAddExceptionDetails
"""
if not self.is_emm_add_exception_details():
raise AttributeError("tag 'emm_add_exception_details' not set")
return self._value
def get_emm_change_policy_details(self):
"""
Only call this if :meth:`is_emm_change_policy_details` is true.
:rtype: EmmChangePolicyDetails
"""
if not self.is_emm_change_policy_details():
raise AttributeError("tag 'emm_change_policy_details' not set")
return self._value
def get_emm_remove_exception_details(self):
"""
Only call this if :meth:`is_emm_remove_exception_details` is true.
:rtype: EmmRemoveExceptionDetails
"""
if not self.is_emm_remove_exception_details():
raise AttributeError("tag 'emm_remove_exception_details' not set")
return self._value
def get_extended_version_history_change_policy_details(self):
"""
Only call this if :meth:`is_extended_version_history_change_policy_details` is true.
:rtype: ExtendedVersionHistoryChangePolicyDetails
"""
if not self.is_extended_version_history_change_policy_details():
raise AttributeError("tag 'extended_version_history_change_policy_details' not set")
return self._value
def get_file_comments_change_policy_details(self):
"""
Only call this if :meth:`is_file_comments_change_policy_details` is true.
:rtype: FileCommentsChangePolicyDetails
"""
if not self.is_file_comments_change_policy_details():
raise AttributeError("tag 'file_comments_change_policy_details' not set")
return self._value
def get_file_requests_change_policy_details(self):
"""
Only call this if :meth:`is_file_requests_change_policy_details` is true.
:rtype: FileRequestsChangePolicyDetails
"""
if not self.is_file_requests_change_policy_details():
raise AttributeError("tag 'file_requests_change_policy_details' not set")
return self._value
def get_file_requests_emails_enabled_details(self):
"""
Only call this if :meth:`is_file_requests_emails_enabled_details` is true.
:rtype: FileRequestsEmailsEnabledDetails
"""
if not self.is_file_requests_emails_enabled_details():
raise AttributeError("tag 'file_requests_emails_enabled_details' not set")
return self._value
def get_file_requests_emails_restricted_to_team_only_details(self):
"""
Only call this if :meth:`is_file_requests_emails_restricted_to_team_only_details` is true.
:rtype: FileRequestsEmailsRestrictedToTeamOnlyDetails
"""
if not self.is_file_requests_emails_restricted_to_team_only_details():
raise AttributeError("tag 'file_requests_emails_restricted_to_team_only_details' not set")
return self._value
def get_google_sso_change_policy_details(self):
"""
Only call this if :meth:`is_google_sso_change_policy_details` is true.
:rtype: GoogleSsoChangePolicyDetails
"""
if not self.is_google_sso_change_policy_details():
raise AttributeError("tag 'google_sso_change_policy_details' not set")
return self._value
def get_group_user_management_change_policy_details(self):
"""
Only call this if :meth:`is_group_user_management_change_policy_details` is true.
:rtype: GroupUserManagementChangePolicyDetails
"""
if not self.is_group_user_management_change_policy_details():
raise AttributeError("tag 'group_user_management_change_policy_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_member_requests_change_policy_details` is true.
:rtype: MemberRequestsChangePolicyDetails
"""
if not self.is_member_requests_change_policy_details():
raise AttributeError("tag 'member_requests_change_policy_details' not set")
return self._value
def get_member_space_limits_add_exception_details(self):
"""
Only call this if :meth:`is_member_space_limits_add_exception_details` is true.
:rtype: MemberSpaceLimitsAddExceptionDetails
"""
if not self.is_member_space_limits_add_exception_details():
raise AttributeError("tag 'member_space_limits_add_exception_details' not set")
return self._value
def get_member_space_limits_change_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):
"""
Only call this if :meth:`is_member_space_limits_change_policy_details` is true.
:rtype: MemberSpaceLimitsChangePolicyDetails
"""
if not self.is_member_space_limits_change_policy_details():
raise AttributeError("tag 'member_space_limits_change_policy_details' not set")
return self._value
def get_member_space_limits_remove_exception_details(self):
"""
Only call this if :meth:`is_member_space_limits_remove_exception_details` is true.
:rtype: MemberSpaceLimitsRemoveExceptionDetails
"""
if not self.is_member_space_limits_remove_exception_details():
raise AttributeError("tag 'member_space_limits_remove_exception_details' not set")
return self._value
def get_member_suggestions_change_policy_details(self):
"""
Only call this if :meth:`is_member_suggestions_change_policy_details` is true.
:rtype: MemberSuggestionsChangePolicyDetails
"""
if not self.is_member_suggestions_change_policy_details():
raise AttributeError("tag 'member_suggestions_change_policy_details' not set")
return self._value
def get_microsoft_office_addin_change_policy_details(self):
"""
Only call this if :meth:`is_microsoft_office_addin_change_policy_details` is true.
:rtype: MicrosoftOfficeAddinChangePolicyDetails
"""
if not self.is_microsoft_office_addin_change_policy_details():
raise AttributeError("tag 'microsoft_office_addin_change_policy_details' not set")
return self._value
def get_network_control_change_policy_details(self):
"""
Only call this if :meth:`is_network_control_change_policy_details` is true.
:rtype: NetworkControlChangePolicyDetails
"""
if not self.is_network_control_change_policy_details():
raise AttributeError("tag 'network_control_change_policy_details' not set")
return self._value
def get_paper_change_deployment_policy_details(self):
"""
Only call this if :meth:`is_paper_change_deployment_policy_details` is true.
:rtype: PaperChangeDeploymentPolicyDetails
"""
if not self.is_paper_change_deployment_policy_details():
raise AttributeError("tag 'paper_change_deployment_policy_details' not set")
return self._value
def get_paper_change_member_link_policy_details(self):
"""
Only call this if :meth:`is_paper_change_member_link_policy_details` is true.
:rtype: PaperChangeMemberLinkPolicyDetails
"""
if not self.is_paper_change_member_link_policy_details():
raise AttributeError("tag 'paper_change_member_link_policy_details' not set")
return self._value
def get_paper_change_member_policy_details(self):
"""
Only call this if :meth:`is_paper_change_member_policy_details` is true.
:rtype: PaperChangeMemberPolicyDetails
"""
if not self.is_paper_change_member_policy_details():
raise AttributeError("tag 'paper_change_member_policy_details' not set")
return self._value
def get_paper_change_policy_details(self):
"""
Only call this if :meth:`is_paper_change_policy_details` is true.
:rtype: PaperChangePolicyDetails
"""
if not self.is_paper_change_policy_details():
raise AttributeError("tag 'paper_change_policy_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_permanent_delete_change_policy_details` is true.
:rtype: PermanentDeleteChangePolicyDetails
"""
if not self.is_permanent_delete_change_policy_details():
raise AttributeError("tag 'permanent_delete_change_policy_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_sharing_change_folder_join_policy_details` is true.
:rtype: SharingChangeFolderJoinPolicyDetails
"""
if not self.is_sharing_change_folder_join_policy_details():
raise AttributeError("tag 'sharing_change_folder_join_policy_details' not set")
return self._value
def get_sharing_change_link_policy_details(self):
"""
Only call this if :meth:`is_sharing_change_link_policy_details` is true.
:rtype: SharingChangeLinkPolicyDetails
"""
if not self.is_sharing_change_link_policy_details():
raise AttributeError("tag 'sharing_change_link_policy_details' not set")
return self._value
def get_sharing_change_member_policy_details(self):
"""
Only call this if :meth:`is_sharing_change_member_policy_details` is true.
:rtype: SharingChangeMemberPolicyDetails
"""
if not self.is_sharing_change_member_policy_details():
raise AttributeError("tag 'sharing_change_member_policy_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_smart_sync_change_policy_details` is true.
:rtype: SmartSyncChangePolicyDetails
"""
if not self.is_smart_sync_change_policy_details():
raise AttributeError("tag 'smart_sync_change_policy_details' not set")
return self._value
def get_smart_sync_not_opt_out_details(self):
"""
Only call this if :meth:`is_smart_sync_not_opt_out_details` is true.
:rtype: SmartSyncNotOptOutDetails
"""
if not self.is_smart_sync_not_opt_out_details():
raise AttributeError("tag 'smart_sync_not_opt_out_details' not set")
return self._value
def get_smart_sync_opt_out_details(self):
"""
Only call this if :meth:`is_smart_sync_opt_out_details` is true.
:rtype: SmartSyncOptOutDetails
"""
if not self.is_smart_sync_opt_out_details():
raise AttributeError("tag 'smart_sync_opt_out_details' not set")
return self._value
def get_sso_change_policy_details(self):
"""
Only call this if :meth:`is_sso_change_policy_details` is true.
:rtype: SsoChangePolicyDetails
"""
if not self.is_sso_change_policy_details():
raise AttributeError("tag 'sso_change_policy_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_tfa_change_policy_details` is true.
:rtype: TfaChangePolicyDetails
"""
if not self.is_tfa_change_policy_details():
raise AttributeError("tag 'tfa_change_policy_details' not set")
return self._value
def get_two_account_change_policy_details(self):
"""
Only call this if :meth:`is_two_account_change_policy_details` is true.
:rtype: TwoAccountChangePolicyDetails
"""
if not self.is_two_account_change_policy_details():
raise AttributeError("tag 'two_account_change_policy_details' not set")
return self._value
def get_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):
"""
Only call this if :meth:`is_web_sessions_change_fixed_length_policy_details` is true.
:rtype: WebSessionsChangeFixedLengthPolicyDetails
"""
if not self.is_web_sessions_change_fixed_length_policy_details():
raise AttributeError("tag 'web_sessions_change_fixed_length_policy_details' not set")
return self._value
def get_web_sessions_change_idle_length_policy_details(self):
"""
Only call this if :meth:`is_web_sessions_change_idle_length_policy_details` is true.
:rtype: WebSessionsChangeIdleLengthPolicyDetails
"""
if not self.is_web_sessions_change_idle_length_policy_details():
raise AttributeError("tag 'web_sessions_change_idle_length_policy_details' not set")
return self._value
def get_team_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):
"""
Only call this if :meth:`is_team_profile_add_logo_details` is true.
:rtype: TeamProfileAddLogoDetails
"""
if not self.is_team_profile_add_logo_details():
raise AttributeError("tag 'team_profile_add_logo_details' not set")
return self._value
def get_team_profile_change_default_language_details(self):
"""
Only call this if :meth:`is_team_profile_change_default_language_details` is true.
:rtype: TeamProfileChangeDefaultLanguageDetails
"""
if not self.is_team_profile_change_default_language_details():
raise AttributeError("tag 'team_profile_change_default_language_details' not set")
return self._value
def get_team_profile_change_logo_details(self):
"""
Only call this if :meth:`is_team_profile_change_logo_details` is true.
:rtype: TeamProfileChangeLogoDetails
"""
if not self.is_team_profile_change_logo_details():
raise AttributeError("tag 'team_profile_change_logo_details' not set")
return self._value
def get_team_profile_change_name_details(self):
"""
Only call this if :meth:`is_team_profile_change_name_details` is true.
:rtype: TeamProfileChangeNameDetails
"""
if not self.is_team_profile_change_name_details():
raise AttributeError("tag 'team_profile_change_name_details' not set")
return self._value
def get_team_profile_remove_logo_details(self):
"""
Only call this if :meth:`is_team_profile_remove_logo_details` is true.
:rtype: TeamProfileRemoveLogoDetails
"""
if not self.is_team_profile_remove_logo_details():
raise AttributeError("tag 'team_profile_remove_logo_details' not set")
return self._value
def get_tfa_add_backup_phone_details(self):
"""
Only call this if :meth:`is_tfa_add_backup_phone_details` is true.
:rtype: TfaAddBackupPhoneDetails
"""
if not self.is_tfa_add_backup_phone_details():
raise AttributeError("tag 'tfa_add_backup_phone_details' not set")
return self._value
def get_tfa_add_security_key_details(self):
"""
Only call this if :meth:`is_tfa_add_security_key_details` is true.
:rtype: TfaAddSecurityKeyDetails
"""
if not self.is_tfa_add_security_key_details():
raise AttributeError("tag 'tfa_add_security_key_details' not set")
return self._value
def get_tfa_change_backup_phone_details(self):
"""
Only call this if :meth:`is_tfa_change_backup_phone_details` is true.
:rtype: TfaChangeBackupPhoneDetails
"""
if not self.is_tfa_change_backup_phone_details():
raise AttributeError("tag 'tfa_change_backup_phone_details' not set")
return self._value
def get_tfa_change_status_details(self):
"""
Only call this if :meth:`is_tfa_change_status_details` is true.
:rtype: TfaChangeStatusDetails
"""
if not self.is_tfa_change_status_details():
raise AttributeError("tag 'tfa_change_status_details' not set")
return self._value
def get_tfa_remove_backup_phone_details(self):
"""
Only call this if :meth:`is_tfa_remove_backup_phone_details` is true.
:rtype: TfaRemoveBackupPhoneDetails
"""
if not self.is_tfa_remove_backup_phone_details():
raise AttributeError("tag 'tfa_remove_backup_phone_details' not set")
return self._value
def get_tfa_remove_security_key_details(self):
"""
Only call this if :meth:`is_tfa_remove_security_key_details` is true.
:rtype: TfaRemoveSecurityKeyDetails
"""
if not self.is_tfa_remove_security_key_details():
raise AttributeError("tag 'tfa_remove_security_key_details' not set")
return self._value
def get_tfa_reset_details(self):
"""
Only call this if :meth:`is_tfa_reset_details` is true.
:rtype: TfaResetDetails
"""
if not self.is_tfa_reset_details():
raise AttributeError("tag 'tfa_reset_details' not set")
return self._value
def get_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
internal error.
Only call this if :meth:`is_missing_details` is true.
:rtype: MissingDetails
"""
if not self.is_missing_details():
raise AttributeError("tag 'missing_details' not set")
return self._value
def _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)
EventDetails_validator = bv.Union(EventDetails)
class EventType(bb.Union):
"""
The type of the event.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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
other = None
@classmethod
def app_link_team(cls, val):
"""
Create an instance of this class set to the ``app_link_team`` tag with
value ``val``.
:param AppLinkTeamType val:
:rtype: EventType
"""
return cls('app_link_team', val)
@classmethod
def app_link_user(cls, val):
"""
Create an instance of this class set to the ``app_link_user`` tag with
value ``val``.
:param AppLinkUserType val:
:rtype: EventType
"""
return cls('app_link_user', val)
@classmethod
def app_unlink_team(cls, val):
"""
Create an instance of this class set to the ``app_unlink_team`` tag with
value ``val``.
:param AppUnlinkTeamType val:
:rtype: EventType
"""
return cls('app_unlink_team', val)
@classmethod
def app_unlink_user(cls, val):
"""
Create an instance of this class set to the ``app_unlink_user`` tag with
value ``val``.
:param AppUnlinkUserType val:
:rtype: EventType
"""
return cls('app_unlink_user', val)
@classmethod
def integration_connected(cls, val):
"""
Create an instance of this class set to the ``integration_connected``
tag with value ``val``.
:param IntegrationConnectedType val:
:rtype: EventType
"""
return cls('integration_connected', val)
@classmethod
def integration_disconnected(cls, val):
"""
Create an instance of this class set to the ``integration_disconnected``
tag with value ``val``.
:param IntegrationDisconnectedType val:
:rtype: EventType
"""
return cls('integration_disconnected', val)
@classmethod
def file_add_comment(cls, val):
"""
Create an instance of this class set to the ``file_add_comment`` tag
with value ``val``.
:param FileAddCommentType val:
:rtype: EventType
"""
return cls('file_add_comment', val)
@classmethod
def file_change_comment_subscription(cls, val):
"""
Create an instance of this class set to the
``file_change_comment_subscription`` tag with value ``val``.
:param FileChangeCommentSubscriptionType val:
:rtype: EventType
"""
return cls('file_change_comment_subscription', val)
@classmethod
def file_delete_comment(cls, val):
"""
Create an instance of this class set to the ``file_delete_comment`` tag
with value ``val``.
:param FileDeleteCommentType val:
:rtype: EventType
"""
return cls('file_delete_comment', val)
@classmethod
def file_edit_comment(cls, val):
"""
Create an instance of this class set to the ``file_edit_comment`` tag
with value ``val``.
:param FileEditCommentType val:
:rtype: EventType
"""
return cls('file_edit_comment', val)
@classmethod
def file_like_comment(cls, val):
"""
Create an instance of this class set to the ``file_like_comment`` tag
with value ``val``.
:param FileLikeCommentType val:
:rtype: EventType
"""
return cls('file_like_comment', val)
@classmethod
def file_resolve_comment(cls, val):
"""
Create an instance of this class set to the ``file_resolve_comment`` tag
with value ``val``.
:param FileResolveCommentType val:
:rtype: EventType
"""
return cls('file_resolve_comment', val)
@classmethod
def file_unlike_comment(cls, val):
"""
Create an instance of this class set to the ``file_unlike_comment`` tag
with value ``val``.
:param FileUnlikeCommentType val:
:rtype: EventType
"""
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):
"""
Check if the union tag is ``app_link_team``.
:rtype: bool
"""
return self._tag == 'app_link_team'
def is_app_link_user(self):
"""
Check if the union tag is ``app_link_user``.
:rtype: bool
"""
return self._tag == 'app_link_user'
def is_app_unlink_team(self):
"""
Check if the union tag is ``app_unlink_team``.
:rtype: bool
"""
return self._tag == 'app_unlink_team'
def is_app_unlink_user(self):
"""
Check if the union tag is ``app_unlink_user``.
:rtype: bool
"""
return self._tag == 'app_unlink_user'
def is_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``.
:rtype: bool
"""
return self._tag == 'file_add_comment'
def is_file_change_comment_subscription(self):
"""
Check if the union tag is ``file_change_comment_subscription``.
:rtype: bool
"""
return self._tag == 'file_change_comment_subscription'
def is_file_delete_comment(self):
"""
Check if the union tag is ``file_delete_comment``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'file_like_comment'
def is_file_resolve_comment(self):
"""
Check if the union tag is ``file_resolve_comment``.
:rtype: bool
"""
return self._tag == 'file_resolve_comment'
def is_file_unlike_comment(self):
"""
Check if the union tag is ``file_unlike_comment``.
:rtype: bool
"""
return self._tag == 'file_unlike_comment'
def is_file_unresolve_comment(self):
"""
Check if the union tag is ``file_unresolve_comment``.
:rtype: bool
"""
return self._tag == 'file_unresolve_comment'
def is_device_change_ip_desktop(self):
"""
Check if the union tag is ``device_change_ip_desktop``.
:rtype: bool
"""
return self._tag == 'device_change_ip_desktop'
def is_device_change_ip_mobile(self):
"""
Check if the union tag is ``device_change_ip_mobile``.
:rtype: bool
"""
return self._tag == 'device_change_ip_mobile'
def is_device_change_ip_web(self):
"""
Check if the union tag is ``device_change_ip_web``.
:rtype: bool
"""
return self._tag == 'device_change_ip_web'
def is_device_delete_on_unlink_fail(self):
"""
Check if the union tag is ``device_delete_on_unlink_fail``.
:rtype: bool
"""
return self._tag == 'device_delete_on_unlink_fail'
def is_device_delete_on_unlink_success(self):
"""
Check if the union tag is ``device_delete_on_unlink_success``.
:rtype: bool
"""
return self._tag == 'device_delete_on_unlink_success'
def is_device_link_fail(self):
"""
Check if the union tag is ``device_link_fail``.
:rtype: bool
"""
return self._tag == 'device_link_fail'
def is_device_link_success(self):
"""
Check if the union tag is ``device_link_success``.
:rtype: bool
"""
return self._tag == 'device_link_success'
def is_device_management_disabled(self):
"""
Check if the union tag is ``device_management_disabled``.
:rtype: bool
"""
return self._tag == 'device_management_disabled'
def is_device_management_enabled(self):
"""
Check if the union tag is ``device_management_enabled``.
:rtype: bool
"""
return self._tag == 'device_management_enabled'
def is_device_unlink(self):
"""
Check if the union tag is ``device_unlink``.
:rtype: bool
"""
return self._tag == 'device_unlink'
def is_emm_refresh_auth_token(self):
"""
Check if the union tag is ``emm_refresh_auth_token``.
:rtype: bool
"""
return self._tag == 'emm_refresh_auth_token'
def is_account_capture_change_availability(self):
"""
Check if the union tag is ``account_capture_change_availability``.
:rtype: bool
"""
return self._tag == 'account_capture_change_availability'
def is_account_capture_migrate_account(self):
"""
Check if the union tag is ``account_capture_migrate_account``.
:rtype: bool
"""
return self._tag == 'account_capture_migrate_account'
def is_account_capture_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``.
:rtype: bool
"""
return self._tag == 'account_capture_relinquish_account'
def is_disabled_domain_invites(self):
"""
Check if the union tag is ``disabled_domain_invites``.
:rtype: bool
"""
return self._tag == 'disabled_domain_invites'
def is_domain_invites_approve_request_to_join_team(self):
"""
Check if the union tag is ``domain_invites_approve_request_to_join_team``.
:rtype: bool
"""
return self._tag == 'domain_invites_approve_request_to_join_team'
def is_domain_invites_decline_request_to_join_team(self):
"""
Check if the union tag is ``domain_invites_decline_request_to_join_team``.
:rtype: bool
"""
return self._tag == 'domain_invites_decline_request_to_join_team'
def is_domain_invites_email_existing_users(self):
"""
Check if the union tag is ``domain_invites_email_existing_users``.
:rtype: bool
"""
return self._tag == 'domain_invites_email_existing_users'
def is_domain_invites_request_to_join_team(self):
"""
Check if the union tag is ``domain_invites_request_to_join_team``.
:rtype: bool
"""
return self._tag == 'domain_invites_request_to_join_team'
def is_domain_invites_set_invite_new_user_pref_to_no(self):
"""
Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_no``.
:rtype: bool
"""
return self._tag == 'domain_invites_set_invite_new_user_pref_to_no'
def is_domain_invites_set_invite_new_user_pref_to_yes(self):
"""
Check if the union tag is ``domain_invites_set_invite_new_user_pref_to_yes``.
:rtype: bool
"""
return self._tag == 'domain_invites_set_invite_new_user_pref_to_yes'
def is_domain_verification_add_domain_fail(self):
"""
Check if the union tag is ``domain_verification_add_domain_fail``.
:rtype: bool
"""
return self._tag == 'domain_verification_add_domain_fail'
def is_domain_verification_add_domain_success(self):
"""
Check if the union tag is ``domain_verification_add_domain_success``.
:rtype: bool
"""
return self._tag == 'domain_verification_add_domain_success'
def is_domain_verification_remove_domain(self):
"""
Check if the union tag is ``domain_verification_remove_domain``.
:rtype: bool
"""
return self._tag == 'domain_verification_remove_domain'
def is_enabled_domain_invites(self):
"""
Check if the union tag is ``enabled_domain_invites``.
:rtype: bool
"""
return self._tag == 'enabled_domain_invites'
def is_create_folder(self):
"""
Check if the union tag is ``create_folder``.
:rtype: bool
"""
return self._tag == 'create_folder'
def is_file_add(self):
"""
Check if the union tag is ``file_add``.
:rtype: bool
"""
return self._tag == 'file_add'
def is_file_copy(self):
"""
Check if the union tag is ``file_copy``.
:rtype: bool
"""
return self._tag == 'file_copy'
def is_file_delete(self):
"""
Check if the union tag is ``file_delete``.
:rtype: bool
"""
return self._tag == 'file_delete'
def is_file_download(self):
"""
Check if the union tag is ``file_download``.
:rtype: bool
"""
return self._tag == 'file_download'
def is_file_edit(self):
"""
Check if the union tag is ``file_edit``.
:rtype: bool
"""
return self._tag == 'file_edit'
def is_file_get_copy_reference(self):
"""
Check if the union tag is ``file_get_copy_reference``.
:rtype: bool
"""
return self._tag == 'file_get_copy_reference'
def is_file_move(self):
"""
Check if the union tag is ``file_move``.
:rtype: bool
"""
return self._tag == 'file_move'
def is_file_permanently_delete(self):
"""
Check if the union tag is ``file_permanently_delete``.
:rtype: bool
"""
return self._tag == 'file_permanently_delete'
def is_file_preview(self):
"""
Check if the union tag is ``file_preview``.
:rtype: bool
"""
return self._tag == 'file_preview'
def is_file_rename(self):
"""
Check if the union tag is ``file_rename``.
:rtype: bool
"""
return self._tag == 'file_rename'
def is_file_restore(self):
"""
Check if the union tag is ``file_restore``.
:rtype: bool
"""
return self._tag == 'file_restore'
def is_file_revert(self):
"""
Check if the union tag is ``file_revert``.
:rtype: bool
"""
return self._tag == 'file_revert'
def is_file_rollback_changes(self):
"""
Check if the union tag is ``file_rollback_changes``.
:rtype: bool
"""
return self._tag == 'file_rollback_changes'
def is_file_save_copy_reference(self):
"""
Check if the union tag is ``file_save_copy_reference``.
:rtype: bool
"""
return self._tag == 'file_save_copy_reference'
def is_file_request_change(self):
"""
Check if the union tag is ``file_request_change``.
:rtype: bool
"""
return self._tag == 'file_request_change'
def is_file_request_close(self):
"""
Check if the union tag is ``file_request_close``.
:rtype: bool
"""
return self._tag == 'file_request_close'
def is_file_request_create(self):
"""
Check if the union tag is ``file_request_create``.
:rtype: bool
"""
return self._tag == 'file_request_create'
def is_file_request_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``.
:rtype: bool
"""
return self._tag == 'file_request_receive_file'
def is_group_add_external_id(self):
"""
Check if the union tag is ``group_add_external_id``.
:rtype: bool
"""
return self._tag == 'group_add_external_id'
def is_group_add_member(self):
"""
Check if the union tag is ``group_add_member``.
:rtype: bool
"""
return self._tag == 'group_add_member'
def is_group_change_external_id(self):
"""
Check if the union tag is ``group_change_external_id``.
:rtype: bool
"""
return self._tag == 'group_change_external_id'
def is_group_change_management_type(self):
"""
Check if the union tag is ``group_change_management_type``.
:rtype: bool
"""
return self._tag == 'group_change_management_type'
def is_group_change_member_role(self):
"""
Check if the union tag is ``group_change_member_role``.
:rtype: bool
"""
return self._tag == 'group_change_member_role'
def is_group_create(self):
"""
Check if the union tag is ``group_create``.
:rtype: bool
"""
return self._tag == 'group_create'
def is_group_delete(self):
"""
Check if the union tag is ``group_delete``.
:rtype: bool
"""
return self._tag == 'group_delete'
def is_group_description_updated(self):
"""
Check if the union tag is ``group_description_updated``.
:rtype: bool
"""
return self._tag == 'group_description_updated'
def is_group_join_policy_updated(self):
"""
Check if the union tag is ``group_join_policy_updated``.
:rtype: bool
"""
return self._tag == 'group_join_policy_updated'
def is_group_moved(self):
"""
Check if the union tag is ``group_moved``.
:rtype: bool
"""
return self._tag == 'group_moved'
def is_group_remove_external_id(self):
"""
Check if the union tag is ``group_remove_external_id``.
:rtype: bool
"""
return self._tag == 'group_remove_external_id'
def is_group_remove_member(self):
"""
Check if the union tag is ``group_remove_member``.
:rtype: bool
"""
return self._tag == 'group_remove_member'
def is_group_rename(self):
"""
Check if the union tag is ``group_rename``.
:rtype: bool
"""
return self._tag == 'group_rename'
def is_emm_error(self):
"""
Check if the union tag is ``emm_error``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``logout``.
:rtype: bool
"""
return self._tag == 'logout'
def is_reseller_support_session_end(self):
"""
Check if the union tag is ``reseller_support_session_end``.
:rtype: bool
"""
return self._tag == 'reseller_support_session_end'
def is_reseller_support_session_start(self):
"""
Check if the union tag is ``reseller_support_session_start``.
:rtype: bool
"""
return self._tag == 'reseller_support_session_start'
def is_sign_in_as_session_end(self):
"""
Check if the union tag is ``sign_in_as_session_end``.
:rtype: bool
"""
return self._tag == 'sign_in_as_session_end'
def is_sign_in_as_session_start(self):
"""
Check if the union tag is ``sign_in_as_session_start``.
:rtype: bool
"""
return self._tag == 'sign_in_as_session_start'
def is_sso_error(self):
"""
Check if the union tag is ``sso_error``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``member_add_name``.
:rtype: bool
"""
return self._tag == 'member_add_name'
def is_member_change_admin_role(self):
"""
Check if the union tag is ``member_change_admin_role``.
:rtype: bool
"""
return self._tag == 'member_change_admin_role'
def is_member_change_email(self):
"""
Check if the union tag is ``member_change_email``.
:rtype: bool
"""
return self._tag == 'member_change_email'
def is_member_change_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``.
:rtype: bool
"""
return self._tag == 'member_change_name'
def is_member_change_status(self):
"""
Check if the union tag is ``member_change_status``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'paper_content_add_member'
def is_paper_content_add_to_folder(self):
"""
Check if the union tag is ``paper_content_add_to_folder``.
:rtype: bool
"""
return self._tag == 'paper_content_add_to_folder'
def is_paper_content_archive(self):
"""
Check if the union tag is ``paper_content_archive``.
:rtype: bool
"""
return self._tag == 'paper_content_archive'
def is_paper_content_create(self):
"""
Check if the union tag is ``paper_content_create``.
:rtype: bool
"""
return self._tag == 'paper_content_create'
def is_paper_content_permanently_delete(self):
"""
Check if the union tag is ``paper_content_permanently_delete``.
:rtype: bool
"""
return self._tag == 'paper_content_permanently_delete'
def is_paper_content_remove_from_folder(self):
"""
Check if the union tag is ``paper_content_remove_from_folder``.
:rtype: bool
"""
return self._tag == 'paper_content_remove_from_folder'
def is_paper_content_remove_member(self):
"""
Check if the union tag is ``paper_content_remove_member``.
:rtype: bool
"""
return self._tag == 'paper_content_remove_member'
def is_paper_content_rename(self):
"""
Check if the union tag is ``paper_content_rename``.
:rtype: bool
"""
return self._tag == 'paper_content_rename'
def is_paper_content_restore(self):
"""
Check if the union tag is ``paper_content_restore``.
:rtype: bool
"""
return self._tag == 'paper_content_restore'
def is_paper_doc_add_comment(self):
"""
Check if the union tag is ``paper_doc_add_comment``.
:rtype: bool
"""
return self._tag == 'paper_doc_add_comment'
def is_paper_doc_change_member_role(self):
"""
Check if the union tag is ``paper_doc_change_member_role``.
:rtype: bool
"""
return self._tag == 'paper_doc_change_member_role'
def is_paper_doc_change_sharing_policy(self):
"""
Check if the union tag is ``paper_doc_change_sharing_policy``.
:rtype: bool
"""
return self._tag == 'paper_doc_change_sharing_policy'
def is_paper_doc_change_subscription(self):
"""
Check if the union tag is ``paper_doc_change_subscription``.
:rtype: bool
"""
return self._tag == 'paper_doc_change_subscription'
def is_paper_doc_deleted(self):
"""
Check if the union tag is ``paper_doc_deleted``.
:rtype: bool
"""
return self._tag == 'paper_doc_deleted'
def is_paper_doc_delete_comment(self):
"""
Check if the union tag is ``paper_doc_delete_comment``.
:rtype: bool
"""
return self._tag == 'paper_doc_delete_comment'
def is_paper_doc_download(self):
"""
Check if the union tag is ``paper_doc_download``.
:rtype: bool
"""
return self._tag == 'paper_doc_download'
def is_paper_doc_edit(self):
"""
Check if the union tag is ``paper_doc_edit``.
:rtype: bool
"""
return self._tag == 'paper_doc_edit'
def is_paper_doc_edit_comment(self):
"""
Check if the union tag is ``paper_doc_edit_comment``.
:rtype: bool
"""
return self._tag == 'paper_doc_edit_comment'
def is_paper_doc_followed(self):
"""
Check if the union tag is ``paper_doc_followed``.
:rtype: bool
"""
return self._tag == 'paper_doc_followed'
def is_paper_doc_mention(self):
"""
Check if the union tag is ``paper_doc_mention``.
:rtype: bool
"""
return self._tag == 'paper_doc_mention'
def is_paper_doc_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``.
:rtype: bool
"""
return self._tag == 'paper_doc_request_access'
def is_paper_doc_resolve_comment(self):
"""
Check if the union tag is ``paper_doc_resolve_comment``.
:rtype: bool
"""
return self._tag == 'paper_doc_resolve_comment'
def is_paper_doc_revert(self):
"""
Check if the union tag is ``paper_doc_revert``.
:rtype: bool
"""
return self._tag == 'paper_doc_revert'
def is_paper_doc_slack_share(self):
"""
Check if the union tag is ``paper_doc_slack_share``.
:rtype: bool
"""
return self._tag == 'paper_doc_slack_share'
def is_paper_doc_team_invite(self):
"""
Check if the union tag is ``paper_doc_team_invite``.
:rtype: bool
"""
return self._tag == 'paper_doc_team_invite'
def is_paper_doc_trashed(self):
"""
Check if the union tag is ``paper_doc_trashed``.
:rtype: bool
"""
return self._tag == 'paper_doc_trashed'
def is_paper_doc_unresolve_comment(self):
"""
Check if the union tag is ``paper_doc_unresolve_comment``.
:rtype: bool
"""
return self._tag == 'paper_doc_unresolve_comment'
def is_paper_doc_untrashed(self):
"""
Check if the union tag is ``paper_doc_untrashed``.
:rtype: bool
"""
return self._tag == 'paper_doc_untrashed'
def is_paper_doc_view(self):
"""
Check if the union tag is ``paper_doc_view``.
:rtype: bool
"""
return self._tag == 'paper_doc_view'
def is_paper_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``.
:rtype: bool
"""
return self._tag == 'paper_folder_change_subscription'
def is_paper_folder_deleted(self):
"""
Check if the union tag is ``paper_folder_deleted``.
:rtype: bool
"""
return self._tag == 'paper_folder_deleted'
def is_paper_folder_followed(self):
"""
Check if the union tag is ``paper_folder_followed``.
:rtype: bool
"""
return self._tag == 'paper_folder_followed'
def is_paper_folder_team_invite(self):
"""
Check if the union tag is ``paper_folder_team_invite``.
:rtype: bool
"""
return self._tag == 'paper_folder_team_invite'
def is_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``.
:rtype: bool
"""
return self._tag == 'password_change'
def is_password_reset(self):
"""
Check if the union tag is ``password_reset``.
:rtype: bool
"""
return self._tag == 'password_reset'
def is_password_reset_all(self):
"""
Check if the union tag is ``password_reset_all``.
:rtype: bool
"""
return self._tag == 'password_reset_all'
def is_emm_create_exceptions_report(self):
"""
Check if the union tag is ``emm_create_exceptions_report``.
:rtype: bool
"""
return self._tag == 'emm_create_exceptions_report'
def is_emm_create_usage_report(self):
"""
Check if the union tag is ``emm_create_usage_report``.
:rtype: bool
"""
return self._tag == 'emm_create_usage_report'
def is_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``.
:rtype: bool
"""
return self._tag == 'smart_sync_create_admin_privilege_report'
def is_team_activity_create_report(self):
"""
Check if the union tag is ``team_activity_create_report``.
:rtype: bool
"""
return self._tag == 'team_activity_create_report'
def is_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``.
:rtype: bool
"""
return self._tag == 'collection_share'
def is_note_acl_invite_only(self):
"""
Check if the union tag is ``note_acl_invite_only``.
:rtype: bool
"""
return self._tag == 'note_acl_invite_only'
def is_note_acl_link(self):
"""
Check if the union tag is ``note_acl_link``.
:rtype: bool
"""
return self._tag == 'note_acl_link'
def is_note_acl_team_link(self):
"""
Check if the union tag is ``note_acl_team_link``.
:rtype: bool
"""
return self._tag == 'note_acl_team_link'
def is_note_shared(self):
"""
Check if the union tag is ``note_shared``.
:rtype: bool
"""
return self._tag == 'note_shared'
def is_note_share_receive(self):
"""
Check if the union tag is ``note_share_receive``.
:rtype: bool
"""
return self._tag == 'note_share_receive'
def is_open_note_shared(self):
"""
Check if the union tag is ``open_note_shared``.
:rtype: bool
"""
return self._tag == 'open_note_shared'
def is_sf_add_group(self):
"""
Check if the union tag is ``sf_add_group``.
:rtype: bool
"""
return self._tag == 'sf_add_group'
def is_sf_allow_non_members_to_view_shared_links(self):
"""
Check if the union tag is ``sf_allow_non_members_to_view_shared_links``.
:rtype: bool
"""
return self._tag == 'sf_allow_non_members_to_view_shared_links'
def is_sf_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``.
:rtype: bool
"""
return self._tag == 'sf_invite_group'
def is_sf_team_grant_access(self):
"""
Check if the union tag is ``sf_team_grant_access``.
:rtype: bool
"""
return self._tag == 'sf_team_grant_access'
def is_sf_team_invite(self):
"""
Check if the union tag is ``sf_team_invite``.
:rtype: bool
"""
return self._tag == 'sf_team_invite'
def is_sf_team_invite_change_role(self):
"""
Check if the union tag is ``sf_team_invite_change_role``.
:rtype: bool
"""
return self._tag == 'sf_team_invite_change_role'
def is_sf_team_join(self):
"""
Check if the union tag is ``sf_team_join``.
:rtype: bool
"""
return self._tag == 'sf_team_join'
def is_sf_team_join_from_oob_link(self):
"""
Check if the union tag is ``sf_team_join_from_oob_link``.
:rtype: bool
"""
return self._tag == 'sf_team_join_from_oob_link'
def is_sf_team_uninvite(self):
"""
Check if the union tag is ``sf_team_uninvite``.
:rtype: bool
"""
return self._tag == 'sf_team_uninvite'
def is_shared_content_add_invitees(self):
"""
Check if the union tag is ``shared_content_add_invitees``.
:rtype: bool
"""
return self._tag == 'shared_content_add_invitees'
def is_shared_content_add_link_expiry(self):
"""
Check if the union tag is ``shared_content_add_link_expiry``.
:rtype: bool
"""
return self._tag == 'shared_content_add_link_expiry'
def is_shared_content_add_link_password(self):
"""
Check if the union tag is ``shared_content_add_link_password``.
:rtype: bool
"""
return self._tag == 'shared_content_add_link_password'
def is_shared_content_add_member(self):
"""
Check if the union tag is ``shared_content_add_member``.
:rtype: bool
"""
return self._tag == 'shared_content_add_member'
def is_shared_content_change_downloads_policy(self):
"""
Check if the union tag is ``shared_content_change_downloads_policy``.
:rtype: bool
"""
return self._tag == 'shared_content_change_downloads_policy'
def is_shared_content_change_invitee_role(self):
"""
Check if the union tag is ``shared_content_change_invitee_role``.
:rtype: bool
"""
return self._tag == 'shared_content_change_invitee_role'
def is_shared_content_change_link_audience(self):
"""
Check if the union tag is ``shared_content_change_link_audience``.
:rtype: bool
"""
return self._tag == 'shared_content_change_link_audience'
def is_shared_content_change_link_expiry(self):
"""
Check if the union tag is ``shared_content_change_link_expiry``.
:rtype: bool
"""
return self._tag == 'shared_content_change_link_expiry'
def is_shared_content_change_link_password(self):
"""
Check if the union tag is ``shared_content_change_link_password``.
:rtype: bool
"""
return self._tag == 'shared_content_change_link_password'
def is_shared_content_change_member_role(self):
"""
Check if the union tag is ``shared_content_change_member_role``.
:rtype: bool
"""
return self._tag == 'shared_content_change_member_role'
def is_shared_content_change_viewer_info_policy(self):
"""
Check if the union tag is ``shared_content_change_viewer_info_policy``.
:rtype: bool
"""
return self._tag == 'shared_content_change_viewer_info_policy'
def is_shared_content_claim_invitation(self):
"""
Check if the union tag is ``shared_content_claim_invitation``.
:rtype: bool
"""
return self._tag == 'shared_content_claim_invitation'
def is_shared_content_copy(self):
"""
Check if the union tag is ``shared_content_copy``.
:rtype: bool
"""
return self._tag == 'shared_content_copy'
def is_shared_content_download(self):
"""
Check if the union tag is ``shared_content_download``.
:rtype: bool
"""
return self._tag == 'shared_content_download'
def is_shared_content_relinquish_membership(self):
"""
Check if the union tag is ``shared_content_relinquish_membership``.
:rtype: bool
"""
return self._tag == 'shared_content_relinquish_membership'
def is_shared_content_remove_invitees(self):
"""
Check if the union tag is ``shared_content_remove_invitees``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_invitees'
def is_shared_content_remove_link_expiry(self):
"""
Check if the union tag is ``shared_content_remove_link_expiry``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_link_expiry'
def is_shared_content_remove_link_password(self):
"""
Check if the union tag is ``shared_content_remove_link_password``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_link_password'
def is_shared_content_remove_member(self):
"""
Check if the union tag is ``shared_content_remove_member``.
:rtype: bool
"""
return self._tag == 'shared_content_remove_member'
def is_shared_content_request_access(self):
"""
Check if the union tag is ``shared_content_request_access``.
:rtype: bool
"""
return self._tag == 'shared_content_request_access'
def is_shared_content_unshare(self):
"""
Check if the union tag is ``shared_content_unshare``.
:rtype: bool
"""
return self._tag == 'shared_content_unshare'
def is_shared_content_view(self):
"""
Check if the union tag is ``shared_content_view``.
:rtype: bool
"""
return self._tag == 'shared_content_view'
def is_shared_folder_change_link_policy(self):
"""
Check if the union tag is ``shared_folder_change_link_policy``.
:rtype: bool
"""
return self._tag == 'shared_folder_change_link_policy'
def is_shared_folder_change_members_inheritance_policy(self):
"""
Check if the union tag is ``shared_folder_change_members_inheritance_policy``.
:rtype: bool
"""
return self._tag == 'shared_folder_change_members_inheritance_policy'
def is_shared_folder_change_members_management_policy(self):
"""
Check if the union tag is ``shared_folder_change_members_management_policy``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``shared_folder_create``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'shared_folder_transfer_ownership'
def is_shared_folder_unmount(self):
"""
Check if the union tag is ``shared_folder_unmount``.
:rtype: bool
"""
return self._tag == 'shared_folder_unmount'
def is_shared_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``.
:rtype: bool
"""
return self._tag == 'shared_note_opened'
def is_shmodel_group_share(self):
"""
Check if the union tag is ``shmodel_group_share``.
:rtype: bool
"""
return self._tag == 'shmodel_group_share'
def is_showcase_access_granted(self):
"""
Check if the union tag is ``showcase_access_granted``.
:rtype: bool
"""
return self._tag == 'showcase_access_granted'
def is_showcase_add_member(self):
"""
Check if the union tag is ``showcase_add_member``.
:rtype: bool
"""
return self._tag == 'showcase_add_member'
def is_showcase_archived(self):
"""
Check if the union tag is ``showcase_archived``.
:rtype: bool
"""
return self._tag == 'showcase_archived'
def is_showcase_created(self):
"""
Check if the union tag is ``showcase_created``.
:rtype: bool
"""
return self._tag == 'showcase_created'
def is_showcase_delete_comment(self):
"""
Check if the union tag is ``showcase_delete_comment``.
:rtype: bool
"""
return self._tag == 'showcase_delete_comment'
def is_showcase_edited(self):
"""
Check if the union tag is ``showcase_edited``.
:rtype: bool
"""
return self._tag == 'showcase_edited'
def is_showcase_edit_comment(self):
"""
Check if the union tag is ``showcase_edit_comment``.
:rtype: bool
"""
return self._tag == 'showcase_edit_comment'
def is_showcase_file_added(self):
"""
Check if the union tag is ``showcase_file_added``.
:rtype: bool
"""
return self._tag == 'showcase_file_added'
def is_showcase_file_download(self):
"""
Check if the union tag is ``showcase_file_download``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``sso_add_cert``.
:rtype: bool
"""
return self._tag == 'sso_add_cert'
def is_sso_add_login_url(self):
"""
Check if the union tag is ``sso_add_login_url``.
:rtype: bool
"""
return self._tag == 'sso_add_login_url'
def is_sso_add_logout_url(self):
"""
Check if the union tag is ``sso_add_logout_url``.
:rtype: bool
"""
return self._tag == 'sso_add_logout_url'
def is_sso_change_cert(self):
"""
Check if the union tag is ``sso_change_cert``.
:rtype: bool
"""
return self._tag == 'sso_change_cert'
def is_sso_change_login_url(self):
"""
Check if the union tag is ``sso_change_login_url``.
:rtype: bool
"""
return self._tag == 'sso_change_login_url'
def is_sso_change_logout_url(self):
"""
Check if the union tag is ``sso_change_logout_url``.
:rtype: bool
"""
return self._tag == 'sso_change_logout_url'
def is_sso_change_saml_identity_mode(self):
"""
Check if the union tag is ``sso_change_saml_identity_mode``.
:rtype: bool
"""
return self._tag == 'sso_change_saml_identity_mode'
def is_sso_remove_cert(self):
"""
Check if the union tag is ``sso_remove_cert``.
:rtype: bool
"""
return self._tag == 'sso_remove_cert'
def is_sso_remove_login_url(self):
"""
Check if the union tag is ``sso_remove_login_url``.
:rtype: bool
"""
return self._tag == 'sso_remove_login_url'
def is_sso_remove_logout_url(self):
"""
Check if the union tag is ``sso_remove_logout_url``.
:rtype: bool
"""
return self._tag == 'sso_remove_logout_url'
def is_team_folder_change_status(self):
"""
Check if the union tag is ``team_folder_change_status``.
:rtype: bool
"""
return self._tag == 'team_folder_change_status'
def is_team_folder_create(self):
"""
Check if the union tag is ``team_folder_create``.
:rtype: bool
"""
return self._tag == 'team_folder_create'
def is_team_folder_downgrade(self):
"""
Check if the union tag is ``team_folder_downgrade``.
:rtype: bool
"""
return self._tag == 'team_folder_downgrade'
def is_team_folder_permanently_delete(self):
"""
Check if the union tag is ``team_folder_permanently_delete``.
:rtype: bool
"""
return self._tag == 'team_folder_permanently_delete'
def is_team_folder_rename(self):
"""
Check if the union tag is ``team_folder_rename``.
:rtype: bool
"""
return self._tag == 'team_folder_rename'
def is_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``.
:rtype: bool
"""
return self._tag == 'account_capture_change_policy'
def is_allow_download_disabled(self):
"""
Check if the union tag is ``allow_download_disabled``.
:rtype: bool
"""
return self._tag == 'allow_download_disabled'
def is_allow_download_enabled(self):
"""
Check if the union tag is ``allow_download_enabled``.
:rtype: bool
"""
return self._tag == 'allow_download_enabled'
def is_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``.
:rtype: bool
"""
return self._tag == 'data_placement_restriction_change_policy'
def is_data_placement_restriction_satisfy_policy(self):
"""
Check if the union tag is ``data_placement_restriction_satisfy_policy``.
:rtype: bool
"""
return self._tag == 'data_placement_restriction_satisfy_policy'
def is_device_approvals_change_desktop_policy(self):
"""
Check if the union tag is ``device_approvals_change_desktop_policy``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_desktop_policy'
def is_device_approvals_change_mobile_policy(self):
"""
Check if the union tag is ``device_approvals_change_mobile_policy``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_mobile_policy'
def is_device_approvals_change_overage_action(self):
"""
Check if the union tag is ``device_approvals_change_overage_action``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_overage_action'
def is_device_approvals_change_unlink_action(self):
"""
Check if the union tag is ``device_approvals_change_unlink_action``.
:rtype: bool
"""
return self._tag == 'device_approvals_change_unlink_action'
def is_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``.
:rtype: bool
"""
return self._tag == 'emm_add_exception'
def is_emm_change_policy(self):
"""
Check if the union tag is ``emm_change_policy``.
:rtype: bool
"""
return self._tag == 'emm_change_policy'
def is_emm_remove_exception(self):
"""
Check if the union tag is ``emm_remove_exception``.
:rtype: bool
"""
return self._tag == 'emm_remove_exception'
def is_extended_version_history_change_policy(self):
"""
Check if the union tag is ``extended_version_history_change_policy``.
:rtype: bool
"""
return self._tag == 'extended_version_history_change_policy'
def is_file_comments_change_policy(self):
"""
Check if the union tag is ``file_comments_change_policy``.
:rtype: bool
"""
return self._tag == 'file_comments_change_policy'
def is_file_requests_change_policy(self):
"""
Check if the union tag is ``file_requests_change_policy``.
:rtype: bool
"""
return self._tag == 'file_requests_change_policy'
def is_file_requests_emails_enabled(self):
"""
Check if the union tag is ``file_requests_emails_enabled``.
:rtype: bool
"""
return self._tag == 'file_requests_emails_enabled'
def is_file_requests_emails_restricted_to_team_only(self):
"""
Check if the union tag is ``file_requests_emails_restricted_to_team_only``.
:rtype: bool
"""
return self._tag == 'file_requests_emails_restricted_to_team_only'
def is_google_sso_change_policy(self):
"""
Check if the union tag is ``google_sso_change_policy``.
:rtype: bool
"""
return self._tag == 'google_sso_change_policy'
def is_group_user_management_change_policy(self):
"""
Check if the union tag is ``group_user_management_change_policy``.
:rtype: bool
"""
return self._tag == 'group_user_management_change_policy'
def is_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``.
:rtype: bool
"""
return self._tag == 'member_requests_change_policy'
def is_member_space_limits_add_exception(self):
"""
Check if the union tag is ``member_space_limits_add_exception``.
:rtype: bool
"""
return self._tag == 'member_space_limits_add_exception'
def is_member_space_limits_change_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``.
:rtype: bool
"""
return self._tag == 'member_space_limits_change_policy'
def is_member_space_limits_remove_exception(self):
"""
Check if the union tag is ``member_space_limits_remove_exception``.
:rtype: bool
"""
return self._tag == 'member_space_limits_remove_exception'
def is_member_suggestions_change_policy(self):
"""
Check if the union tag is ``member_suggestions_change_policy``.
:rtype: bool
"""
return self._tag == 'member_suggestions_change_policy'
def is_microsoft_office_addin_change_policy(self):
"""
Check if the union tag is ``microsoft_office_addin_change_policy``.
:rtype: bool
"""
return self._tag == 'microsoft_office_addin_change_policy'
def is_network_control_change_policy(self):
"""
Check if the union tag is ``network_control_change_policy``.
:rtype: bool
"""
return self._tag == 'network_control_change_policy'
def is_paper_change_deployment_policy(self):
"""
Check if the union tag is ``paper_change_deployment_policy``.
:rtype: bool
"""
return self._tag == 'paper_change_deployment_policy'
def is_paper_change_member_link_policy(self):
"""
Check if the union tag is ``paper_change_member_link_policy``.
:rtype: bool
"""
return self._tag == 'paper_change_member_link_policy'
def is_paper_change_member_policy(self):
"""
Check if the union tag is ``paper_change_member_policy``.
:rtype: bool
"""
return self._tag == 'paper_change_member_policy'
def is_paper_change_policy(self):
"""
Check if the union tag is ``paper_change_policy``.
:rtype: bool
"""
return self._tag == 'paper_change_policy'
def is_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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'sharing_change_folder_join_policy'
def is_sharing_change_link_policy(self):
"""
Check if the union tag is ``sharing_change_link_policy``.
:rtype: bool
"""
return self._tag == 'sharing_change_link_policy'
def is_sharing_change_member_policy(self):
"""
Check if the union tag is ``sharing_change_member_policy``.
:rtype: bool
"""
return self._tag == 'sharing_change_member_policy'
def is_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``.
:rtype: bool
"""
return self._tag == 'smart_sync_change_policy'
def is_smart_sync_not_opt_out(self):
"""
Check if the union tag is ``smart_sync_not_opt_out``.
:rtype: bool
"""
return self._tag == 'smart_sync_not_opt_out'
def is_smart_sync_opt_out(self):
"""
Check if the union tag is ``smart_sync_opt_out``.
:rtype: bool
"""
return self._tag == 'smart_sync_opt_out'
def is_sso_change_policy(self):
"""
Check if the union tag is ``sso_change_policy``.
:rtype: bool
"""
return self._tag == 'sso_change_policy'
def is_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``.
:rtype: bool
"""
return self._tag == 'tfa_change_policy'
def is_two_account_change_policy(self):
"""
Check if the union tag is ``two_account_change_policy``.
:rtype: bool
"""
return self._tag == 'two_account_change_policy'
def is_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``.
:rtype: bool
"""
return self._tag == 'web_sessions_change_fixed_length_policy'
def is_web_sessions_change_idle_length_policy(self):
"""
Check if the union tag is ``web_sessions_change_idle_length_policy``.
:rtype: bool
"""
return self._tag == 'web_sessions_change_idle_length_policy'
def is_team_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``.
:rtype: bool
"""
return self._tag == 'team_profile_add_logo'
def is_team_profile_change_default_language(self):
"""
Check if the union tag is ``team_profile_change_default_language``.
:rtype: bool
"""
return self._tag == 'team_profile_change_default_language'
def is_team_profile_change_logo(self):
"""
Check if the union tag is ``team_profile_change_logo``.
:rtype: bool
"""
return self._tag == 'team_profile_change_logo'
def is_team_profile_change_name(self):
"""
Check if the union tag is ``team_profile_change_name``.
:rtype: bool
"""
return self._tag == 'team_profile_change_name'
def is_team_profile_remove_logo(self):
"""
Check if the union tag is ``team_profile_remove_logo``.
:rtype: bool
"""
return self._tag == 'team_profile_remove_logo'
def is_tfa_add_backup_phone(self):
"""
Check if the union tag is ``tfa_add_backup_phone``.
:rtype: bool
"""
return self._tag == 'tfa_add_backup_phone'
def is_tfa_add_security_key(self):
"""
Check if the union tag is ``tfa_add_security_key``.
:rtype: bool
"""
return self._tag == 'tfa_add_security_key'
def is_tfa_change_backup_phone(self):
"""
Check if the union tag is ``tfa_change_backup_phone``.
:rtype: bool
"""
return self._tag == 'tfa_change_backup_phone'
def is_tfa_change_status(self):
"""
Check if the union tag is ``tfa_change_status``.
:rtype: bool
"""
return self._tag == 'tfa_change_status'
def is_tfa_remove_backup_phone(self):
"""
Check if the union tag is ``tfa_remove_backup_phone``.
:rtype: bool
"""
return self._tag == 'tfa_remove_backup_phone'
def is_tfa_remove_security_key(self):
"""
Check if the union tag is ``tfa_remove_security_key``.
:rtype: bool
"""
return self._tag == 'tfa_remove_security_key'
def is_tfa_reset(self):
"""
Check if the union tag is ``tfa_reset``.
:rtype: bool
"""
return self._tag == 'tfa_reset'
def is_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``.
:rtype: bool
"""
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 ExportMembersReportDetails(bb.Struct):
"""
Created member data report.
"""
__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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New extended version history policy.
:rtype: ExtendedVersionHistoryPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous extended version history policy. Might be missing due to
historical data gap.
:rtype: ExtendedVersionHistoryPolicy
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
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
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
explicitly_limited = None
# Attribute is overwritten below the class definition
explicitly_unlimited = None
# 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):
"""
Check if the union tag is ``explicitly_limited``.
:rtype: bool
"""
return self._tag == 'explicitly_limited'
def is_explicitly_unlimited(self):
"""
Check if the union tag is ``explicitly_unlimited``.
:rtype: bool
"""
return self._tag == 'explicitly_unlimited'
def is_implicitly_limited(self):
"""
Check if the union tag is ``implicitly_limited``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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 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 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__ = [
'_user_friendly_message_value',
'_user_friendly_message_present',
'_technical_error_message_value',
'_technical_error_message_present',
]
_has_required_fields = False
def __init__(self,
user_friendly_message=None,
technical_error_message=None):
self._user_friendly_message_value = None
self._user_friendly_message_present = False
self._technical_error_message_value = None
self._technical_error_message_present = False
if user_friendly_message is not None:
self.user_friendly_message = user_friendly_message
if technical_error_message is not None:
self.technical_error_message = technical_error_message
@property
def user_friendly_message(self):
"""
A user friendly explanation of the error. Might be missing due to
historical data gap.
:rtype: str
"""
if self._user_friendly_message_present:
return self._user_friendly_message_value
else:
return None
@user_friendly_message.setter
def user_friendly_message(self, val):
if val is None:
del self.user_friendly_message
return
val = self._user_friendly_message_validator.validate(val)
self._user_friendly_message_value = val
self._user_friendly_message_present = True
@user_friendly_message.deleter
def user_friendly_message(self):
self._user_friendly_message_value = None
self._user_friendly_message_present = False
@property
def technical_error_message(self):
"""
A technical explanation of the error. This is relevant for some errors.
:rtype: str
"""
if self._technical_error_message_present:
return self._technical_error_message_value
else:
return None
@technical_error_message.setter
def technical_error_message(self, val):
if val is None:
del self.technical_error_message
return
val = self._technical_error_message_validator.validate(val)
self._technical_error_message_value = val
self._technical_error_message_present = True
@technical_error_message.deleter
def technical_error_message(self):
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,
self._technical_error_message_value,
)
FailureDetailsLogInfo_validator = bv.Struct(FailureDetailsLogInfo)
class FileAddCommentDetails(bb.Struct):
"""
Added file comment.
:ivar team_log.FileAddCommentDetails.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(FileAddCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'FileAddCommentDetails(comment_text={!r})'.format(
self._comment_text_value,
)
FileAddCommentDetails_validator = bv.Struct(FileAddCommentDetails)
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.
"""
__slots__ = [
]
_has_required_fields = False
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 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 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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New file comment subscription.
:rtype: FileCommentNotificationPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous file comment subscription. Might be missing due to historical
data gap.
:rtype: FileCommentNotificationPolicy
"""
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(FileChangeCommentSubscriptionDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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
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(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(bb.Struct):
"""
Enabled/disabled commenting on team files.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New commenting on team files policy.
:rtype: FileCommentsPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous commenting on team files policy. Might be missing due to
historical data gap.
:rtype: FileCommentsPolicy
"""
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(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,
self._previous_value_value,
)
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
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(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(bb.Struct):
"""
Copied files and/or folders.
:ivar team_log.FileCopyDetails.relocate_action_details: Relocate action
details.
"""
__slots__ = [
'_relocate_action_details_value',
'_relocate_action_details_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
@property
def relocate_action_details(self):
"""
Relocate action details.
:rtype: list of [RelocateAssetReferencesLogInfo]
"""
if self._relocate_action_details_present:
return self._relocate_action_details_value
else:
raise AttributeError("missing required field 'relocate_action_details'")
@relocate_action_details.setter
def relocate_action_details(self, val):
val = self._relocate_action_details_validator.validate(val)
self._relocate_action_details_value = val
self._relocate_action_details_present = True
@relocate_action_details.deleter
def relocate_action_details(self):
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,
)
FileCopyDetails_validator = bv.Struct(FileCopyDetails)
class FileCopyType(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(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):
"""
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(FileDeleteCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'FileDeleteCommentDetails(comment_text={!r})'.format(
self._comment_text_value,
)
FileDeleteCommentDetails_validator = bv.Struct(FileDeleteCommentDetails)
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.
"""
__slots__ = [
]
_has_required_fields = False
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 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.
"""
__slots__ = [
]
_has_required_fields = False
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 FileDownloadType(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(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):
"""
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
@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 '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 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 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__ = [
'_path_value',
'_path_present',
'_display_name_value',
'_display_name_present',
'_file_id_value',
'_file_id_present',
]
_has_required_fields = True
def __init__(self,
path=None,
display_name=None,
file_id=None):
self._path_value = None
self._path_present = False
self._display_name_value = None
self._display_name_present = False
self._file_id_value = None
self._file_id_present = False
if path is not None:
self.path = path
if display_name is not None:
self.display_name = display_name
if file_id is not None:
self.file_id = file_id
@property
def path(self):
"""
Path relative to event context.
:rtype: PathLogInfo
"""
if self._path_present:
return self._path_value
else:
raise AttributeError("missing required field 'path'")
@path.setter
def path(self, val):
self._path_validator.validate_type_only(val)
self._path_value = val
self._path_present = True
@path.deleter
def path(self):
self._path_value = None
self._path_present = False
@property
def display_name(self):
"""
Display name. Might be missing due to historical data gap.
:rtype: str
"""
if self._display_name_present:
return self._display_name_value
else:
return None
@display_name.setter
def display_name(self, val):
if val is None:
del self.display_name
return
val = self._display_name_validator.validate(val)
self._display_name_value = val
self._display_name_present = True
@display_name.deleter
def display_name(self):
self._display_name_value = None
self._display_name_present = False
@property
def file_id(self):
"""
Unique ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._file_id_present:
return self._file_id_value
else:
return None
@file_id.setter
def file_id(self, val):
if val is None:
del self.file_id
return
val = self._file_id_validator.validate(val)
self._file_id_value = val
self._file_id_present = True
@file_id.deleter
def file_id(self):
self._file_id_value = None
self._file_id_present = False
def _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,
self._display_name_value,
self._file_id_value,
)
FileOrFolderLogInfo_validator = bv.Struct(FileOrFolderLogInfo)
class FileLogInfo(FileOrFolderLogInfo):
"""
File's logged information.
"""
__slots__ = [
]
_has_required_fields = True
def __init__(self,
path=None,
display_name=None,
file_id=None):
super(FileLogInfo, self).__init__(path,
display_name,
file_id)
def _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,
self._display_name_value,
self._file_id_value,
)
FileLogInfo_validator = bv.Struct(FileLogInfo)
class FileMoveDetails(bb.Struct):
"""
Moved files and/or folders.
:ivar team_log.FileMoveDetails.relocate_action_details: Relocate action
details.
"""
__slots__ = [
'_relocate_action_details_value',
'_relocate_action_details_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
@property
def relocate_action_details(self):
"""
Relocate action details.
:rtype: list of [RelocateAssetReferencesLogInfo]
"""
if self._relocate_action_details_present:
return self._relocate_action_details_value
else:
raise AttributeError("missing required field 'relocate_action_details'")
@relocate_action_details.setter
def relocate_action_details(self, val):
val = self._relocate_action_details_validator.validate(val)
self._relocate_action_details_value = val
self._relocate_action_details_present = True
@relocate_action_details.deleter
def relocate_action_details(self):
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,
)
FileMoveDetails_validator = bv.Struct(FileMoveDetails)
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.
"""
__slots__ = [
]
_has_required_fields = False
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 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.
"""
__slots__ = [
]
_has_required_fields = False
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 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 team_log.FileRenameDetails.relocate_action_details: Relocate action
details.
"""
__slots__ = [
'_relocate_action_details_value',
'_relocate_action_details_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
@property
def relocate_action_details(self):
"""
Relocate action details.
:rtype: list of [RelocateAssetReferencesLogInfo]
"""
if self._relocate_action_details_present:
return self._relocate_action_details_value
else:
raise AttributeError("missing required field 'relocate_action_details'")
@relocate_action_details.setter
def relocate_action_details(self, val):
val = self._relocate_action_details_validator.validate(val)
self._relocate_action_details_value = val
self._relocate_action_details_present = True
@relocate_action_details.deleter
def relocate_action_details(self):
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,
)
FileRenameDetails_validator = bv.Struct(FileRenameDetails)
class FileRenameType(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(FileRenameType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'FileRenameType(description={!r})'.format(
self._description_value,
)
FileRenameType_validator = bv.Struct(FileRenameType)
class FileRequestChangeDetails(bb.Struct):
"""
Changed file request.
: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__ = [
'_file_request_id_value',
'_file_request_id_present',
'_previous_details_value',
'_previous_details_present',
'_new_details_value',
'_new_details_present',
]
_has_required_fields = True
def __init__(self,
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 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
@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 '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,
)
FileRequestChangeDetails_validator = bv.Struct(FileRequestChangeDetails)
class FileRequestChangeType(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(FileRequestChangeType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'FileRequestChangeType(description={!r})'.format(
self._description_value,
)
FileRequestChangeType_validator = bv.Struct(FileRequestChangeType)
class FileRequestCloseDetails(bb.Struct):
"""
Closed file request.
: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__ = [
'_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(FileRequestCloseDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 FileRequestCloseType(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(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__ = [
'_file_request_id_value',
'_file_request_id_present',
'_request_details_value',
'_request_details_present',
]
_has_required_fields = False
def __init__(self,
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 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 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(file_request_id={!r}, request_details={!r})'.format(
self._file_request_id_value,
self._request_details_value,
)
FileRequestCreateDetails_validator = bv.Struct(FileRequestCreateDetails)
class FileRequestCreateType(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(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__ = [
'_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,
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
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 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 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):
"""
Submitted file names.
:rtype: list of [str]
"""
if self._submitted_file_names_present:
return self._submitted_file_names_value
else:
raise AttributeError("missing required field 'submitted_file_names'")
@submitted_file_names.setter
def submitted_file_names(self, val):
val = self._submitted_file_names_validator.validate(val)
self._submitted_file_names_value = val
self._submitted_file_names_present = True
@submitted_file_names.deleter
def submitted_file_names(self):
self._submitted_file_names_value = None
self._submitted_file_names_present = False
@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}, file_request_id={!r}, file_request_details={!r}, submitter_name={!r}, submitter_email={!r})'.format(
self._submitted_file_names_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 FileRequestReceiveFileType(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(FileRequestReceiveFileType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'FileRequestReceiveFileType(description={!r})'.format(
self._description_value,
)
FileRequestReceiveFileType_validator = bv.Struct(FileRequestReceiveFileType)
class FileRequestsChangePolicyDetails(bb.Struct):
"""
Enabled/disabled file requests.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New file requests policy.
:rtype: FileRequestsPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous file requests policy. Might be missing due to historical data
gap.
:rtype: FileRequestsPolicy
"""
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(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,
self._previous_value_value,
)
FileRequestsChangePolicyDetails_validator = bv.Struct(FileRequestsChangePolicyDetails)
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.
"""
__slots__ = [
]
_has_required_fields = False
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 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):
"""
Enabled file request emails for team.
"""
__slots__ = [
]
_has_required_fields = False
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
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(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(bb.Struct):
"""
Resolved file comment.
:ivar team_log.FileResolveCommentDetails.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(FileResolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'FileResolveCommentDetails(comment_text={!r})'.format(
self._comment_text_value,
)
FileResolveCommentDetails_validator = bv.Struct(FileResolveCommentDetails)
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.
"""
__slots__ = [
]
_has_required_fields = False
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 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 previous version.
"""
__slots__ = [
]
_has_required_fields = False
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 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 actions.
"""
__slots__ = [
]
_has_required_fields = False
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 FileRollbackChangesType(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(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__ = [
'_relocate_action_details_value',
'_relocate_action_details_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
@property
def relocate_action_details(self):
"""
Relocate action details.
:rtype: list of [RelocateAssetReferencesLogInfo]
"""
if self._relocate_action_details_present:
return self._relocate_action_details_value
else:
raise AttributeError("missing required field 'relocate_action_details'")
@relocate_action_details.setter
def relocate_action_details(self, val):
val = self._relocate_action_details_validator.validate(val)
self._relocate_action_details_value = val
self._relocate_action_details_present = True
@relocate_action_details.deleter
def relocate_action_details(self):
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,
)
FileSaveCopyReferenceDetails_validator = bv.Struct(FileSaveCopyReferenceDetails)
class FileSaveCopyReferenceType(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(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):
"""
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(FileUnlikeCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'FileUnlikeCommentDetails(comment_text={!r})'.format(
self._comment_text_value,
)
FileUnlikeCommentDetails_validator = bv.Struct(FileUnlikeCommentDetails)
class FileUnlikeCommentType(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(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):
"""
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(FileUnresolveCommentDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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.
"""
__slots__ = [
]
_has_required_fields = True
def __init__(self,
path=None,
display_name=None,
file_id=None):
super(FolderLogInfo, self).__init__(path,
display_name,
file_id)
def _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,
self._display_name_value,
self._file_id_value,
)
FolderLogInfo_validator = bv.Struct(FolderLogInfo)
class GeoLocationLogInfo(bb.Struct):
"""
Geographic location details.
: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__ = [
'_city_value',
'_city_present',
'_region_value',
'_region_present',
'_country_value',
'_country_present',
'_ip_address_value',
'_ip_address_present',
]
_has_required_fields = True
def __init__(self,
ip_address=None,
city=None,
region=None,
country=None):
self._city_value = None
self._city_present = False
self._region_value = None
self._region_present = False
self._country_value = None
self._country_present = False
self._ip_address_value = None
self._ip_address_present = False
if city is not None:
self.city = city
if region is not None:
self.region = region
if country is not None:
self.country = country
if ip_address is not None:
self.ip_address = ip_address
@property
def city(self):
"""
City name.
:rtype: str
"""
if self._city_present:
return self._city_value
else:
return None
@city.setter
def city(self, val):
if val is None:
del self.city
return
val = self._city_validator.validate(val)
self._city_value = val
self._city_present = True
@city.deleter
def city(self):
self._city_value = None
self._city_present = False
@property
def region(self):
"""
Region name.
:rtype: str
"""
if self._region_present:
return self._region_value
else:
return None
@region.setter
def region(self, val):
if val is None:
del self.region
return
val = self._region_validator.validate(val)
self._region_value = val
self._region_present = True
@region.deleter
def region(self):
self._region_value = None
self._region_present = False
@property
def country(self):
"""
Country code.
:rtype: str
"""
if self._country_present:
return self._country_value
else:
return None
@country.setter
def country(self, val):
if val is None:
del self.country
return
val = self._country_validator.validate(val)
self._country_value = val
self._country_present = True
@country.deleter
def country(self):
self._country_value = None
self._country_present = False
@property
def ip_address(self):
"""
IP address.
:rtype: str
"""
if self._ip_address_present:
return self._ip_address_value
else:
raise AttributeError("missing required field 'ip_address'")
@ip_address.setter
def ip_address(self, val):
val = self._ip_address_validator.validate(val)
self._ip_address_value = val
self._ip_address_present = True
@ip_address.deleter
def ip_address(self):
self._ip_address_value = None
self._ip_address_present = False
def _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,
self._city_value,
self._region_value,
self._country_value,
)
GeoLocationLogInfo_validator = bv.Struct(GeoLocationLogInfo)
class GetTeamEventsArg(bb.Struct):
"""
: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__ = [
'_limit_value',
'_limit_present',
'_account_id_value',
'_account_id_present',
'_time_value',
'_time_present',
'_category_value',
'_category_present',
]
_has_required_fields = False
def __init__(self,
limit=None,
account_id=None,
time=None,
category=None):
self._limit_value = None
self._limit_present = False
self._account_id_value = None
self._account_id_present = False
self._time_value = None
self._time_present = False
self._category_value = None
self._category_present = False
if limit is not None:
self.limit = limit
if account_id is not None:
self.account_id = account_id
if time is not None:
self.time = time
if category is not None:
self.category = category
@property
def limit(self):
"""
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: 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
@property
def account_id(self):
"""
Filter the events by account ID. Return ony events with this account_id
as either Actor, Context, or Participants.
:rtype: str
"""
if self._account_id_present:
return self._account_id_value
else:
return None
@account_id.setter
def account_id(self, val):
if val is None:
del self.account_id
return
val = self._account_id_validator.validate(val)
self._account_id_value = val
self._account_id_present = True
@account_id.deleter
def account_id(self):
self._account_id_value = None
self._account_id_present = False
@property
def time(self):
"""
Filter by time range.
:rtype: team_common.TimeRange
"""
if self._time_present:
return self._time_value
else:
return None
@time.setter
def time(self, val):
if val is None:
del self.time
return
self._time_validator.validate_type_only(val)
self._time_value = val
self._time_present = True
@time.deleter
def time(self):
self._time_value = None
self._time_present = False
@property
def category(self):
"""
Filter the returned events to a single category.
:rtype: EventCategory
"""
if self._category_present:
return self._category_value
else:
return None
@category.setter
def category(self, val):
if val is None:
del self.category
return
self._category_validator.validate_type_only(val)
self._category_value = val
self._category_present = True
@category.deleter
def category(self):
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,
self._account_id_value,
self._time_value,
self._category_value,
)
GetTeamEventsArg_validator = bv.Struct(GetTeamEventsArg)
class GetTeamEventsContinueArg(bb.Struct):
"""
:ivar team_log.GetTeamEventsContinueArg.cursor: Indicates from what point to
get the next set of events.
"""
__slots__ = [
'_cursor_value',
'_cursor_present',
]
_has_required_fields = True
def __init__(self,
cursor=None):
self._cursor_value = None
self._cursor_present = False
if cursor is not None:
self.cursor = cursor
@property
def cursor(self):
"""
Indicates from what point to get the next set of events.
:rtype: str
"""
if self._cursor_present:
return self._cursor_value
else:
raise AttributeError("missing required field 'cursor'")
@cursor.setter
def cursor(self, val):
val = self._cursor_validator.validate(val)
self._cursor_value = val
self._cursor_present = True
@cursor.deleter
def cursor(self):
self._cursor_value = None
self._cursor_present = False
def _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,
)
GetTeamEventsContinueArg_validator = bv.Struct(GetTeamEventsContinueArg)
class GetTeamEventsContinueError(bb.Union):
"""
Errors that can be raised when calling
:meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue`.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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'
# Attribute is overwritten below the class definition
bad_cursor = None
# 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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
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)
GetTeamEventsContinueError_validator = bv.Union(GetTeamEventsContinueError)
class GetTeamEventsError(bb.Union):
"""
Errors that can be raised when calling
:meth:`dropbox.dropbox.Dropbox.team_log_get_events`.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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'
# Attribute is overwritten below the class definition
account_id_not_found = None
# Attribute is overwritten below the class definition
invalid_time_range = None
# Attribute is overwritten below the class definition
other = None
def is_account_id_not_found(self):
"""
Check if the union tag is ``account_id_not_found``.
:rtype: bool
"""
return self._tag == 'account_id_not_found'
def is_invalid_time_range(self):
"""
Check if the union tag is ``invalid_time_range``.
:rtype: bool
"""
return self._tag == 'invalid_time_range'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
: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. 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. Note that ``has_more`` may be ``True``, even if
``events`` is empty.
"""
__slots__ = [
'_events_value',
'_events_present',
'_cursor_value',
'_cursor_present',
'_has_more_value',
'_has_more_present',
]
_has_required_fields = True
def __init__(self,
events=None,
cursor=None,
has_more=None):
self._events_value = None
self._events_present = False
self._cursor_value = None
self._cursor_present = False
self._has_more_value = None
self._has_more_present = False
if events is not None:
self.events = events
if cursor is not None:
self.cursor = cursor
if has_more is not None:
self.has_more = has_more
@property
def events(self):
"""
List of events. Note that events are not guaranteed to be sorted by
their timestamp value.
:rtype: list of [TeamEvent]
"""
if self._events_present:
return self._events_value
else:
raise AttributeError("missing required field 'events'")
@events.setter
def events(self, val):
val = self._events_validator.validate(val)
self._events_value = val
self._events_present = True
@events.deleter
def events(self):
self._events_value = None
self._events_present = False
@property
def cursor(self):
"""
Pass the cursor into
:meth:`dropbox.dropbox.Dropbox.team_log_get_events_continue` to obtain
additional events. 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
"""
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 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. Note that ``has_more`` may be ``True``, even if
``events`` is empty.
: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(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,
self._cursor_value,
self._has_more_value,
)
GetTeamEventsResult_validator = bv.Struct(GetTeamEventsResult)
class GoogleSsoChangePolicyDetails(bb.Struct):
"""
Enabled/disabled Google single sign-on for team.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New Google single sign-on policy.
:rtype: GoogleSsoPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous Google single sign-on policy. Might be missing due to
historical data gap.
:rtype: GoogleSsoPolicy
"""
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(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,
self._previous_value_value,
)
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
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(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(bb.Struct):
"""
Added external ID for group.
:ivar team_log.GroupAddExternalIdDetails.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(GroupAddExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupAddExternalIdDetails(new_value={!r})'.format(
self._new_value_value,
)
GroupAddExternalIdDetails_validator = bv.Struct(GroupAddExternalIdDetails)
class GroupAddExternalIdType(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(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__ = [
'_is_group_owner_value',
'_is_group_owner_present',
]
_has_required_fields = True
def __init__(self,
is_group_owner=None):
self._is_group_owner_value = None
self._is_group_owner_present = False
if is_group_owner is not None:
self.is_group_owner = is_group_owner
@property
def is_group_owner(self):
"""
Is group owner.
:rtype: bool
"""
if self._is_group_owner_present:
return self._is_group_owner_value
else:
raise AttributeError("missing required field 'is_group_owner'")
@is_group_owner.setter
def is_group_owner(self, val):
val = self._is_group_owner_validator.validate(val)
self._is_group_owner_value = val
self._is_group_owner_present = True
@is_group_owner.deleter
def is_group_owner(self):
self._is_group_owner_value = None
self._is_group_owner_present = False
def _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,
)
GroupAddMemberDetails_validator = bv.Struct(GroupAddMemberDetails)
class GroupAddMemberType(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(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__ = [
'_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(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,
self._previous_value_value,
)
GroupChangeExternalIdDetails_validator = bv.Struct(GroupChangeExternalIdDetails)
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 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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New group management type.
:rtype: team_common.GroupManagementType
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous group management type. Might be missing due to historical data
gap.
:rtype: team_common.GroupManagementType
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
GroupChangeManagementTypeDetails_validator = bv.Struct(GroupChangeManagementTypeDetails)
class GroupChangeManagementTypeType(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(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__ = [
'_is_group_owner_value',
'_is_group_owner_present',
]
_has_required_fields = True
def __init__(self,
is_group_owner=None):
self._is_group_owner_value = None
self._is_group_owner_present = False
if is_group_owner is not None:
self.is_group_owner = is_group_owner
@property
def is_group_owner(self):
"""
Is group owner.
:rtype: bool
"""
if self._is_group_owner_present:
return self._is_group_owner_value
else:
raise AttributeError("missing required field 'is_group_owner'")
@is_group_owner.setter
def is_group_owner(self, val):
val = self._is_group_owner_validator.validate(val)
self._is_group_owner_value = val
self._is_group_owner_present = True
@is_group_owner.deleter
def is_group_owner(self):
self._is_group_owner_value = None
self._is_group_owner_present = False
def _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,
)
GroupChangeMemberRoleDetails_validator = bv.Struct(GroupChangeMemberRoleDetails)
class GroupChangeMemberRoleType(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(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__ = [
'_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(GroupCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 GroupCreateType(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(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__ = [
'_is_company_managed_value',
'_is_company_managed_present',
]
_has_required_fields = False
def __init__(self,
is_company_managed=None):
self._is_company_managed_value = None
self._is_company_managed_present = False
if is_company_managed is not None:
self.is_company_managed = is_company_managed
@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
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,
)
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
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
open = None
# Attribute is overwritten below the class definition
request_to_join = None
# Attribute is overwritten below the class definition
other = None
def is_open(self):
"""
Check if the union tag is ``open``.
:rtype: bool
"""
return self._tag == 'open'
def is_request_to_join(self):
"""
Check if the union tag is ``request_to_join``.
:rtype: bool
"""
return self._tag == 'request_to_join'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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 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 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__ = [
'_group_id_value',
'_group_id_present',
'_display_name_value',
'_display_name_present',
'_external_id_value',
'_external_id_present',
]
_has_required_fields = True
def __init__(self,
display_name=None,
group_id=None,
external_id=None):
self._group_id_value = None
self._group_id_present = False
self._display_name_value = None
self._display_name_present = False
self._external_id_value = None
self._external_id_present = False
if group_id is not None:
self.group_id = group_id
if display_name is not None:
self.display_name = display_name
if external_id is not None:
self.external_id = external_id
@property
def group_id(self):
"""
The unique id of this group. Might be missing due to historical data
gap.
:rtype: str
"""
if self._group_id_present:
return self._group_id_value
else:
return None
@group_id.setter
def group_id(self, val):
if val is None:
del self.group_id
return
val = self._group_id_validator.validate(val)
self._group_id_value = val
self._group_id_present = True
@group_id.deleter
def group_id(self):
self._group_id_value = None
self._group_id_present = False
@property
def display_name(self):
"""
The name of this group.
:rtype: str
"""
if self._display_name_present:
return self._display_name_value
else:
raise AttributeError("missing required field 'display_name'")
@display_name.setter
def display_name(self, val):
val = self._display_name_validator.validate(val)
self._display_name_value = val
self._display_name_present = True
@display_name.deleter
def display_name(self):
self._display_name_value = None
self._display_name_present = False
@property
def external_id(self):
"""
External group ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._external_id_present:
return self._external_id_value
else:
return None
@external_id.setter
def external_id(self, val):
if val is None:
del self.external_id
return
val = self._external_id_validator.validate(val)
self._external_id_value = val
self._external_id_present = True
@external_id.deleter
def external_id(self):
self._external_id_value = None
self._external_id_present = False
def _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,
self._group_id_value,
self._external_id_value,
)
GroupLogInfo_validator = bv.Struct(GroupLogInfo)
class GroupMovedDetails(bb.Struct):
"""
Moved group.
"""
__slots__ = [
]
_has_required_fields = False
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 GroupMovedType(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(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__ = [
'_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(GroupRemoveExternalIdDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'GroupRemoveExternalIdDetails(previous_value={!r})'.format(
self._previous_value_value,
)
GroupRemoveExternalIdDetails_validator = bv.Struct(GroupRemoveExternalIdDetails)
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 group.
"""
__slots__ = [
]
_has_required_fields = False
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 GroupRemoveMemberType(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(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__ = [
'_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 display name.
:rtype: str
"""
if self._previous_value_present:
return self._previous_value_value
else:
raise AttributeError("missing required field 'previous_value'")
@previous_value.setter
def previous_value(self, val):
val = self._previous_value_validator.validate(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
@property
def new_value(self):
"""
New display name.
: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(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,
self._new_value_value,
)
GroupRenameDetails_validator = bv.Struct(GroupRenameDetails)
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 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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New group users management policy.
:rtype: team_policies.GroupCreation
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous group users management policy. Might be missing due to
historical data gap.
:rtype: team_policies.GroupCreation
"""
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(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,
self._previous_value_value,
)
GroupUserManagementChangePolicyDetails_validator = bv.Struct(GroupUserManagementChangePolicyDetails)
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
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
email = None
# Attribute is overwritten below the class definition
facebook_profile_name = None
# Attribute is overwritten below the class definition
other = None
def is_email(self):
"""
Check if the union tag is ``email``.
:rtype: bool
"""
return self._tag == 'email'
def is_facebook_profile_name(self):
"""
Check if the union tag is ``facebook_profile_name``.
:rtype: bool
"""
return self._tag == 'facebook_profile_name'
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(IdentifierType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'IdentifierType(%r, %r)' % (self._tag, self._value)
IdentifierType_validator = bv.Union(IdentifierType)
class IntegrationConnectedDetails(bb.Struct):
"""
Connected integration for member.
:ivar team_log.IntegrationConnectedDetails.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(IntegrationConnectedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'IntegrationConnectedDetails(integration_name={!r})'.format(
self._integration_name_value,
)
IntegrationConnectedDetails_validator = bv.Struct(IntegrationConnectedDetails)
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 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__ = [
'_linked_apps_value',
'_linked_apps_present',
'_linked_devices_value',
'_linked_devices_present',
'_linked_shared_folders_value',
'_linked_shared_folders_present',
]
_has_required_fields = True
def __init__(self,
linked_apps=None,
linked_devices=None,
linked_shared_folders=None):
self._linked_apps_value = None
self._linked_apps_present = False
self._linked_devices_value = None
self._linked_devices_present = False
self._linked_shared_folders_value = None
self._linked_shared_folders_present = False
if linked_apps is not None:
self.linked_apps = linked_apps
if linked_devices is not None:
self.linked_devices = linked_devices
if linked_shared_folders is not None:
self.linked_shared_folders = linked_shared_folders
@property
def linked_apps(self):
"""
Linked applications.
:rtype: list of [UserLinkedAppLogInfo]
"""
if self._linked_apps_present:
return self._linked_apps_value
else:
raise AttributeError("missing required field 'linked_apps'")
@linked_apps.setter
def linked_apps(self, val):
val = self._linked_apps_validator.validate(val)
self._linked_apps_value = val
self._linked_apps_present = True
@linked_apps.deleter
def linked_apps(self):
self._linked_apps_value = None
self._linked_apps_present = False
@property
def linked_devices(self):
"""
Linked devices.
:rtype: list of [LinkedDeviceLogInfo]
"""
if self._linked_devices_present:
return self._linked_devices_value
else:
raise AttributeError("missing required field 'linked_devices'")
@linked_devices.setter
def linked_devices(self, val):
val = self._linked_devices_validator.validate(val)
self._linked_devices_value = val
self._linked_devices_present = True
@linked_devices.deleter
def linked_devices(self):
self._linked_devices_value = None
self._linked_devices_present = False
@property
def linked_shared_folders(self):
"""
Linked shared folders.
:rtype: list of [FolderLogInfo]
"""
if self._linked_shared_folders_present:
return self._linked_shared_folders_value
else:
raise AttributeError("missing required field 'linked_shared_folders'")
@linked_shared_folders.setter
def linked_shared_folders(self, val):
val = self._linked_shared_folders_validator.validate(val)
self._linked_shared_folders_value = val
self._linked_shared_folders_present = True
@linked_shared_folders.deleter
def linked_shared_folders(self):
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,
self._linked_devices_value,
self._linked_shared_folders_value,
)
JoinTeamDetails_validator = bv.Struct(JoinTeamDetails)
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
other = None
@classmethod
def mobile_device_session(cls, val):
"""
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 == 'mobile_device_session'
def is_desktop_device_session(self):
"""
Check if the union tag is ``desktop_device_session``.
:rtype: bool
"""
return self._tag == 'desktop_device_session'
def is_web_device_session(self):
"""
Check if the union tag is ``web_device_session``.
:rtype: bool
"""
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):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
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 'LinkedDeviceLogInfo(%r, %r)' % (self._tag, self._value)
LinkedDeviceLogInfo_validator = bv.Union(LinkedDeviceLogInfo)
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.
"""
__slots__ = [
]
_has_required_fields = False
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 LogoutType(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(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._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(MemberAddNameDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'MemberAddNameDetails(new_value={!r})'.format(
self._new_value_value,
)
MemberAddNameDetails_validator = bv.Struct(MemberAddNameDetails)
class MemberAddNameType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = False
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New admin role. This field is relevant when the admin role is changed or
whenthe user role changes from no admin rights to with admin rights.
:rtype: AdminRole
"""
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 admin role. This field is relevant when the admin role is
changed or when the admin role is removed.
:rtype: AdminRole
"""
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(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,
self._previous_value_value,
)
MemberChangeAdminRoleDetails_validator = bv.Struct(MemberChangeAdminRoleDetails)
class MemberChangeAdminRoleType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New email.
:rtype: str
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
val = self._new_value_validator.validate(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous email. Might be missing due to historical data gap.
:rtype: str
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
val = self._previous_value_validator.validate(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
MemberChangeEmailDetails_validator = bv.Struct(MemberChangeEmailDetails)
class MemberChangeEmailType(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(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__ = [
'_prev_value_value',
'_prev_value_present',
'_new_value_value',
'_new_value_present',
]
_has_required_fields = True
def __init__(self,
prev_value=None,
new_value=None):
self._prev_value_value = None
self._prev_value_present = False
self._new_value_value = None
self._new_value_present = False
if prev_value is not None:
self.prev_value = prev_value
if new_value is not None:
self.new_value = new_value
@property
def prev_value(self):
"""
Previous membership type.
:rtype: TeamMembershipType
"""
if self._prev_value_present:
return self._prev_value_value
else:
raise AttributeError("missing required field 'prev_value'")
@prev_value.setter
def prev_value(self, val):
self._prev_value_validator.validate_type_only(val)
self._prev_value_value = val
self._prev_value_present = True
@prev_value.deleter
def prev_value(self):
self._prev_value_value = None
self._prev_value_present = False
@property
def new_value(self):
"""
New membership type.
:rtype: TeamMembershipType
"""
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(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,
self._new_value_value,
)
MemberChangeMembershipTypeDetails_validator = bv.Struct(MemberChangeMembershipTypeDetails)
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 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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New user's name.
:rtype: UserNameLogInfo
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous user's name. Might be missing due to historical data gap.
:rtype: UserNameLogInfo
"""
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(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,
self._previous_value_value,
)
MemberChangeNameDetails_validator = bv.Struct(MemberChangeNameDetails)
class MemberChangeNameType(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(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__ = [
'_previous_value_value',
'_previous_value_present',
'_new_value_value',
'_new_value_present',
'_action_value',
'_action_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None,
action=None):
self._previous_value_value = None
self._previous_value_present = False
self._new_value_value = None
self._new_value_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 action is not None:
self.action = action
@property
def previous_value(self):
"""
Previous member status. Might be missing due to historical data gap.
:rtype: MemberStatus
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
@property
def new_value(self):
"""
New member status.
:rtype: MemberStatus
"""
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(self):
"""
Additional information indicating the action taken that caused status
change.
:rtype: ActionDetails
"""
if self._action_present:
return self._action_value
else:
return None
@action.setter
def action(self, val):
if val is None:
del self.action
return
self._action_validator.validate_type_only(val)
self._action_value = val
self._action_present = True
@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}, action={!r})'.format(
self._new_value_value,
self._previous_value_value,
self._action_value,
)
MemberChangeStatusDetails_validator = bv.Struct(MemberChangeStatusDetails)
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):
"""
Cleared manually added contacts.
"""
__slots__ = [
]
_has_required_fields = False
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 MemberPermanentlyDeleteAccountContentsType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New member change requests policy.
:rtype: MemberRequestsPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous member change requests policy. Might be missing due to
historical data gap.
:rtype: MemberRequestsPolicy
"""
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(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,
self._previous_value_value,
)
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
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
auto_accept = None
# Attribute is overwritten below the class definition
disabled = None
# Attribute is overwritten below the class definition
require_approval = None
# Attribute is overwritten below the class definition
other = None
def is_auto_accept(self):
"""
Check if the union tag is ``auto_accept``.
:rtype: bool
"""
return self._tag == 'auto_accept'
def is_disabled(self):
"""
Check if the union tag is ``disabled``.
:rtype: bool
"""
return self._tag == 'disabled'
def is_require_approval(self):
"""
Check if the union tag is ``require_approval``.
:rtype: bool
"""
return self._tag == 'require_approval'
def is_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(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 MemberSpaceLimitsAddCustomQuotaDetails(bb.Struct):
"""
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__ = [
]
_has_required_fields = False
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 MemberSpaceLimitsAddExceptionType(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(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__ = [
'_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 space limit type.
:rtype: SpaceCapsType
"""
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 space limit type.
:rtype: SpaceCapsType
"""
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(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,
self._new_value_value,
)
MemberSpaceLimitsChangePolicyDetails_validator = bv.Struct(MemberSpaceLimitsChangePolicyDetails)
class MemberSpaceLimitsChangePolicyType(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(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__ = [
'_previous_value_value',
'_previous_value_present',
'_new_value_value',
'_new_value_present',
]
_has_required_fields = True
def __init__(self,
previous_value=None,
new_value=None):
self._previous_value_value = None
self._previous_value_present = False
self._new_value_value = None
self._new_value_present = False
if previous_value is not None:
self.previous_value = previous_value
if new_value is not None:
self.new_value = new_value
@property
def previous_value(self):
"""
Previous storage quota status.
:rtype: SpaceLimitsStatus
"""
if self._previous_value_present:
return self._previous_value_value
else:
raise AttributeError("missing required field 'previous_value'")
@previous_value.setter
def previous_value(self, val):
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
@property
def new_value(self):
"""
New storage quota status.
:rtype: SpaceLimitsStatus
"""
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(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,
self._new_value_value,
)
MemberSpaceLimitsChangeStatusDetails_validator = bv.Struct(MemberSpaceLimitsChangeStatusDetails)
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 custom member space limit.
"""
__slots__ = [
]
_has_required_fields = False
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
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
not_joined = None
# Attribute is overwritten below the class definition
invited = None
# Attribute is overwritten below the class definition
active = None
# Attribute is overwritten below the class definition
suspended = None
# Attribute is overwritten below the class definition
removed = None
# Attribute is overwritten below the class definition
other = None
def is_not_joined(self):
"""
Check if the union tag is ``not_joined``.
:rtype: bool
"""
return self._tag == 'not_joined'
def is_invited(self):
"""
Check if the union tag is ``invited``.
:rtype: bool
"""
return self._tag == 'invited'
def is_active(self):
"""
Check if the union tag is ``active``.
:rtype: bool
"""
return self._tag == 'active'
def is_suspended(self):
"""
Check if the union tag is ``suspended``.
:rtype: bool
"""
return self._tag == 'suspended'
def is_removed(self):
"""
Check if the union tag is ``removed``.
:rtype: bool
"""
return self._tag == 'removed'
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(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(bb.Struct):
"""
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 = True
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(suggested_members={!r})'.format(
self._suggested_members_value,
)
MemberSuggestDetails_validator = bv.Struct(MemberSuggestDetails)
class MemberSuggestType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New team member suggestions policy.
:rtype: MemberSuggestionsPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous team member suggestions policy. Might be missing due to
historical data gap.
:rtype: MemberSuggestionsPolicy
"""
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(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,
self._previous_value_value,
)
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
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(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(bb.Struct):
"""
Transferred contents of deleted member account to another member.
"""
__slots__ = [
]
_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,
description=None):
self._description_value = None
self._description_present = False
if description is not None:
self.description = description
@property
def description(self):
"""
:rtype: str
"""
if self._description_present:
return self._description_value
else:
raise AttributeError("missing required field 'description'")
@description.setter
def description(self, val):
val = self._description_validator.validate(val)
self._description_value = val
self._description_present = True
@description.deleter
def description(self):
self._description_value = None
self._description_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 'MemberTransferAccountContentsType(description={!r})'.format(
self._description_value,
)
MemberTransferAccountContentsType_validator = bv.Struct(MemberTransferAccountContentsType)
class MicrosoftOfficeAddinChangePolicyDetails(bb.Struct):
"""
Enabled/disabled Microsoft Office add-in.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New Microsoft Office addin policy.
:rtype: MicrosoftOfficeAddinPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous Microsoft Office addin policy. Might be missing due to
historical data gap.
:rtype: MicrosoftOfficeAddinPolicy
"""
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(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,
self._previous_value_value,
)
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
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(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(bb.Struct):
"""
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,
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(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.
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
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,
)
MobileSessionLogInfo_validator = bv.Struct(MobileSessionLogInfo)
class NamespaceRelativePathLogInfo(bb.Struct):
"""
Namespace relative path details.
: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__ = [
'_ns_id_value',
'_ns_id_present',
'_relative_path_value',
'_relative_path_present',
]
_has_required_fields = False
def __init__(self,
ns_id=None,
relative_path=None):
self._ns_id_value = None
self._ns_id_present = False
self._relative_path_value = None
self._relative_path_present = False
if ns_id is not None:
self.ns_id = ns_id
if relative_path is not None:
self.relative_path = relative_path
@property
def ns_id(self):
"""
Namespace ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._ns_id_present:
return self._ns_id_value
else:
return None
@ns_id.setter
def ns_id(self, val):
if val is None:
del self.ns_id
return
val = self._ns_id_validator.validate(val)
self._ns_id_value = val
self._ns_id_present = True
@ns_id.deleter
def ns_id(self):
self._ns_id_value = None
self._ns_id_present = False
@property
def relative_path(self):
"""
A path relative to the specified namespace ID. Might be missing due to
historical data gap.
:rtype: str
"""
if self._relative_path_present:
return self._relative_path_value
else:
return None
@relative_path.setter
def relative_path(self, val):
if val is None:
del self.relative_path
return
val = self._relative_path_validator.validate(val)
self._relative_path_value = val
self._relative_path_present = True
@relative_path.deleter
def relative_path(self):
self._relative_path_value = None
self._relative_path_present = False
def _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,
self._relative_path_value,
)
NamespaceRelativePathLogInfo_validator = bv.Struct(NamespaceRelativePathLogInfo)
class NetworkControlChangePolicyDetails(bb.Struct):
"""
Enabled/disabled network control.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New network control policy.
:rtype: NetworkControlPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous network control policy. Might be missing due to historical data
gap.
:rtype: NetworkControlPolicy
"""
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(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,
self._previous_value_value,
)
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
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(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(bb.Struct):
"""
User's logged information.
: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__ = [
'_account_id_value',
'_account_id_present',
'_display_name_value',
'_display_name_present',
'_email_value',
'_email_present',
]
_has_required_fields = False
def __init__(self,
account_id=None,
display_name=None,
email=None):
self._account_id_value = None
self._account_id_present = False
self._display_name_value = None
self._display_name_present = False
self._email_value = None
self._email_present = False
if account_id is not None:
self.account_id = account_id
if display_name is not None:
self.display_name = display_name
if email is not None:
self.email = email
@property
def account_id(self):
"""
User unique ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._account_id_present:
return self._account_id_value
else:
return None
@account_id.setter
def account_id(self, val):
if val is None:
del self.account_id
return
val = self._account_id_validator.validate(val)
self._account_id_value = val
self._account_id_present = True
@account_id.deleter
def account_id(self):
self._account_id_value = None
self._account_id_present = False
@property
def display_name(self):
"""
User display name. Might be missing due to historical data gap.
:rtype: str
"""
if self._display_name_present:
return self._display_name_value
else:
return None
@display_name.setter
def display_name(self, val):
if val is None:
del self.display_name
return
val = self._display_name_validator.validate(val)
self._display_name_value = val
self._display_name_present = True
@display_name.deleter
def display_name(self):
self._display_name_value = None
self._display_name_present = False
@property
def email(self):
"""
User email address. Might be missing due to historical data gap.
:rtype: str
"""
if self._email_present:
return self._email_value
else:
return None
@email.setter
def email(self, val):
if val is None:
del self.email
return
val = self._email_validator.validate(val)
self._email_value = val
self._email_present = True
@email.deleter
def email(self):
self._email_value = None
self._email_present = False
def _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,
self._display_name_value,
self._email_value,
)
UserLogInfo_validator = bv.StructTree(UserLogInfo)
class NonTeamMemberLogInfo(UserLogInfo):
"""
Non team member's logged information.
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
account_id=None,
display_name=None,
email=None):
super(NonTeamMemberLogInfo, self).__init__(account_id,
display_name,
email)
def _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,
self._display_name_value,
self._email_value,
)
NonTeamMemberLogInfo_validator = bv.Struct(NonTeamMemberLogInfo)
class NoteAclInviteOnlyDetails(bb.Struct):
"""
Changed Paper doc to invite-only.
"""
__slots__ = [
]
_has_required_fields = False
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 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 Paper doc to link-accessible.
"""
__slots__ = [
]
_has_required_fields = False
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 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 Paper doc to link-accessible for team.
"""
__slots__ = [
]
_has_required_fields = False
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 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 received Paper doc.
"""
__slots__ = [
]
_has_required_fields = False
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 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 Paper doc.
"""
__slots__ = [
]
_has_required_fields = False
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 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 shared Paper doc.
"""
__slots__ = [
]
_has_required_fields = False
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 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 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',
'_access_method_value',
'_access_method_present',
]
_has_required_fields = True
def __init__(self,
access_method=None,
geo_location=None):
self._geo_location_value = None
self._geo_location_present = False
self._access_method_value = None
self._access_method_present = False
if geo_location is not None:
self.geo_location = geo_location
if access_method is not None:
self.access_method = access_method
@property
def geo_location(self):
"""
Geographic location details.
:rtype: GeoLocationLogInfo
"""
if self._geo_location_present:
return self._geo_location_value
else:
return None
@geo_location.setter
def geo_location(self, val):
if val is None:
del self.geo_location
return
self._geo_location_validator.validate_type_only(val)
self._geo_location_value = val
self._geo_location_present = True
@geo_location.deleter
def geo_location(self):
self._geo_location_value = None
self._geo_location_present = False
@property
def access_method(self):
"""
The method that was used to perform the action.
:rtype: AccessMethodLogInfo
"""
if self._access_method_present:
return self._access_method_value
else:
raise AttributeError("missing required field 'access_method'")
@access_method.setter
def access_method(self, val):
self._access_method_validator.validate_type_only(val)
self._access_method_value = val
self._access_method_present = True
@access_method.deleter
def access_method(self):
self._access_method_value = None
self._access_method_present = False
def _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})'.format(
self._access_method_value,
self._geo_location_value,
)
OriginLogInfo_validator = bv.Struct(OriginLogInfo)
class PaperAccessType(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
viewer = None
# Attribute is overwritten below the class definition
commenter = None
# Attribute is overwritten below the class definition
editor = None
# Attribute is overwritten below the class definition
other = None
def is_viewer(self):
"""
Check if the union tag is ``viewer``.
:rtype: bool
"""
return self._tag == 'viewer'
def is_commenter(self):
"""
Check if the union tag is ``commenter``.
:rtype: bool
"""
return self._tag == 'commenter'
def is_editor(self):
"""
Check if the union tag is ``editor``.
:rtype: bool
"""
return self._tag == 'editor'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Exported all team Paper docs.
"""
__slots__ = [
]
_has_required_fields = False
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 PaperAdminExportStartType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New Dropbox Paper deployment policy.
:rtype: team_policies.PaperDeploymentPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous Dropbox Paper deployment policy. Might be missing due to
historical data gap.
:rtype: team_policies.PaperDeploymentPolicy
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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,
self._previous_value_value,
)
PaperChangeDeploymentPolicyDetails_validator = bv.Struct(PaperChangeDeploymentPolicyDetails)
class PaperChangeDeploymentPolicyType(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(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__ = [
'_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 paper external link accessibility policy.
:rtype: PaperMemberPolicy
"""
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(PaperChangeMemberLinkPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperChangeMemberLinkPolicyDetails(new_value={!r})'.format(
self._new_value_value,
)
PaperChangeMemberLinkPolicyDetails_validator = bv.Struct(PaperChangeMemberLinkPolicyDetails)
class PaperChangeMemberLinkPolicyType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New paper external accessibility policy.
:rtype: PaperMemberPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous paper external accessibility policy. Might be missing due to
historical data gap.
:rtype: PaperMemberPolicy
"""
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(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,
self._previous_value_value,
)
PaperChangeMemberPolicyDetails_validator = bv.Struct(PaperChangeMemberPolicyDetails)
class PaperChangeMemberPolicyType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New Dropbox Paper policy.
:rtype: team_policies.PaperEnabledPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous Dropbox Paper policy. Might be missing due to historical data
gap.
:rtype: team_policies.PaperEnabledPolicy
"""
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(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,
self._previous_value_value,
)
PaperChangePolicyDetails_validator = bv.Struct(PaperChangePolicyDetails)
class PaperChangePolicyType(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(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__ = [
'_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(PaperContentAddMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperContentAddMemberDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperContentAddMemberDetails_validator = bv.Struct(PaperContentAddMemberDetails)
class PaperContentAddMemberType(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(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__ = [
'_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):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def target_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(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,
self._target_asset_index_value,
self._parent_asset_index_value,
)
PaperContentAddToFolderDetails_validator = bv.Struct(PaperContentAddToFolderDetails)
class PaperContentAddToFolderType(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(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__ = [
'_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(PaperContentArchiveDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperContentArchiveDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperContentArchiveDetails_validator = bv.Struct(PaperContentArchiveDetails)
class PaperContentArchiveType(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(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__ = [
'_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(PaperContentCreateDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperContentCreateDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperContentCreateDetails_validator = bv.Struct(PaperContentCreateDetails)
class PaperContentCreateType(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(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__ = [
'_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(PaperContentPermanentlyDeleteDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperContentPermanentlyDeleteDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperContentPermanentlyDeleteDetails_validator = bv.Struct(PaperContentPermanentlyDeleteDetails)
class PaperContentPermanentlyDeleteType(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(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):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def target_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}, 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 PaperContentRemoveFromFolderType(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(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__ = [
'_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(PaperContentRemoveMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperContentRemoveMemberDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperContentRemoveMemberDetails_validator = bv.Struct(PaperContentRemoveMemberDetails)
class PaperContentRemoveMemberType(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(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__ = [
'_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(PaperContentRenameDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperContentRenameDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperContentRenameDetails_validator = bv.Struct(PaperContentRenameDetails)
class PaperContentRenameType(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(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__ = [
'_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(PaperContentRestoreDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperContentRestoreDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperContentRestoreDetails_validator = bv.Struct(PaperContentRestoreDetails)
class PaperContentRestoreType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_comment_text_value',
'_comment_text_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
comment_text=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._comment_text_value = None
self._comment_text_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if comment_text is not None:
self.comment_text = comment_text
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def comment_text(self):
"""
Comment text. Might be missing due to historical data gap.
:rtype: str
"""
if self._comment_text_present:
return self._comment_text_value
else:
return None
@comment_text.setter
def comment_text(self, val):
if val is None:
del self.comment_text
return
val = self._comment_text_validator.validate(val)
self._comment_text_value = val
self._comment_text_present = True
@comment_text.deleter
def comment_text(self):
self._comment_text_value = None
self._comment_text_present = False
def _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,
self._comment_text_value,
)
PaperDocAddCommentDetails_validator = bv.Struct(PaperDocAddCommentDetails)
class PaperDocAddCommentType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_access_type_value',
'_access_type_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
access_type=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._access_type_value = None
self._access_type_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if access_type is not None:
self.access_type = access_type
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def access_type(self):
"""
Paper doc access type.
:rtype: PaperAccessType
"""
if self._access_type_present:
return self._access_type_value
else:
raise AttributeError("missing required field 'access_type'")
@access_type.setter
def access_type(self, val):
self._access_type_validator.validate_type_only(val)
self._access_type_value = val
self._access_type_present = True
@access_type.deleter
def access_type(self):
self._access_type_value = None
self._access_type_present = False
def _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,
self._access_type_value,
)
PaperDocChangeMemberRoleDetails_validator = bv.Struct(PaperDocChangeMemberRoleDetails)
class PaperDocChangeMemberRoleType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_public_sharing_policy_value',
'_public_sharing_policy_present',
'_team_sharing_policy_value',
'_team_sharing_policy_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
public_sharing_policy=None,
team_sharing_policy=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._public_sharing_policy_value = None
self._public_sharing_policy_present = False
self._team_sharing_policy_value = None
self._team_sharing_policy_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if public_sharing_policy is not None:
self.public_sharing_policy = public_sharing_policy
if team_sharing_policy is not None:
self.team_sharing_policy = team_sharing_policy
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def public_sharing_policy(self):
"""
Sharing policy with external users. Might be missing due to historical
data gap.
:rtype: str
"""
if self._public_sharing_policy_present:
return self._public_sharing_policy_value
else:
return None
@public_sharing_policy.setter
def public_sharing_policy(self, val):
if val is None:
del self.public_sharing_policy
return
val = self._public_sharing_policy_validator.validate(val)
self._public_sharing_policy_value = val
self._public_sharing_policy_present = True
@public_sharing_policy.deleter
def public_sharing_policy(self):
self._public_sharing_policy_value = None
self._public_sharing_policy_present = False
@property
def team_sharing_policy(self):
"""
Sharing policy with team. Might be missing due to historical data gap.
:rtype: str
"""
if self._team_sharing_policy_present:
return self._team_sharing_policy_value
else:
return None
@team_sharing_policy.setter
def team_sharing_policy(self, val):
if val is None:
del self.team_sharing_policy
return
val = self._team_sharing_policy_validator.validate(val)
self._team_sharing_policy_value = val
self._team_sharing_policy_present = True
@team_sharing_policy.deleter
def team_sharing_policy(self):
self._team_sharing_policy_value = None
self._team_sharing_policy_present = False
def _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,
self._public_sharing_policy_value,
self._team_sharing_policy_value,
)
PaperDocChangeSharingPolicyDetails_validator = bv.Struct(PaperDocChangeSharingPolicyDetails)
class PaperDocChangeSharingPolicyType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_new_subscription_level_value',
'_new_subscription_level_present',
'_previous_subscription_level_value',
'_previous_subscription_level_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
new_subscription_level=None,
previous_subscription_level=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._new_subscription_level_value = None
self._new_subscription_level_present = False
self._previous_subscription_level_value = None
self._previous_subscription_level_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if new_subscription_level is not None:
self.new_subscription_level = new_subscription_level
if previous_subscription_level is not None:
self.previous_subscription_level = previous_subscription_level
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def new_subscription_level(self):
"""
New doc subscription level.
:rtype: str
"""
if self._new_subscription_level_present:
return self._new_subscription_level_value
else:
raise AttributeError("missing required field 'new_subscription_level'")
@new_subscription_level.setter
def new_subscription_level(self, val):
val = self._new_subscription_level_validator.validate(val)
self._new_subscription_level_value = val
self._new_subscription_level_present = True
@new_subscription_level.deleter
def new_subscription_level(self):
self._new_subscription_level_value = None
self._new_subscription_level_present = False
@property
def previous_subscription_level(self):
"""
Previous doc subscription level. Might be missing due to historical data
gap.
:rtype: str
"""
if self._previous_subscription_level_present:
return self._previous_subscription_level_value
else:
return None
@previous_subscription_level.setter
def previous_subscription_level(self, val):
if val is None:
del self.previous_subscription_level
return
val = self._previous_subscription_level_validator.validate(val)
self._previous_subscription_level_value = val
self._previous_subscription_level_present = True
@previous_subscription_level.deleter
def previous_subscription_level(self):
self._previous_subscription_level_value = None
self._previous_subscription_level_present = False
def _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,
self._new_subscription_level_value,
self._previous_subscription_level_value,
)
PaperDocChangeSubscriptionDetails_validator = bv.Struct(PaperDocChangeSubscriptionDetails)
class PaperDocChangeSubscriptionType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_comment_text_value',
'_comment_text_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
comment_text=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._comment_text_value = None
self._comment_text_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if comment_text is not None:
self.comment_text = comment_text
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def comment_text(self):
"""
Comment text. Might be missing due to historical data gap.
:rtype: str
"""
if self._comment_text_present:
return self._comment_text_value
else:
return None
@comment_text.setter
def comment_text(self, val):
if val is None:
del self.comment_text
return
val = self._comment_text_validator.validate(val)
self._comment_text_value = val
self._comment_text_present = True
@comment_text.deleter
def comment_text(self):
self._comment_text_value = None
self._comment_text_present = False
def _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,
self._comment_text_value,
)
PaperDocDeleteCommentDetails_validator = bv.Struct(PaperDocDeleteCommentDetails)
class PaperDocDeleteCommentType(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(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__ = [
'_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(PaperDocDeletedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocDeletedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocDeletedDetails_validator = bv.Struct(PaperDocDeletedDetails)
class PaperDocDeletedType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_export_file_format_value',
'_export_file_format_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
export_file_format=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._export_file_format_value = None
self._export_file_format_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if export_file_format is not None:
self.export_file_format = export_file_format
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def export_file_format(self):
"""
Export file format.
:rtype: PaperDownloadFormat
"""
if self._export_file_format_present:
return self._export_file_format_value
else:
raise AttributeError("missing required field 'export_file_format'")
@export_file_format.setter
def export_file_format(self, val):
self._export_file_format_validator.validate_type_only(val)
self._export_file_format_value = val
self._export_file_format_present = True
@export_file_format.deleter
def export_file_format(self):
self._export_file_format_value = None
self._export_file_format_present = False
def _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,
self._export_file_format_value,
)
PaperDocDownloadDetails_validator = bv.Struct(PaperDocDownloadDetails)
class PaperDocDownloadType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_comment_text_value',
'_comment_text_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
comment_text=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._comment_text_value = None
self._comment_text_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if comment_text is not None:
self.comment_text = comment_text
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def comment_text(self):
"""
Comment text. Might be missing due to historical data gap.
:rtype: str
"""
if self._comment_text_present:
return self._comment_text_value
else:
return None
@comment_text.setter
def comment_text(self, val):
if val is None:
del self.comment_text
return
val = self._comment_text_validator.validate(val)
self._comment_text_value = val
self._comment_text_present = True
@comment_text.deleter
def comment_text(self):
self._comment_text_value = None
self._comment_text_present = False
def _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,
self._comment_text_value,
)
PaperDocEditCommentDetails_validator = bv.Struct(PaperDocEditCommentDetails)
class PaperDocEditCommentType(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(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__ = [
'_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(PaperDocEditDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocEditDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocEditDetails_validator = bv.Struct(PaperDocEditDetails)
class PaperDocEditType(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(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__ = [
'_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(PaperDocFollowedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocFollowedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocFollowedDetails_validator = bv.Struct(PaperDocFollowedDetails)
class PaperDocFollowedType(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(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__ = [
'_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(PaperDocMentionDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocMentionDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocMentionDetails_validator = bv.Struct(PaperDocMentionDetails)
class PaperDocMentionType(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(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__ = [
'_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(PaperDocRequestAccessDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocRequestAccessDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocRequestAccessDetails_validator = bv.Struct(PaperDocRequestAccessDetails)
class PaperDocRequestAccessType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_comment_text_value',
'_comment_text_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
comment_text=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._comment_text_value = None
self._comment_text_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if comment_text is not None:
self.comment_text = comment_text
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def comment_text(self):
"""
Comment text. Might be missing due to historical data gap.
:rtype: str
"""
if self._comment_text_present:
return self._comment_text_value
else:
return None
@comment_text.setter
def comment_text(self, val):
if val is None:
del self.comment_text
return
val = self._comment_text_validator.validate(val)
self._comment_text_value = val
self._comment_text_present = True
@comment_text.deleter
def comment_text(self):
self._comment_text_value = None
self._comment_text_present = False
def _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,
self._comment_text_value,
)
PaperDocResolveCommentDetails_validator = bv.Struct(PaperDocResolveCommentDetails)
class PaperDocResolveCommentType(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(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__ = [
'_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(PaperDocRevertDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocRevertDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocRevertDetails_validator = bv.Struct(PaperDocRevertDetails)
class PaperDocRevertType(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(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__ = [
'_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(PaperDocSlackShareDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocSlackShareDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocSlackShareDetails_validator = bv.Struct(PaperDocSlackShareDetails)
class PaperDocSlackShareType(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(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__ = [
'_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(PaperDocTeamInviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocTeamInviteDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocTeamInviteDetails_validator = bv.Struct(PaperDocTeamInviteDetails)
class PaperDocTeamInviteType(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(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__ = [
'_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(PaperDocTrashedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocTrashedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocTrashedDetails_validator = bv.Struct(PaperDocTrashedDetails)
class PaperDocTrashedType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_comment_text_value',
'_comment_text_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
comment_text=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._comment_text_value = None
self._comment_text_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if comment_text is not None:
self.comment_text = comment_text
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def comment_text(self):
"""
Comment text. Might be missing due to historical data gap.
:rtype: str
"""
if self._comment_text_present:
return self._comment_text_value
else:
return None
@comment_text.setter
def comment_text(self, val):
if val is None:
del self.comment_text
return
val = self._comment_text_validator.validate(val)
self._comment_text_value = val
self._comment_text_present = True
@comment_text.deleter
def comment_text(self):
self._comment_text_value = None
self._comment_text_present = False
def _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,
self._comment_text_value,
)
PaperDocUnresolveCommentDetails_validator = bv.Struct(PaperDocUnresolveCommentDetails)
class PaperDocUnresolveCommentType(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(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__ = [
'_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(PaperDocUntrashedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocUntrashedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocUntrashedDetails_validator = bv.Struct(PaperDocUntrashedDetails)
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 team_log.PaperDocViewDetails.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(PaperDocViewDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperDocViewDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperDocViewDetails_validator = bv.Struct(PaperDocViewDetails)
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 team_log.PaperDocumentLogInfo.doc_id: Papers document Id.
:ivar team_log.PaperDocumentLogInfo.doc_title: Paper document title.
"""
__slots__ = [
'_doc_id_value',
'_doc_id_present',
'_doc_title_value',
'_doc_title_present',
]
_has_required_fields = True
def __init__(self,
doc_id=None,
doc_title=None):
self._doc_id_value = None
self._doc_id_present = False
self._doc_title_value = None
self._doc_title_present = False
if doc_id is not None:
self.doc_id = doc_id
if doc_title is not None:
self.doc_title = doc_title
@property
def doc_id(self):
"""
Papers document Id.
:rtype: str
"""
if self._doc_id_present:
return self._doc_id_value
else:
raise AttributeError("missing required field 'doc_id'")
@doc_id.setter
def doc_id(self, val):
val = self._doc_id_validator.validate(val)
self._doc_id_value = val
self._doc_id_present = True
@doc_id.deleter
def doc_id(self):
self._doc_id_value = None
self._doc_id_present = False
@property
def doc_title(self):
"""
Paper document title.
:rtype: str
"""
if self._doc_title_present:
return self._doc_title_value
else:
raise AttributeError("missing required field 'doc_title'")
@doc_title.setter
def doc_title(self, val):
val = self._doc_title_validator.validate(val)
self._doc_title_value = val
self._doc_title_present = True
@doc_title.deleter
def doc_title(self):
self._doc_title_value = None
self._doc_title_present = False
def _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,
self._doc_title_value,
)
PaperDocumentLogInfo_validator = bv.Struct(PaperDocumentLogInfo)
class PaperDownloadFormat(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
docx = None
# Attribute is overwritten below the class definition
html = None
# Attribute is overwritten below the class definition
markdown = None
# Attribute is overwritten below the class definition
pdf = None
# Attribute is overwritten below the class definition
other = None
def is_docx(self):
"""
Check if the union tag is ``docx``.
:rtype: bool
"""
return self._tag == 'docx'
def is_html(self):
"""
Check if the union tag is ``html``.
:rtype: bool
"""
return self._tag == 'html'
def is_markdown(self):
"""
Check if the union tag is ``markdown``.
:rtype: bool
"""
return self._tag == 'markdown'
def is_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``.
:rtype: bool
"""
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(bb.Struct):
"""
Added users to Paper-enabled users list.
"""
__slots__ = [
]
_has_required_fields = False
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 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):
"""
Removed users from Paper-enabled users list.
"""
__slots__ = [
]
_has_required_fields = False
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 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):
"""
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 = 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(PaperExternalViewAllowDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperExternalViewAllowDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperExternalViewAllowDetails_validator = bv.Struct(PaperExternalViewAllowDetails)
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):
"""
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 = 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(PaperExternalViewDefaultTeamDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperExternalViewDefaultTeamDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperExternalViewDefaultTeamDetails_validator = bv.Struct(PaperExternalViewDefaultTeamDetails)
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):
"""
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 = 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(PaperExternalViewForbidDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperExternalViewForbidDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperExternalViewForbidDetails_validator = bv.Struct(PaperExternalViewForbidDetails)
class PaperExternalViewForbidType(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(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__ = [
'_event_uuid_value',
'_event_uuid_present',
'_new_subscription_level_value',
'_new_subscription_level_present',
'_previous_subscription_level_value',
'_previous_subscription_level_present',
]
_has_required_fields = True
def __init__(self,
event_uuid=None,
new_subscription_level=None,
previous_subscription_level=None):
self._event_uuid_value = None
self._event_uuid_present = False
self._new_subscription_level_value = None
self._new_subscription_level_present = False
self._previous_subscription_level_value = None
self._previous_subscription_level_present = False
if event_uuid is not None:
self.event_uuid = event_uuid
if new_subscription_level is not None:
self.new_subscription_level = new_subscription_level
if previous_subscription_level is not None:
self.previous_subscription_level = previous_subscription_level
@property
def event_uuid(self):
"""
Event unique identifier.
:rtype: str
"""
if self._event_uuid_present:
return self._event_uuid_value
else:
raise AttributeError("missing required field 'event_uuid'")
@event_uuid.setter
def event_uuid(self, val):
val = self._event_uuid_validator.validate(val)
self._event_uuid_value = val
self._event_uuid_present = True
@event_uuid.deleter
def event_uuid(self):
self._event_uuid_value = None
self._event_uuid_present = False
@property
def new_subscription_level(self):
"""
New folder subscription level.
:rtype: str
"""
if self._new_subscription_level_present:
return self._new_subscription_level_value
else:
raise AttributeError("missing required field 'new_subscription_level'")
@new_subscription_level.setter
def new_subscription_level(self, val):
val = self._new_subscription_level_validator.validate(val)
self._new_subscription_level_value = val
self._new_subscription_level_present = True
@new_subscription_level.deleter
def new_subscription_level(self):
self._new_subscription_level_value = None
self._new_subscription_level_present = False
@property
def previous_subscription_level(self):
"""
Previous folder subscription level. Might be missing due to historical
data gap.
:rtype: str
"""
if self._previous_subscription_level_present:
return self._previous_subscription_level_value
else:
return None
@previous_subscription_level.setter
def previous_subscription_level(self, val):
if val is None:
del self.previous_subscription_level
return
val = self._previous_subscription_level_validator.validate(val)
self._previous_subscription_level_value = val
self._previous_subscription_level_present = True
@previous_subscription_level.deleter
def previous_subscription_level(self):
self._previous_subscription_level_value = None
self._previous_subscription_level_present = False
def _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,
self._new_subscription_level_value,
self._previous_subscription_level_value,
)
PaperFolderChangeSubscriptionDetails_validator = bv.Struct(PaperFolderChangeSubscriptionDetails)
class PaperFolderChangeSubscriptionType(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(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__ = [
'_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(PaperFolderDeletedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperFolderDeletedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperFolderDeletedDetails_validator = bv.Struct(PaperFolderDeletedDetails)
class PaperFolderDeletedType(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(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__ = [
'_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(PaperFolderFollowedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperFolderFollowedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
PaperFolderFollowedDetails_validator = bv.Struct(PaperFolderFollowedDetails)
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 team_log.PaperFolderLogInfo.folder_id: Papers folder Id.
:ivar team_log.PaperFolderLogInfo.folder_name: Paper folder name.
"""
__slots__ = [
'_folder_id_value',
'_folder_id_present',
'_folder_name_value',
'_folder_name_present',
]
_has_required_fields = True
def __init__(self,
folder_id=None,
folder_name=None):
self._folder_id_value = None
self._folder_id_present = False
self._folder_name_value = None
self._folder_name_present = False
if folder_id is not None:
self.folder_id = folder_id
if folder_name is not None:
self.folder_name = folder_name
@property
def folder_id(self):
"""
Papers folder Id.
:rtype: str
"""
if self._folder_id_present:
return self._folder_id_value
else:
raise AttributeError("missing required field 'folder_id'")
@folder_id.setter
def folder_id(self, val):
val = self._folder_id_validator.validate(val)
self._folder_id_value = val
self._folder_id_present = True
@folder_id.deleter
def folder_id(self):
self._folder_id_value = None
self._folder_id_present = False
@property
def folder_name(self):
"""
Paper folder name.
:rtype: str
"""
if self._folder_name_present:
return self._folder_name_value
else:
raise AttributeError("missing required field 'folder_name'")
@folder_name.setter
def folder_name(self, val):
val = self._folder_name_validator.validate(val)
self._folder_name_value = val
self._folder_name_present = True
@folder_name.deleter
def folder_name(self):
self._folder_name_value = None
self._folder_name_present = False
def _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,
self._folder_name_value,
)
PaperFolderLogInfo_validator = bv.Struct(PaperFolderLogInfo)
class PaperFolderTeamInviteDetails(bb.Struct):
"""
Shared Paper folder with member.
:ivar team_log.PaperFolderTeamInviteDetails.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(PaperFolderTeamInviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperFolderTeamInviteDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
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.
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
anyone_with_link = None
# Attribute is overwritten below the class definition
only_team = None
# Attribute is overwritten below the class definition
team_and_explicitly_shared = None
# Attribute is overwritten below the class definition
other = None
def is_anyone_with_link(self):
"""
Check if the union tag is ``anyone_with_link``.
:rtype: bool
"""
return self._tag == 'anyone_with_link'
def is_only_team(self):
"""
Check if the union tag is ``only_team``.
:rtype: bool
"""
return self._tag == 'only_team'
def is_team_and_explicitly_shared(self):
"""
Check if the union tag is ``team_and_explicitly_shared``.
:rtype: bool
"""
return self._tag == 'team_and_explicitly_shared'
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(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
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar UserLogInfo ParticipantLogInfo.user: A user with a Dropbox account.
:ivar GroupLogInfo ParticipantLogInfo.group: Group details.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def user(cls, val):
"""
Create an instance of this class set to the ``user`` tag with value
``val``.
:param UserLogInfo val:
:rtype: ParticipantLogInfo
"""
return cls('user', val)
@classmethod
def group(cls, val):
"""
Create an instance of this class set to the ``group`` tag with value
``val``.
:param GroupLogInfo val:
:rtype: ParticipantLogInfo
"""
return cls('group', val)
def is_user(self):
"""
Check if the union tag is ``user``.
:rtype: bool
"""
return self._tag == 'user'
def is_group(self):
"""
Check if the union tag is ``group``.
:rtype: bool
"""
return self._tag == 'group'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_user(self):
"""
A user with a Dropbox account.
Only call this if :meth:`is_user` is true.
:rtype: UserLogInfo
"""
if not self.is_user():
raise AttributeError("tag 'user' not set")
return self._value
def get_group(self):
"""
Group details.
Only call this if :meth:`is_group` is true.
:rtype: GroupLogInfo
"""
if not self.is_group():
raise AttributeError("tag 'group' not set")
return self._value
def _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 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.
"""
__slots__ = [
]
_has_required_fields = False
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 PasswordChangeType(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(PasswordChangeType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PasswordChangeType(description={!r})'.format(
self._description_value,
)
PasswordChangeType_validator = bv.Struct(PasswordChangeType)
class PasswordResetAllDetails(bb.Struct):
"""
Reset all team member passwords.
"""
__slots__ = [
]
_has_required_fields = False
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 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.
"""
__slots__ = [
]
_has_required_fields = False
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 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 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__ = [
'_contextual_value',
'_contextual_present',
'_namespace_relative_value',
'_namespace_relative_present',
]
_has_required_fields = True
def __init__(self,
namespace_relative=None,
contextual=None):
self._contextual_value = None
self._contextual_present = False
self._namespace_relative_value = None
self._namespace_relative_present = False
if contextual is not None:
self.contextual = contextual
if namespace_relative is not None:
self.namespace_relative = namespace_relative
@property
def contextual(self):
"""
Fully qualified path relative to event's context. Might be missing due
to historical data gap.
:rtype: str
"""
if self._contextual_present:
return self._contextual_value
else:
return None
@contextual.setter
def contextual(self, val):
if val is None:
del self.contextual
return
val = self._contextual_validator.validate(val)
self._contextual_value = val
self._contextual_present = True
@contextual.deleter
def contextual(self):
self._contextual_value = None
self._contextual_present = False
@property
def namespace_relative(self):
"""
Path relative to the namespace containing the content.
:rtype: NamespaceRelativePathLogInfo
"""
if self._namespace_relative_present:
return self._namespace_relative_value
else:
raise AttributeError("missing required field 'namespace_relative'")
@namespace_relative.setter
def namespace_relative(self, val):
self._namespace_relative_validator.validate_type_only(val)
self._namespace_relative_value = val
self._namespace_relative_present = True
@namespace_relative.deleter
def namespace_relative(self):
self._namespace_relative_value = None
self._namespace_relative_present = False
def _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,
self._contextual_value,
)
PathLogInfo_validator = bv.Struct(PathLogInfo)
class PermanentDeleteChangePolicyDetails(bb.Struct):
"""
Enabled/disabled ability of team members to permanently delete content.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New permanent delete content policy.
:rtype: ContentPermanentDeletePolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous permanent delete content policy. Might be missing due to
historical data gap.
:rtype: ContentPermanentDeletePolicy
"""
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(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,
self._previous_value_value,
)
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
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
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``.
:rtype: bool
"""
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``.
:rtype: bool
"""
return self._tag == 'none'
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(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 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 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__ = [
'_src_asset_index_value',
'_src_asset_index_present',
'_dest_asset_index_value',
'_dest_asset_index_present',
]
_has_required_fields = True
def __init__(self,
src_asset_index=None,
dest_asset_index=None):
self._src_asset_index_value = None
self._src_asset_index_present = False
self._dest_asset_index_value = None
self._dest_asset_index_present = False
if src_asset_index is not None:
self.src_asset_index = src_asset_index
if dest_asset_index is not None:
self.dest_asset_index = dest_asset_index
@property
def src_asset_index(self):
"""
Source asset position in the Assets list.
:rtype: int
"""
if self._src_asset_index_present:
return self._src_asset_index_value
else:
raise AttributeError("missing required field 'src_asset_index'")
@src_asset_index.setter
def src_asset_index(self, val):
val = self._src_asset_index_validator.validate(val)
self._src_asset_index_value = val
self._src_asset_index_present = True
@src_asset_index.deleter
def src_asset_index(self):
self._src_asset_index_value = None
self._src_asset_index_present = False
@property
def dest_asset_index(self):
"""
Destination asset position in the Assets list.
:rtype: int
"""
if self._dest_asset_index_present:
return self._dest_asset_index_value
else:
raise AttributeError("missing required field 'dest_asset_index'")
@dest_asset_index.setter
def dest_asset_index(self, val):
val = self._dest_asset_index_validator.validate(val)
self._dest_asset_index_value = val
self._dest_asset_index_present = True
@dest_asset_index.deleter
def dest_asset_index(self):
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,
self._dest_asset_index_value,
)
RelocateAssetReferencesLogInfo_validator = bv.Struct(RelocateAssetReferencesLogInfo)
class ResellerLogInfo(bb.Struct):
"""
Reseller information.
:ivar team_log.ResellerLogInfo.reseller_name: Reseller name.
:ivar team_log.ResellerLogInfo.reseller_email: Reseller email.
"""
__slots__ = [
'_reseller_name_value',
'_reseller_name_present',
'_reseller_email_value',
'_reseller_email_present',
]
_has_required_fields = True
def __init__(self,
reseller_name=None,
reseller_email=None):
self._reseller_name_value = None
self._reseller_name_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_email is not None:
self.reseller_email = reseller_email
@property
def reseller_name(self):
"""
Reseller name.
:rtype: str
"""
if self._reseller_name_present:
return self._reseller_name_value
else:
raise AttributeError("missing required field 'reseller_name'")
@reseller_name.setter
def reseller_name(self, val):
val = self._reseller_name_validator.validate(val)
self._reseller_name_value = val
self._reseller_name_present = True
@reseller_name.deleter
def reseller_name(self):
self._reseller_name_value = None
self._reseller_name_present = False
@property
def reseller_email(self):
"""
Reseller email.
:rtype: str
"""
if self._reseller_email_present:
return self._reseller_email_value
else:
raise AttributeError("missing required field 'reseller_email'")
@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_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_email={!r})'.format(
self._reseller_name_value,
self._reseller_email_value,
)
ResellerLogInfo_validator = bv.Struct(ResellerLogInfo)
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.
"""
__slots__ = [
]
_has_required_fields = False
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 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.
"""
__slots__ = [
]
_has_required_fields = False
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 ResellerSupportSessionStartType(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(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__ = [
'_target_asset_index_value',
'_target_asset_index_present',
'_original_folder_name_value',
'_original_folder_name_present',
'_sharing_permission_value',
'_sharing_permission_present',
'_team_name_value',
'_team_name_present',
]
_has_required_fields = True
def __init__(self,
target_asset_index=None,
original_folder_name=None,
team_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
self._team_name_value = None
self._team_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
if sharing_permission is not None:
self.sharing_permission = sharing_permission
if team_name is not None:
self.team_name = team_name
@property
def target_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
@property
def team_name(self):
"""
Team name.
:rtype: str
"""
if self._team_name_present:
return self._team_name_value
else:
raise AttributeError("missing required field 'team_name'")
@team_name.setter
def team_name(self, val):
val = self._team_name_validator.validate(val)
self._team_name_value = val
self._team_name_present = True
@team_name.deleter
def team_name(self):
self._team_name_value = None
self._team_name_present = False
def _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,
self._original_folder_name_value,
self._team_name_value,
self._sharing_permission_value,
)
SfAddGroupDetails_validator = bv.Struct(SfAddGroupDetails)
class SfAddGroupType(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(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__ = [
'_target_asset_index_value',
'_target_asset_index_present',
'_original_folder_name_value',
'_original_folder_name_present',
'_shared_folder_type_value',
'_shared_folder_type_present',
]
_has_required_fields = True
def __init__(self,
target_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
@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 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(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,
self._original_folder_name_value,
self._shared_folder_type_value,
)
SfAllowNonMembersToViewSharedLinksDetails_validator = bv.Struct(SfAllowNonMembersToViewSharedLinksDetails)
class SfAllowNonMembersToViewSharedLinksType(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(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.
"""
__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(SfExternalInviteWarnDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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,
)
SfExternalInviteWarnDetails_validator = bv.Struct(SfExternalInviteWarnDetails)
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):
"""
Changed Facebook user's role in shared folder.
: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__ = [
'_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(SfFbInviteDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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,
)
SfFbInviteDetails_validator = bv.Struct(SfFbInviteDetails)
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):
"""
Uninvited Facebook user from shared folder.
: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__ = [
'_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(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,
self._original_folder_name_value,
)
SfTeamJoinDetails_validator = bv.Struct(SfTeamJoinDetails)
class SfTeamJoinFromOobLinkDetails(bb.Struct):
"""
Joined team member's shared folder from link.
: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__ = [
'_target_asset_index_value',
'_target_asset_index_present',
'_original_folder_name_value',
'_original_folder_name_present',
'_token_key_value',
'_token_key_present',
'_sharing_permission_value',
'_sharing_permission_present',
]
_has_required_fields = True
def __init__(self,
target_asset_index=None,
original_folder_name=None,
token_key=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._token_key_value = None
self._token_key_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 token_key is not None:
self.token_key = token_key
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 token_key(self):
"""
Shared link token key.
:rtype: str
"""
if self._token_key_present:
return self._token_key_value
else:
return None
@token_key.setter
def token_key(self, val):
if val is None:
del self.token_key
return
val = self._token_key_validator.validate(val)
self._token_key_value = val
self._token_key_present = True
@token_key.deleter
def token_key(self):
self._token_key_value = None
self._token_key_present = False
@property
def sharing_permission(self):
"""
Sharing permission. Might be missing due to historical data gap.
:rtype: str
"""
if self._sharing_permission_present:
return self._sharing_permission_value
else:
return None
@sharing_permission.setter
def sharing_permission(self, val):
if val is None:
del self.sharing_permission
return
val = self._sharing_permission_validator.validate(val)
self._sharing_permission_value = val
self._sharing_permission_present = True
@sharing_permission.deleter
def sharing_permission(self):
self._sharing_permission_value = None
self._sharing_permission_present = False
def _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,
self._original_folder_name_value,
self._token_key_value,
self._sharing_permission_value,
)
SfTeamJoinFromOobLinkDetails_validator = bv.Struct(SfTeamJoinFromOobLinkDetails)
class SfTeamJoinFromOobLinkType(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(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__ = [
'_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(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,
self._original_folder_name_value,
)
SfTeamUninviteDetails_validator = bv.Struct(SfTeamUninviteDetails)
class SfTeamUninviteType(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(SfTeamUninviteType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentAddInviteesType(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(SharedContentAddInviteesType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentAddLinkExpiryType(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(SharedContentAddLinkExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentAddLinkPasswordType(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(SharedContentAddLinkPasswordType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentAddMemberType(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(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__ = [
'_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 downloads policy.
:rtype: DownloadPolicyType
"""
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 downloads policy. Might be missing due to historical data gap.
:rtype: DownloadPolicyType
"""
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(SharedContentChangeDownloadsPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentChangeDownloadsPolicyDetails(new_value={!r}, previous_value={!r})'.format(
self._new_value_value,
self._previous_value_value,
)
SharedContentChangeDownloadsPolicyDetails_validator = bv.Struct(SharedContentChangeDownloadsPolicyDetails)
class SharedContentChangeDownloadsPolicyType(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(SharedContentChangeDownloadsPolicyType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentChangeInviteeRoleType(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(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__ = [
'_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 link audience value.
:rtype: sharing.LinkAudience
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous link audience value.
:rtype: sharing.LinkAudience
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
def _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(new_value={!r}, previous_value={!r})'.format(
self._new_value_value,
self._previous_value_value,
)
SharedContentChangeLinkAudienceDetails_validator = bv.Struct(SharedContentChangeLinkAudienceDetails)
class SharedContentChangeLinkAudienceType(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(SharedContentChangeLinkAudienceType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentChangeLinkExpiryType(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(SharedContentChangeLinkExpiryType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentChangeLinkPasswordType(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(SharedContentChangeLinkPasswordType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentChangeMemberRoleType(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(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__ = [
'_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 viewer info policy.
:rtype: sharing.ViewerInfoPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous view info policy. Might be missing due to historical data gap.
:rtype: sharing.ViewerInfoPolicy
"""
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(SharedContentChangeViewerInfoPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentChangeViewerInfoPolicyDetails(new_value={!r}, previous_value={!r})'.format(
self._new_value_value,
self._previous_value_value,
)
SharedContentChangeViewerInfoPolicyDetails_validator = bv.Struct(SharedContentChangeViewerInfoPolicyDetails)
class SharedContentChangeViewerInfoPolicyType(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(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):
"""
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(SharedContentClaimInvitationDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentClaimInvitationDetails(shared_content_link={!r})'.format(
self._shared_content_link_value,
)
SharedContentClaimInvitationDetails_validator = bv.Struct(SharedContentClaimInvitationDetails)
class SharedContentClaimInvitationType(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(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',
'_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,
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._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 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):
"""
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
@property
def destination_path(self):
"""
The path where the member saved the content.
:rtype: str
"""
if self._destination_path_present:
return self._destination_path_value
else:
raise AttributeError("missing required field 'destination_path'")
@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
@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}, shared_content_access_level={!r}, destination_path={!r}, shared_content_owner={!r})'.format(
self._shared_content_link_value,
self._shared_content_access_level_value,
self._destination_path_value,
self._shared_content_owner_value,
)
SharedContentCopyDetails_validator = bv.Struct(SharedContentCopyDetails)
class SharedContentCopyType(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(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',
'_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(SharedContentDownloadDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentDownloadDetails(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,
)
SharedContentDownloadDetails_validator = bv.Struct(SharedContentDownloadDetails)
class SharedContentDownloadType(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(SharedContentDownloadType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 SharedContentRelinquishMembershipType(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(SharedContentRelinquishMembershipType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentRelinquishMembershipType(description={!r})'.format(
self._description_value,
)
SharedContentRelinquishMembershipType_validator = bv.Struct(SharedContentRelinquishMembershipType)
class SharedContentRemoveInviteesDetails(bb.Struct):
"""
Removed invitee from shared file/folder before invite was accepted.
:ivar team_log.SharedContentRemoveInviteesDetails.invitees: A list of
invitees.
"""
__slots__ = [
'_invitees_value',
'_invitees_present',
]
_has_required_fields = True
def __init__(self,
invitees=None):
self._invitees_value = None
self._invitees_present = False
if invitees is not None:
self.invitees = invitees
@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(SharedContentRemoveInviteesDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentRemoveInviteesDetails(invitees={!r})'.format(
self._invitees_value,
)
SharedContentRemoveInviteesDetails_validator = bv.Struct(SharedContentRemoveInviteesDetails)
class SharedContentRemoveInviteesType(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(SharedContentRemoveInviteesType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentRemoveInviteesType(description={!r})'.format(
self._description_value,
)
SharedContentRemoveInviteesType_validator = bv.Struct(SharedContentRemoveInviteesType)
class SharedContentRemoveLinkExpiryDetails(bb.Struct):
"""
Removed link expiration date of shared file/folder.
:ivar team_log.SharedContentRemoveLinkExpiryDetails.previous_value: Previous
shared content 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 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(SharedContentRemoveLinkExpiryDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedContentRemoveLinkExpiryDetails(previous_value={!r})'.format(
self._previous_value_value,
)
SharedContentRemoveLinkExpiryDetails_validator = bv.Struct(SharedContentRemoveLinkExpiryDetails)
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):
"""
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__ = [
'_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 folder link policy.
:rtype: sharing.SharedLinkPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous shared folder link policy. Might be missing due to historical
data gap.
:rtype: sharing.SharedLinkPolicy
"""
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(SharedFolderChangeLinkPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedFolderChangeLinkPolicyDetails(new_value={!r}, previous_value={!r})'.format(
self._new_value_value,
self._previous_value_value,
)
SharedFolderChangeLinkPolicyDetails_validator = bv.Struct(SharedFolderChangeLinkPolicyDetails)
class SharedFolderChangeLinkPolicyType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New member inheritance policy.
:rtype: SharedFolderMembersInheritancePolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous member inheritance policy. Might be missing due to historical
data gap.
:rtype: SharedFolderMembersInheritancePolicy
"""
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(SharedFolderChangeMembersInheritancePolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedFolderChangeMembersInheritancePolicyDetails(new_value={!r}, previous_value={!r})'.format(
self._new_value_value,
self._previous_value_value,
)
SharedFolderChangeMembersInheritancePolicyDetails_validator = bv.Struct(SharedFolderChangeMembersInheritancePolicyDetails)
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 add/remove members of shared folder.
: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__ = [
'_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 members management policy.
:rtype: sharing.AclUpdatePolicy
"""
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 members management policy. Might be missing due to historical
data gap.
:rtype: sharing.AclUpdatePolicy
"""
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(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: sharing.MemberPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous external invite policy. Might be missing due to historical data
gap.
:rtype: sharing.MemberPolicy
"""
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(SharedFolderChangeMembersPolicyDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedFolderChangeMembersPolicyDetails(new_value={!r}, previous_value={!r})'.format(
self._new_value_value,
self._previous_value_value,
)
SharedFolderChangeMembersPolicyDetails_validator = bv.Struct(SharedFolderChangeMembersPolicyDetails)
class SharedFolderChangeMembersPolicyType(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(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 target_ns_id(self):
"""
Target namespace ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._target_ns_id_present:
return self._target_ns_id_value
else:
return None
@target_ns_id.setter
def target_ns_id(self, val):
if val is None:
del self.target_ns_id
return
val = self._target_ns_id_validator.validate(val)
self._target_ns_id_value = val
self._target_ns_id_present = True
@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_ns_id={!r})'.format(
self._target_ns_id_value,
)
SharedFolderCreateDetails_validator = bv.Struct(SharedFolderCreateDetails)
class SharedFolderCreateType(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(SharedFolderCreateType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedFolderCreateType(description={!r})'.format(
self._description_value,
)
SharedFolderCreateType_validator = bv.Struct(SharedFolderCreateType)
class SharedFolderDeclineInvitationDetails(bb.Struct):
"""
Declined team member's invite to shared folder.
"""
__slots__ = [
]
_has_required_fields = False
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 SharedNoteOpenedType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New external join policy.
:rtype: SharingFolderJoinPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous external join policy. Might be missing due to historical data
gap.
:rtype: SharingFolderJoinPolicy
"""
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(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,
self._previous_value_value,
)
SharingChangeFolderJoinPolicyDetails_validator = bv.Struct(SharingChangeFolderJoinPolicyDetails)
class SharingChangeFolderJoinPolicyType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New external link accessibility policy.
:rtype: SharingLinkPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous external link accessibility policy. Might be missing due to
historical data gap.
:rtype: SharingLinkPolicy
"""
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(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,
self._previous_value_value,
)
SharingChangeLinkPolicyDetails_validator = bv.Struct(SharingChangeLinkPolicyDetails)
class SharingChangeLinkPolicyType(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(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__ = [
'_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: SharingMemberPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous external invite policy. Might be missing due to historical data
gap.
:rtype: SharingMemberPolicy
"""
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(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,
self._previous_value_value,
)
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
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
from_anyone = None
# Attribute is overwritten below the class definition
from_team_only = None
# Attribute is overwritten below the class definition
other = None
def is_from_anyone(self):
"""
Check if the union tag is ``from_anyone``.
:rtype: bool
"""
return self._tag == 'from_anyone'
def is_from_team_only(self):
"""
Check if the union tag is ``from_team_only``.
:rtype: bool
"""
return self._tag == 'from_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(SharingFolderJoinPolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharingFolderJoinPolicy(%r, %r)' % (self._tag, self._value)
SharingFolderJoinPolicy_validator = bv.Union(SharingFolderJoinPolicy)
class SharingLinkPolicy(bb.Union):
"""
Policy for controlling if team members can share links 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
default_private = None
# Attribute is overwritten below the class definition
default_public = None
# Attribute is overwritten below the class definition
only_private = None
# Attribute is overwritten below the class definition
other = None
def is_default_private(self):
"""
Check if the union tag is ``default_private``.
:rtype: bool
"""
return self._tag == 'default_private'
def is_default_public(self):
"""
Check if the union tag is ``default_public``.
:rtype: bool
"""
return self._tag == 'default_public'
def is_only_private(self):
"""
Check if the union tag is ``only_private``.
:rtype: bool
"""
return self._tag == 'only_private'
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(SharingLinkPolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharingLinkPolicy(%r, %r)' % (self._tag, self._value)
SharingLinkPolicy_validator = bv.Union(SharingLinkPolicy)
class SharingMemberPolicy(bb.Union):
"""
External sharing 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
forbid = 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_forbid(self):
"""
Check if the union tag is ``forbid``.
:rtype: bool
"""
return self._tag == 'forbid'
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(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 ShmodelGroupShareDetails(bb.Struct):
"""
Shared link with group.
"""
__slots__ = [
]
_has_required_fields = False
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 ShmodelGroupShareType(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(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._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(ShowcaseAccessGrantedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ShowcaseAccessGrantedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
ShowcaseAccessGrantedDetails_validator = bv.Struct(ShowcaseAccessGrantedDetails)
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 member to showcase.
:ivar team_log.ShowcaseAddMemberDetails.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(ShowcaseAddMemberDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ShowcaseAddMemberDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
ShowcaseAddMemberDetails_validator = bv.Struct(ShowcaseAddMemberDetails)
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):
"""
Archived showcase.
:ivar team_log.ShowcaseArchivedDetails.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(ShowcaseArchivedDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ShowcaseArchivedDetails(event_uuid={!r})'.format(
self._event_uuid_value,
)
ShowcaseArchivedDetails_validator = bv.Struct(ShowcaseArchivedDetails)
class ShowcaseArchivedType(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(ShowcaseArchivedType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'ShowcaseArchivedType(description={!r})'.format(
self._description_value,
)
ShowcaseArchivedType_validator = bv.Struct(ShowcaseArchivedType)
class ShowcaseChangeDownloadPolicyDetails(bb.Struct):
"""
Enabled/disabled downloading files from Dropbox Showcase for team.
:ivar team_log.ShowcaseChangeDownloadPolicyDetails.new_value: New Dropbox
Showcase download policy.
:ivar team_log.ShowcaseChangeDownloadPolicyDetails.previous_value: Previous
Dropbox Showcase download 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 download policy.
:rtype: ShowcaseDownloadPolicy
"""
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 download policy.
: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
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(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,
self._previous_value_value,
)
SmartSyncChangePolicyDetails_validator = bv.Struct(SmartSyncChangePolicyDetails)
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):
"""
Created Smart Sync non-admin devices report.
"""
__slots__ = [
]
_has_required_fields = False
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 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 team_log.SmartSyncNotOptOutDetails.previous_value: Previous Smart Sync
opt out policy.
:ivar team_log.SmartSyncNotOptOutDetails.new_value: New Smart Sync opt out
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 Smart Sync opt out policy.
:rtype: SmartSyncOptOutPolicy
"""
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 Smart Sync opt out policy.
:rtype: SmartSyncOptOutPolicy
"""
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(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,
self._new_value_value,
)
SmartSyncNotOptOutDetails_validator = bv.Struct(SmartSyncNotOptOutDetails)
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 team_log.SmartSyncOptOutDetails.previous_value: Previous Smart Sync
opt out policy.
:ivar team_log.SmartSyncOptOutDetails.new_value: New Smart Sync opt out
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 Smart Sync opt out policy.
:rtype: SmartSyncOptOutPolicy
"""
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 Smart Sync opt out policy.
:rtype: SmartSyncOptOutPolicy
"""
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(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,
self._new_value_value,
)
SmartSyncOptOutDetails_validator = bv.Struct(SmartSyncOptOutDetails)
class SmartSyncOptOutPolicy(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
default = None
# Attribute is overwritten below the class definition
opted_out = 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_opted_out(self):
"""
Check if the union tag is ``opted_out``.
:rtype: bool
"""
return self._tag == 'opted_out'
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(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 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.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
hard = None
# Attribute is overwritten below the class definition
off = None
# Attribute is overwritten below the class definition
soft = None
# Attribute is overwritten below the class definition
other = None
def is_hard(self):
"""
Check if the union tag is ``hard``.
:rtype: bool
"""
return self._tag == 'hard'
def is_off(self):
"""
Check if the union tag is ``off``.
:rtype: bool
"""
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):
"""
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 'SpaceCapsType(%r, %r)' % (self._tag, self._value)
SpaceCapsType_validator = bv.Union(SpaceCapsType)
class SpaceLimitsStatus(bb.Union):
"""
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
within_quota = None
# Attribute is overwritten below the class definition
near_quota = None
# Attribute is overwritten below the class definition
over_quota = None
# Attribute is overwritten below the class definition
other = None
def is_within_quota(self):
"""
Check if the union tag is ``within_quota``.
:rtype: bool
"""
return self._tag == 'within_quota'
def is_near_quota(self):
"""
Check if the union tag is ``near_quota``.
:rtype: bool
"""
return self._tag == 'near_quota'
def is_over_quota(self):
"""
Check if the union tag is ``over_quota``.
:rtype: bool
"""
return self._tag == 'over_quota'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Added X.509 certificate for SSO.
:ivar team_log.SsoAddCertDetails.certificate_details: SSO certificate
details.
"""
__slots__ = [
'_certificate_details_value',
'_certificate_details_present',
]
_has_required_fields = True
def __init__(self,
certificate_details=None):
self._certificate_details_value = None
self._certificate_details_present = False
if certificate_details is not None:
self.certificate_details = certificate_details
@property
def certificate_details(self):
"""
SSO certificate details.
:rtype: Certificate
"""
if self._certificate_details_present:
return self._certificate_details_value
else:
raise AttributeError("missing required field 'certificate_details'")
@certificate_details.setter
def certificate_details(self, val):
self._certificate_details_validator.validate_type_only(val)
self._certificate_details_value = val
self._certificate_details_present = True
@certificate_details.deleter
def certificate_details(self):
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,
)
SsoAddCertDetails_validator = bv.Struct(SsoAddCertDetails)
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 team_log.SsoAddLoginUrlDetails.new_value: New single sign-on login
URL.
"""
__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 single sign-on login URL.
: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(SsoAddLoginUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SsoAddLoginUrlDetails(new_value={!r})'.format(
self._new_value_value,
)
SsoAddLoginUrlDetails_validator = bv.Struct(SsoAddLoginUrlDetails)
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 team_log.SsoAddLogoutUrlDetails.new_value: New single sign-on logout
URL. 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 single sign-on logout URL. Might be missing due to historical data
gap.
:rtype: str
"""
if self._new_value_present:
return self._new_value_value
else:
return None
@new_value.setter
def new_value(self, val):
if val is None:
del self.new_value
return
val = self._new_value_validator.validate(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
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,
)
SsoAddLogoutUrlDetails_validator = bv.Struct(SsoAddLogoutUrlDetails)
class SsoAddLogoutUrlType(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(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__ = [
'_previous_certificate_details_value',
'_previous_certificate_details_present',
'_new_certificate_details_value',
'_new_certificate_details_present',
]
_has_required_fields = True
def __init__(self,
new_certificate_details=None,
previous_certificate_details=None):
self._previous_certificate_details_value = None
self._previous_certificate_details_present = False
self._new_certificate_details_value = None
self._new_certificate_details_present = False
if previous_certificate_details is not None:
self.previous_certificate_details = previous_certificate_details
if new_certificate_details is not None:
self.new_certificate_details = new_certificate_details
@property
def previous_certificate_details(self):
"""
Previous SSO certificate details. Might be missing due to historical
data gap.
:rtype: Certificate
"""
if self._previous_certificate_details_present:
return self._previous_certificate_details_value
else:
return None
@previous_certificate_details.setter
def previous_certificate_details(self, val):
if val is None:
del self.previous_certificate_details
return
self._previous_certificate_details_validator.validate_type_only(val)
self._previous_certificate_details_value = val
self._previous_certificate_details_present = True
@previous_certificate_details.deleter
def previous_certificate_details(self):
self._previous_certificate_details_value = None
self._previous_certificate_details_present = False
@property
def new_certificate_details(self):
"""
New SSO certificate details.
:rtype: Certificate
"""
if self._new_certificate_details_present:
return self._new_certificate_details_value
else:
raise AttributeError("missing required field 'new_certificate_details'")
@new_certificate_details.setter
def new_certificate_details(self, val):
self._new_certificate_details_validator.validate_type_only(val)
self._new_certificate_details_value = val
self._new_certificate_details_present = True
@new_certificate_details.deleter
def new_certificate_details(self):
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,
self._previous_certificate_details_value,
)
SsoChangeCertDetails_validator = bv.Struct(SsoChangeCertDetails)
class SsoChangeCertType(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(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__ = [
'_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 single sign-on login URL.
: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
@property
def new_value(self):
"""
New single sign-on login URL.
: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(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,
self._new_value_value,
)
SsoChangeLoginUrlDetails_validator = bv.Struct(SsoChangeLoginUrlDetails)
class SsoChangeLoginUrlType(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(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__ = [
'_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 single sign-on logout URL. Might be missing due to historical
data gap.
:rtype: str
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
val = self._previous_value_validator.validate(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
@property
def new_value(self):
"""
New single sign-on logout URL. Might be missing due to historical data
gap.
:rtype: str
"""
if self._new_value_present:
return self._new_value_value
else:
return None
@new_value.setter
def new_value(self, val):
if val is None:
del self.new_value
return
val = self._new_value_validator.validate(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
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,
self._new_value_value,
)
SsoChangeLogoutUrlDetails_validator = bv.Struct(SsoChangeLogoutUrlDetails)
class SsoChangeLogoutUrlType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New single sign-on policy.
:rtype: team_policies.SsoPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous single sign-on policy. Might be missing due to historical data
gap.
:rtype: team_policies.SsoPolicy
"""
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(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,
self._previous_value_value,
)
SsoChangePolicyDetails_validator = bv.Struct(SsoChangePolicyDetails)
class SsoChangePolicyType(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(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__ = [
'_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 single sign-on identity mode.
: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 single sign-on identity mode.
: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(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,
self._new_value_value,
)
SsoChangeSamlIdentityModeDetails_validator = bv.Struct(SsoChangeSamlIdentityModeDetails)
class SsoChangeSamlIdentityModeType(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(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__ = [
'_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(SsoErrorDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SsoErrorDetails(error_details={!r})'.format(
self._error_details_value,
)
SsoErrorDetails_validator = bv.Struct(SsoErrorDetails)
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 X.509 certificate for SSO.
"""
__slots__ = [
]
_has_required_fields = False
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 SsoRemoveCertType(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(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__ = [
'_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):
"""
Previous single sign-on login URL.
: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(SsoRemoveLoginUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SsoRemoveLoginUrlDetails(previous_value={!r})'.format(
self._previous_value_value,
)
SsoRemoveLoginUrlDetails_validator = bv.Struct(SsoRemoveLoginUrlDetails)
class SsoRemoveLoginUrlType(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(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__ = [
'_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):
"""
Previous single sign-on logout URL.
: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(SsoRemoveLogoutUrlDetails, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SsoRemoveLogoutUrlDetails(previous_value={!r})'.format(
self._previous_value_value,
)
SsoRemoveLogoutUrlDetails_validator = bv.Struct(SsoRemoveLogoutUrlDetails)
class SsoRemoveLogoutUrlType(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(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__ = [
'_start_date_value',
'_start_date_present',
'_end_date_value',
'_end_date_present',
]
_has_required_fields = True
def __init__(self,
start_date=None,
end_date=None):
self._start_date_value = None
self._start_date_present = False
self._end_date_value = None
self._end_date_present = False
if start_date is not None:
self.start_date = start_date
if end_date is not None:
self.end_date = end_date
@property
def start_date(self):
"""
Report start date.
:rtype: datetime.datetime
"""
if self._start_date_present:
return self._start_date_value
else:
raise AttributeError("missing required field 'start_date'")
@start_date.setter
def start_date(self, val):
val = self._start_date_validator.validate(val)
self._start_date_value = val
self._start_date_present = True
@start_date.deleter
def start_date(self):
self._start_date_value = None
self._start_date_present = False
@property
def end_date(self):
"""
Report end date.
:rtype: datetime.datetime
"""
if self._end_date_present:
return self._end_date_value
else:
raise AttributeError("missing required field 'end_date'")
@end_date.setter
def end_date(self, val):
val = self._end_date_validator.validate(val)
self._end_date_value = val
self._end_date_present = True
@end_date.deleter
def end_date(self):
self._end_date_value = None
self._end_date_present = False
def _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,
self._end_date_value,
)
TeamActivityCreateReportDetails_validator = bv.Struct(TeamActivityCreateReportDetails)
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 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.
"""
__slots__ = [
'_timestamp_value',
'_timestamp_present',
'_event_category_value',
'_event_category_present',
'_actor_value',
'_actor_present',
'_origin_value',
'_origin_present',
'_involve_non_team_member_value',
'_involve_non_team_member_present',
'_context_value',
'_context_present',
'_participants_value',
'_participants_present',
'_assets_value',
'_assets_present',
'_event_type_value',
'_event_type_present',
'_details_value',
'_details_present',
]
_has_required_fields = True
def __init__(self,
timestamp=None,
event_category=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
self._timestamp_present = False
self._event_category_value = None
self._event_category_present = False
self._actor_value = None
self._actor_present = False
self._origin_value = None
self._origin_present = False
self._involve_non_team_member_value = None
self._involve_non_team_member_present = False
self._context_value = None
self._context_present = False
self._participants_value = None
self._participants_present = False
self._assets_value = None
self._assets_present = False
self._event_type_value = None
self._event_type_present = False
self._details_value = None
self._details_present = False
if timestamp is not None:
self.timestamp = timestamp
if event_category is not None:
self.event_category = event_category
if actor is not None:
self.actor = actor
if origin is not None:
self.origin = origin
if involve_non_team_member is not None:
self.involve_non_team_member = involve_non_team_member
if context is not None:
self.context = context
if participants is not None:
self.participants = participants
if assets is not None:
self.assets = assets
if event_type is not None:
self.event_type = event_type
if details is not None:
self.details = details
@property
def timestamp(self):
"""
The Dropbox timestamp representing when the action was taken.
:rtype: datetime.datetime
"""
if self._timestamp_present:
return self._timestamp_value
else:
raise AttributeError("missing required field 'timestamp'")
@timestamp.setter
def timestamp(self, val):
val = self._timestamp_validator.validate(val)
self._timestamp_value = val
self._timestamp_present = True
@timestamp.deleter
def timestamp(self):
self._timestamp_value = None
self._timestamp_present = False
@property
def event_category(self):
"""
The category that this type of action belongs to.
:rtype: EventCategory
"""
if self._event_category_present:
return self._event_category_value
else:
raise AttributeError("missing required field 'event_category'")
@event_category.setter
def event_category(self, val):
self._event_category_validator.validate_type_only(val)
self._event_category_value = val
self._event_category_present = True
@event_category.deleter
def event_category(self):
self._event_category_value = None
self._event_category_present = False
@property
def actor(self):
"""
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:
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
@actor.deleter
def actor(self):
self._actor_value = None
self._actor_present = False
@property
def origin(self):
"""
The origin from which the actor performed the action including
information about host, ip address, location, session, etc. If the
action was performed programmatically via the API the origin represents
the API client.
:rtype: OriginLogInfo
"""
if self._origin_present:
return self._origin_value
else:
return None
@origin.setter
def origin(self, val):
if val is None:
del self.origin
return
self._origin_validator.validate_type_only(val)
self._origin_value = val
self._origin_present = True
@origin.deleter
def origin(self):
self._origin_value = None
self._origin_present = False
@property
def 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. 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:
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
@involve_non_team_member.deleter
def involve_non_team_member(self):
self._involve_non_team_member_value = None
self._involve_non_team_member_present = False
@property
def context(self):
"""
The user or team on whose behalf the actor performed the action. Might
be missing due to historical data gap.
:rtype: ContextLogInfo
"""
if self._context_present:
return self._context_value
else:
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
@context.deleter
def context(self):
self._context_value = None
self._context_present = False
@property
def participants(self):
"""
Zero or more users and/or groups that are affected by the action. Note
that this list doesn't include any actors or users in context.
:rtype: list of [ParticipantLogInfo]
"""
if self._participants_present:
return self._participants_value
else:
return None
@participants.setter
def participants(self, val):
if val is None:
del self.participants
return
val = self._participants_validator.validate(val)
self._participants_value = val
self._participants_present = True
@participants.deleter
def participants(self):
self._participants_value = None
self._participants_present = False
@property
def assets(self):
"""
Zero or more content assets involved in the action. Currently these
include Dropbox files and folders but in the future we might add other
asset types such as Paper documents, folders, projects, etc.
:rtype: list of [AssetLogInfo]
"""
if self._assets_present:
return self._assets_value
else:
return None
@assets.setter
def assets(self, val):
if val is None:
del self.assets
return
val = self._assets_validator.validate(val)
self._assets_value = val
self._assets_present = True
@assets.deleter
def assets(self):
self._assets_value = None
self._assets_present = False
@property
def event_type(self):
"""
The particular type of action taken.
:rtype: EventType
"""
if self._event_type_present:
return self._event_type_value
else:
raise AttributeError("missing required field 'event_type'")
@event_type.setter
def event_type(self, val):
self._event_type_validator.validate_type_only(val)
self._event_type_value = val
self._event_type_present = True
@event_type.deleter
def event_type(self):
self._event_type_value = None
self._event_type_present = False
@property
def details(self):
"""
The variable event schema applicable to this type of action,
instantiated with respect to this particular action.
:rtype: EventDetails
"""
if self._details_present:
return self._details_value
else:
raise AttributeError("missing required field 'details'")
@details.setter
def details(self, val):
self._details_validator.validate_type_only(val)
self._details_value = val
self._details_present = True
@details.deleter
def details(self):
self._details_value = None
self._details_present = False
def _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}, 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._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 TeamExtensionsPolicy(bb.Union):
"""
Policy for controlling whether App Integrations are 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(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__ = [
'_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 folder status.
:rtype: team.TeamFolderStatus
"""
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 folder status. Might be missing due to historical data
gap.
:rtype: team.TeamFolderStatus
"""
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(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,
self._previous_value_value,
)
TeamFolderChangeStatusDetails_validator = bv.Struct(TeamFolderChangeStatusDetails)
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 team folder in active status.
"""
__slots__ = [
]
_has_required_fields = False
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 TeamFolderCreateType(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(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__ = [
'_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(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,
)
TeamFolderDowngradeDetails_validator = bv.Struct(TeamFolderDowngradeDetails)
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 archived team folder.
"""
__slots__ = [
]
_has_required_fields = False
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 TeamFolderPermanentlyDeleteType(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(TeamFolderPermanentlyDeleteType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
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 TeamFolderRenameType(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(TeamFolderRenameType, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'TeamFolderRenameType(description={!r})'.format(
self._description_value,
)
TeamFolderRenameType_validator = bv.Struct(TeamFolderRenameType)
class TeamLinkedAppLogInfo(AppLogInfo):
"""
Team linked app
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
app_id=None,
display_name=None):
super(TeamLinkedAppLogInfo, self).__init__(app_id,
display_name)
def _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,
self._display_name_value,
)
TeamLinkedAppLogInfo_validator = bv.Struct(TeamLinkedAppLogInfo)
class TeamMemberLogInfo(UserLogInfo):
"""
Team member's logged information.
: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__ = [
'_team_member_id_value',
'_team_member_id_present',
'_member_external_id_value',
'_member_external_id_present',
]
_has_required_fields = False
def __init__(self,
account_id=None,
display_name=None,
email=None,
team_member_id=None,
member_external_id=None):
super(TeamMemberLogInfo, self).__init__(account_id,
display_name,
email)
self._team_member_id_value = None
self._team_member_id_present = False
self._member_external_id_value = None
self._member_external_id_present = False
if team_member_id is not None:
self.team_member_id = team_member_id
if member_external_id is not None:
self.member_external_id = member_external_id
@property
def team_member_id(self):
"""
Team member ID. Might be missing due to historical data gap.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
return None
@team_member_id.setter
def team_member_id(self, val):
if val is None:
del self.team_member_id
return
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def member_external_id(self):
"""
Team member external ID.
:rtype: str
"""
if self._member_external_id_present:
return self._member_external_id_value
else:
return None
@member_external_id.setter
def member_external_id(self, val):
if val is None:
del self.member_external_id
return
val = self._member_external_id_validator.validate(val)
self._member_external_id_value = val
self._member_external_id_present = True
@member_external_id.deleter
def member_external_id(self):
self._member_external_id_value = None
self._member_external_id_present = False
def _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,
self._display_name_value,
self._email_value,
self._team_member_id_value,
self._member_external_id_value,
)
TeamMemberLogInfo_validator = bv.Struct(TeamMemberLogInfo)
class TeamMembershipType(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
free = None
# Attribute is overwritten below the class definition
full = None
# Attribute is overwritten below the class definition
other = None
def is_free(self):
"""
Check if the union tag is ``free``.
:rtype: bool
"""
return self._tag == 'free'
def is_full(self):
"""
Check if the union tag is ``full``.
:rtype: bool
"""
return self._tag == 'full'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Merged another team into this team.
:ivar team_log.TeamMergeFromDetails.team_name: The name of the team that was
merged into this team.
"""
__slots__ = [
'_team_name_value',
'_team_name_present',
]
_has_required_fields = True
def __init__(self,
team_name=None):
self._team_name_value = None
self._team_name_present = False
if team_name is not None:
self.team_name = team_name
@property
def team_name(self):
"""
The name of the team that was merged into this team.
:rtype: str
"""
if self._team_name_present:
return self._team_name_value
else:
raise AttributeError("missing required field 'team_name'")
@team_name.setter
def team_name(self, val):
val = self._team_name_validator.validate(val)
self._team_name_value = val
self._team_name_present = True
@team_name.deleter
def team_name(self):
self._team_name_value = None
self._team_name_present = False
def _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,
)
TeamMergeFromDetails_validator = bv.Struct(TeamMergeFromDetails)
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_log.TeamMergeToDetails.team_name: The name of the team that this
team was merged into.
"""
__slots__ = [
'_team_name_value',
'_team_name_present',
]
_has_required_fields = True
def __init__(self,
team_name=None):
self._team_name_value = None
self._team_name_present = False
if team_name is not None:
self.team_name = team_name
@property
def team_name(self):
"""
The name of the team that this team was merged into.
:rtype: str
"""
if self._team_name_present:
return self._team_name_value
else:
raise AttributeError("missing required field 'team_name'")
@team_name.setter
def team_name(self, val):
val = self._team_name_validator.validate(val)
self._team_name_value = val
self._team_name_present = True
@team_name.deleter
def team_name(self):
self._team_name_value = None
self._team_name_present = False
def _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,
)
TeamMergeToDetails_validator = bv.Struct(TeamMergeToDetails)
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_log.TeamName.team_display_name: Team's display name.
:ivar team_log.TeamName.team_legal_name: Team's legal name.
"""
__slots__ = [
'_team_display_name_value',
'_team_display_name_present',
'_team_legal_name_value',
'_team_legal_name_present',
]
_has_required_fields = True
def __init__(self,
team_display_name=None,
team_legal_name=None):
self._team_display_name_value = None
self._team_display_name_present = False
self._team_legal_name_value = None
self._team_legal_name_present = False
if team_display_name is not None:
self.team_display_name = team_display_name
if team_legal_name is not None:
self.team_legal_name = team_legal_name
@property
def team_display_name(self):
"""
Team's display name.
:rtype: str
"""
if self._team_display_name_present:
return self._team_display_name_value
else:
raise AttributeError("missing required field 'team_display_name'")
@team_display_name.setter
def team_display_name(self, val):
val = self._team_display_name_validator.validate(val)
self._team_display_name_value = val
self._team_display_name_present = True
@team_display_name.deleter
def team_display_name(self):
self._team_display_name_value = None
self._team_display_name_present = False
@property
def team_legal_name(self):
"""
Team's legal name.
:rtype: str
"""
if self._team_legal_name_present:
return self._team_legal_name_value
else:
raise AttributeError("missing required field 'team_legal_name'")
@team_legal_name.setter
def team_legal_name(self, val):
val = self._team_legal_name_validator.validate(val)
self._team_legal_name_value = val
self._team_legal_name_present = True
@team_legal_name.deleter
def team_legal_name(self):
self._team_legal_name_value = None
self._team_legal_name_present = False
def _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,
self._team_legal_name_value,
)
TeamName_validator = bv.Struct(TeamName)
class TeamProfileAddLogoDetails(bb.Struct):
"""
Added team logo to display on shared link headers.
"""
__slots__ = [
]
_has_required_fields = False
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 TeamProfileAddLogoType(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(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__ = [
'_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's default language.
:rtype: str
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
val = self._new_value_validator.validate(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous team's default language.
: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(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,
self._previous_value_value,
)
TeamProfileChangeDefaultLanguageDetails_validator = bv.Struct(TeamProfileChangeDefaultLanguageDetails)
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 team logo displayed on shared link headers.
"""
__slots__ = [
]
_has_required_fields = False
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 TeamProfileChangeLogoType(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(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__ = [
'_previous_value_value',
'_previous_value_present',
'_new_value_value',
'_new_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_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 teams name. Might be missing due to historical data gap.
:rtype: TeamName
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
@property
def new_value(self):
"""
New team name.
:rtype: TeamName
"""
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(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,
self._previous_value_value,
)
TeamProfileChangeNameDetails_validator = bv.Struct(TeamProfileChangeNameDetails)
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 team logo displayed on shared link headers.
"""
__slots__ = [
]
_has_required_fields = False
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 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):
"""
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__ = [
]
_has_required_fields = False
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 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 security key for two-step verification.
"""
__slots__ = [
]
_has_required_fields = False
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 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 backup phone for two-step verification.
"""
__slots__ = [
]
_has_required_fields = False
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 TfaChangeBackupPhoneType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New change policy.
:rtype: team_policies.TwoStepVerificationPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous change policy. Might be missing due to historical data gap.
:rtype: team_policies.TwoStepVerificationPolicy
"""
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(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,
self._previous_value_value,
)
TfaChangePolicyDetails_validator = bv.Struct(TfaChangePolicyDetails)
class TfaChangePolicyType(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(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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
'_used_rescue_code_value',
'_used_rescue_code_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None,
used_rescue_code=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
self._used_rescue_code_value = None
self._used_rescue_code_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
if used_rescue_code is not None:
self.used_rescue_code = used_rescue_code
@property
def new_value(self):
"""
The new two factor authentication configuration.
:rtype: TfaConfiguration
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
The previous two factor authentication configuration. Might be missing
due to historical data gap.
:rtype: TfaConfiguration
"""
if self._previous_value_present:
return self._previous_value_value
else:
return None
@previous_value.setter
def previous_value(self, val):
if val is None:
del self.previous_value
return
self._previous_value_validator.validate_type_only(val)
self._previous_value_value = val
self._previous_value_present = True
@previous_value.deleter
def previous_value(self):
self._previous_value_value = None
self._previous_value_present = False
@property
def used_rescue_code(self):
"""
Used two factor authentication rescue code. This flag is relevant when
the two factor authentication configuration is disabled.
:rtype: bool
"""
if self._used_rescue_code_present:
return self._used_rescue_code_value
else:
return None
@used_rescue_code.setter
def used_rescue_code(self, val):
if val is None:
del self.used_rescue_code
return
val = self._used_rescue_code_validator.validate(val)
self._used_rescue_code_value = val
self._used_rescue_code_present = True
@used_rescue_code.deleter
def used_rescue_code(self):
self._used_rescue_code_value = None
self._used_rescue_code_present = False
def _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,
self._previous_value_value,
self._used_rescue_code_value,
)
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
deprecated.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
disabled = None
# Attribute is overwritten below the class definition
enabled = None
# Attribute is overwritten below the class definition
sms = None
# Attribute is overwritten below the class definition
authenticator = None
# Attribute is overwritten below the class definition
other = None
def is_disabled(self):
"""
Check if the union tag is ``disabled``.
:rtype: bool
"""
return self._tag == 'disabled'
def is_enabled(self):
"""
Check if the union tag is ``enabled``.
:rtype: bool
"""
return self._tag == 'enabled'
def is_sms(self):
"""
Check if the union tag is ``sms``.
:rtype: bool
"""
return self._tag == 'sms'
def is_authenticator(self):
"""
Check if the union tag is ``authenticator``.
:rtype: bool
"""
return self._tag == 'authenticator'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Removed backup phone for two-step verification.
"""
__slots__ = [
]
_has_required_fields = False
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 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 security key for two-step verification.
"""
__slots__ = [
]
_has_required_fields = False
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 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.
"""
__slots__ = [
]
_has_required_fields = False
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
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
milliseconds = None
# Attribute is overwritten below the class definition
seconds = None
# Attribute is overwritten below the class definition
minutes = None
# Attribute is overwritten below the class definition
hours = None
# Attribute is overwritten below the class definition
days = None
# Attribute is overwritten below the class definition
weeks = None
# Attribute is overwritten below the class definition
months = None
# Attribute is overwritten below the class definition
years = None
# Attribute is overwritten below the class definition
other = None
def is_milliseconds(self):
"""
Check if the union tag is ``milliseconds``.
:rtype: bool
"""
return self._tag == 'milliseconds'
def is_seconds(self):
"""
Check if the union tag is ``seconds``.
:rtype: bool
"""
return self._tag == 'seconds'
def is_minutes(self):
"""
Check if the union tag is ``minutes``.
:rtype: bool
"""
return self._tag == 'minutes'
def is_hours(self):
"""
Check if the union tag is ``hours``.
:rtype: bool
"""
return self._tag == 'hours'
def is_days(self):
"""
Check if the union tag is ``days``.
:rtype: bool
"""
return self._tag == 'days'
def is_weeks(self):
"""
Check if the union tag is ``weeks``.
:rtype: bool
"""
return self._tag == 'weeks'
def is_months(self):
"""
Check if the union tag is ``months``.
:rtype: bool
"""
return self._tag == 'months'
def is_years(self):
"""
Check if the union tag is ``years``.
:rtype: bool
"""
return self._tag == 'years'
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(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 TrustedNonTeamMemberLogInfo(UserLogInfo):
"""
User that is not a member of the team but considered trusted.
: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__ = [
'_new_value_value',
'_new_value_present',
'_previous_value_value',
'_previous_value_present',
]
_has_required_fields = True
def __init__(self,
new_value=None,
previous_value=None):
self._new_value_value = None
self._new_value_present = False
self._previous_value_value = None
self._previous_value_present = False
if new_value is not None:
self.new_value = new_value
if previous_value is not None:
self.previous_value = previous_value
@property
def new_value(self):
"""
New two account policy.
:rtype: TwoAccountPolicy
"""
if self._new_value_present:
return self._new_value_value
else:
raise AttributeError("missing required field 'new_value'")
@new_value.setter
def new_value(self, val):
self._new_value_validator.validate_type_only(val)
self._new_value_value = val
self._new_value_present = True
@new_value.deleter
def new_value(self):
self._new_value_value = None
self._new_value_present = False
@property
def previous_value(self):
"""
Previous two account policy. Might be missing due to historical data
gap.
:rtype: TwoAccountPolicy
"""
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(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,
self._previous_value_value,
)
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
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(TwoAccountPolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'TwoAccountPolicy(%r, %r)' % (self._tag, self._value)
TwoAccountPolicy_validator = bv.Union(TwoAccountPolicy)
class UserLinkedAppLogInfo(AppLogInfo):
"""
User linked app
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
app_id=None,
display_name=None):
super(UserLinkedAppLogInfo, self).__init__(app_id,
display_name)
def _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,
self._display_name_value,
)
UserLinkedAppLogInfo_validator = bv.Struct(UserLinkedAppLogInfo)
class UserNameLogInfo(bb.Struct):
"""
User's name logged information
: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__ = [
'_given_name_value',
'_given_name_present',
'_surname_value',
'_surname_present',
'_locale_value',
'_locale_present',
]
_has_required_fields = True
def __init__(self,
given_name=None,
surname=None,
locale=None):
self._given_name_value = None
self._given_name_present = False
self._surname_value = None
self._surname_present = False
self._locale_value = None
self._locale_present = False
if given_name is not None:
self.given_name = given_name
if surname is not None:
self.surname = surname
if locale is not None:
self.locale = locale
@property
def given_name(self):
"""
Given name.
:rtype: str
"""
if self._given_name_present:
return self._given_name_value
else:
raise AttributeError("missing required field 'given_name'")
@given_name.setter
def given_name(self, val):
val = self._given_name_validator.validate(val)
self._given_name_value = val
self._given_name_present = True
@given_name.deleter
def given_name(self):
self._given_name_value = None
self._given_name_present = False
@property
def surname(self):
"""
Surname.
:rtype: str
"""
if self._surname_present:
return self._surname_value
else:
raise AttributeError("missing required field 'surname'")
@surname.setter
def surname(self, val):
val = self._surname_validator.validate(val)
self._surname_value = val
self._surname_present = True
@surname.deleter
def surname(self):
self._surname_value = None
self._surname_present = False
@property
def locale(self):
"""
Locale. Might be missing due to historical data gap.
:rtype: str
"""
if self._locale_present:
return self._locale_value
else:
return None
@locale.setter
def locale(self, val):
if val is None:
del self.locale
return
val = self._locale_validator.validate(val)
self._locale_value = val
self._locale_present = True
@locale.deleter
def locale(self):
self._locale_value = None
self._locale_present = False
def _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,
self._surname_value,
self._locale_value,
)
UserNameLogInfo_validator = bv.Struct(UserNameLogInfo)
class UserOrTeamLinkedAppLogInfo(AppLogInfo):
"""
User or team linked app. Used when linked type is missing due to historical
data gap.
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
app_id=None,
display_name=None):
super(UserOrTeamLinkedAppLogInfo, self).__init__(app_id,
display_name)
def _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,
self._display_name_value,
)
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.
"""
__slots__ = [
]
_has_required_fields = False
def __init__(self,
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,
)
WebSessionLogInfo_validator = bv.Struct(WebSessionLogInfo)
class WebSessionsChangeFixedLengthPolicyDetails(bb.Struct):
"""
Changed how long members can stay signed in to Dropbox.com.
: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__ = [
'_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 session length policy. Might be missing due to historical data gap.
:rtype: WebSessionsFixedLengthPolicy
"""
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 session length policy. Might be missing due to historical data
gap.
:rtype: WebSessionsFixedLengthPolicy
"""
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(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,
self._previous_value_value,
)
WebSessionsChangeFixedLengthPolicyDetails_validator = bv.Struct(WebSessionsChangeFixedLengthPolicyDetails)
class WebSessionsChangeFixedLengthPolicyType(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(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__ = [
'_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 idle length policy. Might be missing due to historical data gap.
:rtype: WebSessionsIdleLengthPolicy
"""
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 idle length policy. Might be missing due to historical data
gap.
:rtype: WebSessionsIdleLengthPolicy
"""
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(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,
self._previous_value_value,
)
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.
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 DurationLogInfo WebSessionsFixedLengthPolicy.defined: Defined fixed
session length.
:ivar team_log.WebSessionsFixedLengthPolicy.undefined: Undefined fixed
session length.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
undefined = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def defined(cls, val):
"""
Create an instance of this class set to the ``defined`` tag with value
``val``.
:param DurationLogInfo val:
:rtype: WebSessionsFixedLengthPolicy
"""
return cls('defined', val)
def is_defined(self):
"""
Check if the union tag is ``defined``.
:rtype: bool
"""
return self._tag == 'defined'
def is_undefined(self):
"""
Check if the union tag is ``undefined``.
:rtype: bool
"""
return self._tag == 'undefined'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_defined(self):
"""
Defined fixed session length.
Only call this if :meth:`is_defined` is true.
:rtype: DurationLogInfo
"""
if not self.is_defined():
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)
WebSessionsFixedLengthPolicy_validator = bv.Union(WebSessionsFixedLengthPolicy)
class WebSessionsIdleLengthPolicy(bb.Union):
"""
Web sessions idle length 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.
:ivar DurationLogInfo WebSessionsIdleLengthPolicy.defined: Defined idle
session length.
:ivar team_log.WebSessionsIdleLengthPolicy.undefined: Undefined idle session
length.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
undefined = None
# Attribute is overwritten below the class definition
other = None
@classmethod
def defined(cls, val):
"""
Create an instance of this class set to the ``defined`` tag with value
``val``.
:param DurationLogInfo val:
:rtype: WebSessionsIdleLengthPolicy
"""
return cls('defined', val)
def is_defined(self):
"""
Check if the union tag is ``defined``.
:rtype: bool
"""
return self._tag == 'defined'
def is_undefined(self):
"""
Check if the union tag is ``undefined``.
:rtype: bool
"""
return self._tag == 'undefined'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_defined(self):
"""
Defined idle session length.
Only call this if :meth:`is_defined` is true.
:rtype: DurationLogInfo
"""
if not self.is_defined():
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
AccessMethodLogInfo._sign_in_as_validator = WebSessionLogInfo_validator
AccessMethodLogInfo._content_manager_validator = WebSessionLogInfo_validator
AccessMethodLogInfo._admin_console_validator = WebSessionLogInfo_validator
AccessMethodLogInfo._api_validator = ApiSessionLogInfo_validator
AccessMethodLogInfo._other_validator = bv.Void()
AccessMethodLogInfo._tagmap = {
'end_user': AccessMethodLogInfo._end_user_validator,
'sign_in_as': AccessMethodLogInfo._sign_in_as_validator,
'content_manager': AccessMethodLogInfo._content_manager_validator,
'admin_console': AccessMethodLogInfo._admin_console_validator,
'api': AccessMethodLogInfo._api_validator,
'other': AccessMethodLogInfo._other_validator,
}
AccessMethodLogInfo.other = AccessMethodLogInfo('other')
AccountCaptureAvailability._unavailable_validator = bv.Void()
AccountCaptureAvailability._available_validator = bv.Void()
AccountCaptureAvailability._other_validator = bv.Void()
AccountCaptureAvailability._tagmap = {
'unavailable': AccountCaptureAvailability._unavailable_validator,
'available': AccountCaptureAvailability._available_validator,
'other': AccountCaptureAvailability._other_validator,
}
AccountCaptureAvailability.unavailable = AccountCaptureAvailability('unavailable')
AccountCaptureAvailability.available = AccountCaptureAvailability('available')
AccountCaptureAvailability.other = AccountCaptureAvailability('other')
AccountCaptureChangeAvailabilityDetails._new_value_validator = AccountCaptureAvailability_validator
AccountCaptureChangeAvailabilityDetails._previous_value_validator = bv.Nullable(AccountCaptureAvailability_validator)
AccountCaptureChangeAvailabilityDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
AccountCaptureChangeAvailabilityDetails._all_fields_ = [
('new_value', AccountCaptureChangeAvailabilityDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
AccountCaptureChangePolicyDetails._all_fields_ = [
('new_value', AccountCaptureChangePolicyDetails._new_value_validator),
('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()
AccountCapturePolicy._other_validator = bv.Void()
AccountCapturePolicy._tagmap = {
'disabled': AccountCapturePolicy._disabled_validator,
'invited_users': AccountCapturePolicy._invited_users_validator,
'all_users': AccountCapturePolicy._all_users_validator,
'other': AccountCapturePolicy._other_validator,
}
AccountCapturePolicy.disabled = AccountCapturePolicy('disabled')
AccountCapturePolicy.invited_users = AccountCapturePolicy('invited_users')
AccountCapturePolicy.all_users = AccountCapturePolicy('all_users')
AccountCapturePolicy.other = AccountCapturePolicy('other')
AccountCaptureRelinquishAccountDetails._domain_name_validator = bv.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,
'admin': ActorLogInfo._admin_validator,
'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._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 = {
'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.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)]
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([
'app_id',
'display_name',
])
AppLogInfo._all_field_names_ = AppLogInfo._field_names_
AppLogInfo._fields_ = [
('app_id', AppLogInfo._app_id_validator),
('display_name', AppLogInfo._display_name_validator),
]
AppLogInfo._all_fields_ = AppLogInfo._fields_
AppLogInfo._tag_to_subtype_ = {
(u'user_or_team_linked_app',): UserOrTeamLinkedAppLogInfo_validator,
(u'user_linked_app',): UserLinkedAppLogInfo_validator,
(u'team_linked_app',): TeamLinkedAppLogInfo_validator,
}
AppLogInfo._pytype_to_tag_and_subtype_ = {
UserOrTeamLinkedAppLogInfo: ((u'user_or_team_linked_app',), UserOrTeamLinkedAppLogInfo_validator),
UserLinkedAppLogInfo: ((u'user_linked_app',), UserLinkedAppLogInfo_validator),
TeamLinkedAppLogInfo: ((u'team_linked_app',), TeamLinkedAppLogInfo_validator),
}
AppLogInfo._is_catch_all_ = True
AppUnlinkTeamDetails._app_info_validator = AppLogInfo_validator
AppUnlinkTeamDetails._all_field_names_ = set(['app_info'])
AppUnlinkTeamDetails._all_fields_ = [('app_info', AppUnlinkTeamDetails._app_info_validator)]
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.Nullable(bv.String())
Certificate._all_field_names_ = set([
'subject',
'issuer',
'issue_date',
'expiration_date',
'serial_number',
'sha1_fingerprint',
'common_name',
])
Certificate._all_fields_ = [
('subject', Certificate._subject_validator),
('issuer', Certificate._issuer_validator),
('issue_date', Certificate._issue_date_validator),
('expiration_date', Certificate._expiration_date_validator),
('serial_number', Certificate._serial_number_validator),
('sha1_fingerprint', Certificate._sha1_fingerprint_validator),
('common_name', Certificate._common_name_validator),
]
CollectionShareDetails._album_name_validator = bv.String()
CollectionShareDetails._all_field_names_ = set(['album_name'])
CollectionShareDetails._all_fields_ = [('album_name', CollectionShareDetails._album_name_validator)]
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()
ContentPermanentDeletePolicy._other_validator = bv.Void()
ContentPermanentDeletePolicy._tagmap = {
'disabled': ContentPermanentDeletePolicy._disabled_validator,
'enabled': ContentPermanentDeletePolicy._enabled_validator,
'other': ContentPermanentDeletePolicy._other_validator,
}
ContentPermanentDeletePolicy.disabled = ContentPermanentDeletePolicy('disabled')
ContentPermanentDeletePolicy.enabled = ContentPermanentDeletePolicy('enabled')
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([
'previous_value',
'new_value',
])
DataPlacementRestrictionChangePolicyDetails._all_fields_ = [
('previous_value', DataPlacementRestrictionChangePolicyDetails._previous_value_validator),
('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_
SessionLogInfo._fields_ = [('session_id', SessionLogInfo._session_id_validator)]
SessionLogInfo._all_fields_ = SessionLogInfo._fields_
SessionLogInfo._tag_to_subtype_ = {
(u'web',): WebSessionLogInfo_validator,
(u'desktop',): DesktopSessionLogInfo_validator,
(u'mobile',): MobileSessionLogInfo_validator,
}
SessionLogInfo._pytype_to_tag_and_subtype_ = {
WebSessionLogInfo: ((u'web',), WebSessionLogInfo_validator),
DesktopSessionLogInfo: ((u'desktop',), DesktopSessionLogInfo_validator),
MobileSessionLogInfo: ((u'mobile',), MobileSessionLogInfo_validator),
}
SessionLogInfo._is_catch_all_ = True
DesktopSessionLogInfo._field_names_ = set([])
DesktopSessionLogInfo._all_field_names_ = SessionLogInfo._all_field_names_.union(DesktopSessionLogInfo._field_names_)
DesktopSessionLogInfo._fields_ = []
DesktopSessionLogInfo._all_fields_ = SessionLogInfo._all_fields_ + DesktopSessionLogInfo._fields_
DeviceApprovalsChangeDesktopPolicyDetails._new_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator)
DeviceApprovalsChangeDesktopPolicyDetails._previous_value_validator = bv.Nullable(DeviceApprovalsPolicy_validator)
DeviceApprovalsChangeDesktopPolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
DeviceApprovalsChangeDesktopPolicyDetails._all_fields_ = [
('new_value', DeviceApprovalsChangeDesktopPolicyDetails._new_value_validator),
('previous_value', DeviceApprovalsChangeDesktopPolicyDetails._previous_value_validator),
]
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([
'new_value',
'previous_value',
])
DeviceApprovalsChangeMobilePolicyDetails._all_fields_ = [
('new_value', DeviceApprovalsChangeMobilePolicyDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
DeviceApprovalsChangeOverageActionDetails._all_fields_ = [
('new_value', DeviceApprovalsChangeOverageActionDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
DeviceApprovalsChangeUnlinkActionDetails._all_fields_ = [
('new_value', DeviceApprovalsChangeUnlinkActionDetails._new_value_validator),
('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()
DeviceApprovalsPolicy._tagmap = {
'unlimited': DeviceApprovalsPolicy._unlimited_validator,
'limited': DeviceApprovalsPolicy._limited_validator,
'other': DeviceApprovalsPolicy._other_validator,
}
DeviceApprovalsPolicy.unlimited = DeviceApprovalsPolicy('unlimited')
DeviceApprovalsPolicy.limited = DeviceApprovalsPolicy('limited')
DeviceApprovalsPolicy.other = DeviceApprovalsPolicy('other')
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)]
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._user_agent_validator = bv.String()
DeviceChangeIpWebDetails._all_field_names_ = set(['user_agent'])
DeviceChangeIpWebDetails._all_fields_ = [('user_agent', DeviceChangeIpWebDetails._user_agent_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([
'session_info',
'display_name',
'num_failures',
])
DeviceDeleteOnUnlinkFailDetails._all_fields_ = [
('session_info', DeviceDeleteOnUnlinkFailDetails._session_info_validator),
('display_name', DeviceDeleteOnUnlinkFailDetails._display_name_validator),
('num_failures', DeviceDeleteOnUnlinkFailDetails._num_failures_validator),
]
DeviceDeleteOnUnlinkFailType._description_validator = bv.String()
DeviceDeleteOnUnlinkFailType._all_field_names_ = set(['description'])
DeviceDeleteOnUnlinkFailType._all_fields_ = [('description', DeviceDeleteOnUnlinkFailType._description_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([
'ip_address',
'device_type',
])
DeviceLinkFailDetails._all_fields_ = [
('ip_address', DeviceLinkFailDetails._ip_address_validator),
('device_type', DeviceLinkFailDetails._device_type_validator),
]
DeviceLinkFailType._description_validator = bv.String()
DeviceLinkFailType._all_field_names_ = set(['description'])
DeviceLinkFailType._all_fields_ = [('description', DeviceLinkFailType._description_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()
DeviceType._tagmap = {
'desktop': DeviceType._desktop_validator,
'mobile': DeviceType._mobile_validator,
'other': DeviceType._other_validator,
}
DeviceType.desktop = DeviceType('desktop')
DeviceType.mobile = DeviceType('mobile')
DeviceType.other = DeviceType('other')
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([
'session_info',
'display_name',
'delete_data',
])
DeviceUnlinkDetails._all_fields_ = [
('session_info', DeviceUnlinkDetails._session_info_validator),
('display_name', DeviceUnlinkDetails._display_name_validator),
('delete_data', DeviceUnlinkDetails._delete_data_validator),
]
DeviceUnlinkPolicy._remove_validator = bv.Void()
DeviceUnlinkPolicy._keep_validator = bv.Void()
DeviceUnlinkPolicy._other_validator = bv.Void()
DeviceUnlinkPolicy._tagmap = {
'remove': DeviceUnlinkPolicy._remove_validator,
'keep': DeviceUnlinkPolicy._keep_validator,
'other': DeviceUnlinkPolicy._other_validator,
}
DeviceUnlinkPolicy.remove = DeviceUnlinkPolicy('remove')
DeviceUnlinkPolicy.keep = DeviceUnlinkPolicy('keep')
DeviceUnlinkPolicy.other = DeviceUnlinkPolicy('other')
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_ = []
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',
'num_recipients',
])
DomainInvitesEmailExistingUsersDetails._all_fields_ = [
('domain_name', DomainInvitesEmailExistingUsersDetails._domain_name_validator),
('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([
'domain_name',
'verification_method',
])
DomainVerificationAddDomainFailDetails._all_fields_ = [
('domain_name', DomainVerificationAddDomainFailDetails._domain_name_validator),
('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([
'domain_names',
'verification_method',
])
DomainVerificationAddDomainSuccessDetails._all_fields_ = [
('domain_names', DomainVerificationAddDomainSuccessDetails._domain_names_validator),
('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([
'unit',
'amount',
])
DurationLogInfo._all_fields_ = [
('unit', DurationLogInfo._unit_validator),
('amount', DurationLogInfo._amount_validator),
]
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([
'new_value',
'previous_value',
])
EmmChangePolicyDetails._all_fields_ = [
('new_value', EmmChangePolicyDetails._new_value_validator),
('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_ = []
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_ = []
EnabledDomainInvitesType._description_validator = bv.String()
EnabledDomainInvitesType._all_field_names_ = set(['description'])
EnabledDomainInvitesType._all_fields_ = [('description', EnabledDomainInvitesType._description_validator)]
EventCategory._apps_validator = bv.Void()
EventCategory._comments_validator = bv.Void()
EventCategory._devices_validator = bv.Void()
EventCategory._domains_validator = bv.Void()
EventCategory._file_operations_validator = bv.Void()
EventCategory._file_requests_validator = bv.Void()
EventCategory._groups_validator = bv.Void()
EventCategory._logins_validator = bv.Void()
EventCategory._members_validator = bv.Void()
EventCategory._paper_validator = bv.Void()
EventCategory._passwords_validator = bv.Void()
EventCategory._reports_validator = bv.Void()
EventCategory._sharing_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 = {
'apps': EventCategory._apps_validator,
'comments': EventCategory._comments_validator,
'devices': EventCategory._devices_validator,
'domains': EventCategory._domains_validator,
'file_operations': EventCategory._file_operations_validator,
'file_requests': EventCategory._file_requests_validator,
'groups': EventCategory._groups_validator,
'logins': EventCategory._logins_validator,
'members': EventCategory._members_validator,
'paper': EventCategory._paper_validator,
'passwords': EventCategory._passwords_validator,
'reports': EventCategory._reports_validator,
'sharing': EventCategory._sharing_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.apps = EventCategory('apps')
EventCategory.comments = EventCategory('comments')
EventCategory.devices = EventCategory('devices')
EventCategory.domains = EventCategory('domains')
EventCategory.file_operations = EventCategory('file_operations')
EventCategory.file_requests = EventCategory('file_requests')
EventCategory.groups = EventCategory('groups')
EventCategory.logins = EventCategory('logins')
EventCategory.members = EventCategory('members')
EventCategory.paper = EventCategory('paper')
EventCategory.passwords = EventCategory('passwords')
EventCategory.reports = EventCategory('reports')
EventCategory.sharing = EventCategory('sharing')
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._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
EventDetails._file_unresolve_comment_details_validator = FileUnresolveCommentDetails_validator
EventDetails._device_change_ip_desktop_details_validator = DeviceChangeIpDesktopDetails_validator
EventDetails._device_change_ip_mobile_details_validator = DeviceChangeIpMobileDetails_validator
EventDetails._device_change_ip_web_details_validator = DeviceChangeIpWebDetails_validator
EventDetails._device_delete_on_unlink_fail_details_validator = DeviceDeleteOnUnlinkFailDetails_validator
EventDetails._device_delete_on_unlink_success_details_validator = DeviceDeleteOnUnlinkSuccessDetails_validator
EventDetails._device_link_fail_details_validator = DeviceLinkFailDetails_validator
EventDetails._device_link_success_details_validator = DeviceLinkSuccessDetails_validator
EventDetails._device_management_disabled_details_validator = DeviceManagementDisabledDetails_validator
EventDetails._device_management_enabled_details_validator = DeviceManagementEnabledDetails_validator
EventDetails._device_unlink_details_validator = DeviceUnlinkDetails_validator
EventDetails._emm_refresh_auth_token_details_validator = EmmRefreshAuthTokenDetails_validator
EventDetails._account_capture_change_availability_details_validator = AccountCaptureChangeAvailabilityDetails_validator
EventDetails._account_capture_migrate_account_details_validator = AccountCaptureMigrateAccountDetails_validator
EventDetails._account_capture_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
EventDetails._domain_invites_decline_request_to_join_team_details_validator = DomainInvitesDeclineRequestToJoinTeamDetails_validator
EventDetails._domain_invites_email_existing_users_details_validator = DomainInvitesEmailExistingUsersDetails_validator
EventDetails._domain_invites_request_to_join_team_details_validator = DomainInvitesRequestToJoinTeamDetails_validator
EventDetails._domain_invites_set_invite_new_user_pref_to_no_details_validator = DomainInvitesSetInviteNewUserPrefToNoDetails_validator
EventDetails._domain_invites_set_invite_new_user_pref_to_yes_details_validator = DomainInvitesSetInviteNewUserPrefToYesDetails_validator
EventDetails._domain_verification_add_domain_fail_details_validator = DomainVerificationAddDomainFailDetails_validator
EventDetails._domain_verification_add_domain_success_details_validator = DomainVerificationAddDomainSuccessDetails_validator
EventDetails._domain_verification_remove_domain_details_validator = DomainVerificationRemoveDomainDetails_validator
EventDetails._enabled_domain_invites_details_validator = EnabledDomainInvitesDetails_validator
EventDetails._create_folder_details_validator = CreateFolderDetails_validator
EventDetails._file_add_details_validator = FileAddDetails_validator
EventDetails._file_copy_details_validator = FileCopyDetails_validator
EventDetails._file_delete_details_validator = FileDeleteDetails_validator
EventDetails._file_download_details_validator = FileDownloadDetails_validator
EventDetails._file_edit_details_validator = FileEditDetails_validator
EventDetails._file_get_copy_reference_details_validator = FileGetCopyReferenceDetails_validator
EventDetails._file_move_details_validator = FileMoveDetails_validator
EventDetails._file_permanently_delete_details_validator = FilePermanentlyDeleteDetails_validator
EventDetails._file_preview_details_validator = FilePreviewDetails_validator
EventDetails._file_rename_details_validator = FileRenameDetails_validator
EventDetails._file_restore_details_validator = FileRestoreDetails_validator
EventDetails._file_revert_details_validator = FileRevertDetails_validator
EventDetails._file_rollback_changes_details_validator = FileRollbackChangesDetails_validator
EventDetails._file_save_copy_reference_details_validator = FileSaveCopyReferenceDetails_validator
EventDetails._file_request_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._group_add_external_id_details_validator = GroupAddExternalIdDetails_validator
EventDetails._group_add_member_details_validator = GroupAddMemberDetails_validator
EventDetails._group_change_external_id_details_validator = GroupChangeExternalIdDetails_validator
EventDetails._group_change_management_type_details_validator = GroupChangeManagementTypeDetails_validator
EventDetails._group_change_member_role_details_validator = GroupChangeMemberRoleDetails_validator
EventDetails._group_create_details_validator = GroupCreateDetails_validator
EventDetails._group_delete_details_validator = GroupDeleteDetails_validator
EventDetails._group_description_updated_details_validator = GroupDescriptionUpdatedDetails_validator
EventDetails._group_join_policy_updated_details_validator = GroupJoinPolicyUpdatedDetails_validator
EventDetails._group_moved_details_validator = GroupMovedDetails_validator
EventDetails._group_remove_external_id_details_validator = GroupRemoveExternalIdDetails_validator
EventDetails._group_remove_member_details_validator = GroupRemoveMemberDetails_validator
EventDetails._group_rename_details_validator = GroupRenameDetails_validator
EventDetails._emm_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._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_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
EventDetails._paper_content_create_details_validator = PaperContentCreateDetails_validator
EventDetails._paper_content_permanently_delete_details_validator = PaperContentPermanentlyDeleteDetails_validator
EventDetails._paper_content_remove_from_folder_details_validator = PaperContentRemoveFromFolderDetails_validator
EventDetails._paper_content_remove_member_details_validator = PaperContentRemoveMemberDetails_validator
EventDetails._paper_content_rename_details_validator = PaperContentRenameDetails_validator
EventDetails._paper_content_restore_details_validator = PaperContentRestoreDetails_validator
EventDetails._paper_doc_add_comment_details_validator = PaperDocAddCommentDetails_validator
EventDetails._paper_doc_change_member_role_details_validator = PaperDocChangeMemberRoleDetails_validator
EventDetails._paper_doc_change_sharing_policy_details_validator = PaperDocChangeSharingPolicyDetails_validator
EventDetails._paper_doc_change_subscription_details_validator = PaperDocChangeSubscriptionDetails_validator
EventDetails._paper_doc_deleted_details_validator = PaperDocDeletedDetails_validator
EventDetails._paper_doc_delete_comment_details_validator = PaperDocDeleteCommentDetails_validator
EventDetails._paper_doc_download_details_validator = PaperDocDownloadDetails_validator
EventDetails._paper_doc_edit_details_validator = PaperDocEditDetails_validator
EventDetails._paper_doc_edit_comment_details_validator = PaperDocEditCommentDetails_validator
EventDetails._paper_doc_followed_details_validator = PaperDocFollowedDetails_validator
EventDetails._paper_doc_mention_details_validator = PaperDocMentionDetails_validator
EventDetails._paper_doc_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
EventDetails._paper_doc_slack_share_details_validator = PaperDocSlackShareDetails_validator
EventDetails._paper_doc_team_invite_details_validator = PaperDocTeamInviteDetails_validator
EventDetails._paper_doc_trashed_details_validator = PaperDocTrashedDetails_validator
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
EventDetails._note_acl_team_link_details_validator = NoteAclTeamLinkDetails_validator
EventDetails._note_shared_details_validator = NoteSharedDetails_validator
EventDetails._note_share_receive_details_validator = NoteShareReceiveDetails_validator
EventDetails._open_note_shared_details_validator = OpenNoteSharedDetails_validator
EventDetails._sf_add_group_details_validator = SfAddGroupDetails_validator
EventDetails._sf_allow_non_members_to_view_shared_links_details_validator = SfAllowNonMembersToViewSharedLinksDetails_validator
EventDetails._sf_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_team_grant_access_details_validator = SfTeamGrantAccessDetails_validator
EventDetails._sf_team_invite_details_validator = SfTeamInviteDetails_validator
EventDetails._sf_team_invite_change_role_details_validator = SfTeamInviteChangeRoleDetails_validator
EventDetails._sf_team_join_details_validator = SfTeamJoinDetails_validator
EventDetails._sf_team_join_from_oob_link_details_validator = SfTeamJoinFromOobLinkDetails_validator
EventDetails._sf_team_uninvite_details_validator = SfTeamUninviteDetails_validator
EventDetails._shared_content_add_invitees_details_validator = SharedContentAddInviteesDetails_validator
EventDetails._shared_content_add_link_expiry_details_validator = SharedContentAddLinkExpiryDetails_validator
EventDetails._shared_content_add_link_password_details_validator = SharedContentAddLinkPasswordDetails_validator
EventDetails._shared_content_add_member_details_validator = SharedContentAddMemberDetails_validator
EventDetails._shared_content_change_downloads_policy_details_validator = SharedContentChangeDownloadsPolicyDetails_validator
EventDetails._shared_content_change_invitee_role_details_validator = SharedContentChangeInviteeRoleDetails_validator
EventDetails._shared_content_change_link_audience_details_validator = SharedContentChangeLinkAudienceDetails_validator
EventDetails._shared_content_change_link_expiry_details_validator = SharedContentChangeLinkExpiryDetails_validator
EventDetails._shared_content_change_link_password_details_validator = SharedContentChangeLinkPasswordDetails_validator
EventDetails._shared_content_change_member_role_details_validator = SharedContentChangeMemberRoleDetails_validator
EventDetails._shared_content_change_viewer_info_policy_details_validator = SharedContentChangeViewerInfoPolicyDetails_validator
EventDetails._shared_content_claim_invitation_details_validator = SharedContentClaimInvitationDetails_validator
EventDetails._shared_content_copy_details_validator = SharedContentCopyDetails_validator
EventDetails._shared_content_download_details_validator = SharedContentDownloadDetails_validator
EventDetails._shared_content_relinquish_membership_details_validator = SharedContentRelinquishMembershipDetails_validator
EventDetails._shared_content_remove_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_link_policy_details_validator = SharedFolderChangeLinkPolicyDetails_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_group_share_details_validator = ShmodelGroupShareDetails_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
EventDetails._sso_change_cert_details_validator = SsoChangeCertDetails_validator
EventDetails._sso_change_login_url_details_validator = SsoChangeLoginUrlDetails_validator
EventDetails._sso_change_logout_url_details_validator = SsoChangeLogoutUrlDetails_validator
EventDetails._sso_change_saml_identity_mode_details_validator = SsoChangeSamlIdentityModeDetails_validator
EventDetails._sso_remove_cert_details_validator = SsoRemoveCertDetails_validator
EventDetails._sso_remove_login_url_details_validator = SsoRemoveLoginUrlDetails_validator
EventDetails._sso_remove_logout_url_details_validator = SsoRemoveLogoutUrlDetails_validator
EventDetails._team_folder_change_status_details_validator = TeamFolderChangeStatusDetails_validator
EventDetails._team_folder_create_details_validator = TeamFolderCreateDetails_validator
EventDetails._team_folder_downgrade_details_validator = TeamFolderDowngradeDetails_validator
EventDetails._team_folder_permanently_delete_details_validator = TeamFolderPermanentlyDeleteDetails_validator
EventDetails._team_folder_rename_details_validator = TeamFolderRenameDetails_validator
EventDetails._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
EventDetails._extended_version_history_change_policy_details_validator = ExtendedVersionHistoryChangePolicyDetails_validator
EventDetails._file_comments_change_policy_details_validator = FileCommentsChangePolicyDetails_validator
EventDetails._file_requests_change_policy_details_validator = FileRequestsChangePolicyDetails_validator
EventDetails._file_requests_emails_enabled_details_validator = FileRequestsEmailsEnabledDetails_validator
EventDetails._file_requests_emails_restricted_to_team_only_details_validator = FileRequestsEmailsRestrictedToTeamOnlyDetails_validator
EventDetails._google_sso_change_policy_details_validator = GoogleSsoChangePolicyDetails_validator
EventDetails._group_user_management_change_policy_details_validator = GroupUserManagementChangePolicyDetails_validator
EventDetails._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
EventDetails._microsoft_office_addin_change_policy_details_validator = MicrosoftOfficeAddinChangePolicyDetails_validator
EventDetails._network_control_change_policy_details_validator = NetworkControlChangePolicyDetails_validator
EventDetails._paper_change_deployment_policy_details_validator = PaperChangeDeploymentPolicyDetails_validator
EventDetails._paper_change_member_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
EventDetails._team_profile_change_name_details_validator = TeamProfileChangeNameDetails_validator
EventDetails._team_profile_remove_logo_details_validator = TeamProfileRemoveLogoDetails_validator
EventDetails._tfa_add_backup_phone_details_validator = TfaAddBackupPhoneDetails_validator
EventDetails._tfa_add_security_key_details_validator = TfaAddSecurityKeyDetails_validator
EventDetails._tfa_change_backup_phone_details_validator = TfaChangeBackupPhoneDetails_validator
EventDetails._tfa_change_status_details_validator = TfaChangeStatusDetails_validator
EventDetails._tfa_remove_backup_phone_details_validator = TfaRemoveBackupPhoneDetails_validator
EventDetails._tfa_remove_security_key_details_validator = TfaRemoveSecurityKeyDetails_validator
EventDetails._tfa_reset_details_validator = TfaResetDetails_validator
EventDetails._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 = {
'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,
'file_unresolve_comment_details': EventDetails._file_unresolve_comment_details_validator,
'device_change_ip_desktop_details': EventDetails._device_change_ip_desktop_details_validator,
'device_change_ip_mobile_details': EventDetails._device_change_ip_mobile_details_validator,
'device_change_ip_web_details': EventDetails._device_change_ip_web_details_validator,
'device_delete_on_unlink_fail_details': EventDetails._device_delete_on_unlink_fail_details_validator,
'device_delete_on_unlink_success_details': EventDetails._device_delete_on_unlink_success_details_validator,
'device_link_fail_details': EventDetails._device_link_fail_details_validator,
'device_link_success_details': EventDetails._device_link_success_details_validator,
'device_management_disabled_details': EventDetails._device_management_disabled_details_validator,
'device_management_enabled_details': EventDetails._device_management_enabled_details_validator,
'device_unlink_details': EventDetails._device_unlink_details_validator,
'emm_refresh_auth_token_details': EventDetails._emm_refresh_auth_token_details_validator,
'account_capture_change_availability_details': EventDetails._account_capture_change_availability_details_validator,
'account_capture_migrate_account_details': EventDetails._account_capture_migrate_account_details_validator,
'account_capture_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,
'domain_invites_decline_request_to_join_team_details': EventDetails._domain_invites_decline_request_to_join_team_details_validator,
'domain_invites_email_existing_users_details': EventDetails._domain_invites_email_existing_users_details_validator,
'domain_invites_request_to_join_team_details': EventDetails._domain_invites_request_to_join_team_details_validator,
'domain_invites_set_invite_new_user_pref_to_no_details': EventDetails._domain_invites_set_invite_new_user_pref_to_no_details_validator,
'domain_invites_set_invite_new_user_pref_to_yes_details': EventDetails._domain_invites_set_invite_new_user_pref_to_yes_details_validator,
'domain_verification_add_domain_fail_details': EventDetails._domain_verification_add_domain_fail_details_validator,
'domain_verification_add_domain_success_details': EventDetails._domain_verification_add_domain_success_details_validator,
'domain_verification_remove_domain_details': EventDetails._domain_verification_remove_domain_details_validator,
'enabled_domain_invites_details': EventDetails._enabled_domain_invites_details_validator,
'create_folder_details': EventDetails._create_folder_details_validator,
'file_add_details': EventDetails._file_add_details_validator,
'file_copy_details': EventDetails._file_copy_details_validator,
'file_delete_details': EventDetails._file_delete_details_validator,
'file_download_details': EventDetails._file_download_details_validator,
'file_edit_details': EventDetails._file_edit_details_validator,
'file_get_copy_reference_details': EventDetails._file_get_copy_reference_details_validator,
'file_move_details': EventDetails._file_move_details_validator,
'file_permanently_delete_details': EventDetails._file_permanently_delete_details_validator,
'file_preview_details': EventDetails._file_preview_details_validator,
'file_rename_details': EventDetails._file_rename_details_validator,
'file_restore_details': EventDetails._file_restore_details_validator,
'file_revert_details': EventDetails._file_revert_details_validator,
'file_rollback_changes_details': EventDetails._file_rollback_changes_details_validator,
'file_save_copy_reference_details': EventDetails._file_save_copy_reference_details_validator,
'file_request_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,
'group_add_external_id_details': EventDetails._group_add_external_id_details_validator,
'group_add_member_details': EventDetails._group_add_member_details_validator,
'group_change_external_id_details': EventDetails._group_change_external_id_details_validator,
'group_change_management_type_details': EventDetails._group_change_management_type_details_validator,
'group_change_member_role_details': EventDetails._group_change_member_role_details_validator,
'group_create_details': EventDetails._group_create_details_validator,
'group_delete_details': EventDetails._group_delete_details_validator,
'group_description_updated_details': EventDetails._group_description_updated_details_validator,
'group_join_policy_updated_details': EventDetails._group_join_policy_updated_details_validator,
'group_moved_details': EventDetails._group_moved_details_validator,
'group_remove_external_id_details': EventDetails._group_remove_external_id_details_validator,
'group_remove_member_details': EventDetails._group_remove_member_details_validator,
'group_rename_details': EventDetails._group_rename_details_validator,
'emm_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,
'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_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,
'paper_content_create_details': EventDetails._paper_content_create_details_validator,
'paper_content_permanently_delete_details': EventDetails._paper_content_permanently_delete_details_validator,
'paper_content_remove_from_folder_details': EventDetails._paper_content_remove_from_folder_details_validator,
'paper_content_remove_member_details': EventDetails._paper_content_remove_member_details_validator,
'paper_content_rename_details': EventDetails._paper_content_rename_details_validator,
'paper_content_restore_details': EventDetails._paper_content_restore_details_validator,
'paper_doc_add_comment_details': EventDetails._paper_doc_add_comment_details_validator,
'paper_doc_change_member_role_details': EventDetails._paper_doc_change_member_role_details_validator,
'paper_doc_change_sharing_policy_details': EventDetails._paper_doc_change_sharing_policy_details_validator,
'paper_doc_change_subscription_details': EventDetails._paper_doc_change_subscription_details_validator,
'paper_doc_deleted_details': EventDetails._paper_doc_deleted_details_validator,
'paper_doc_delete_comment_details': EventDetails._paper_doc_delete_comment_details_validator,
'paper_doc_download_details': EventDetails._paper_doc_download_details_validator,
'paper_doc_edit_details': EventDetails._paper_doc_edit_details_validator,
'paper_doc_edit_comment_details': EventDetails._paper_doc_edit_comment_details_validator,
'paper_doc_followed_details': EventDetails._paper_doc_followed_details_validator,
'paper_doc_mention_details': EventDetails._paper_doc_mention_details_validator,
'paper_doc_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,
'paper_doc_slack_share_details': EventDetails._paper_doc_slack_share_details_validator,
'paper_doc_team_invite_details': EventDetails._paper_doc_team_invite_details_validator,
'paper_doc_trashed_details': EventDetails._paper_doc_trashed_details_validator,
'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,
'note_acl_team_link_details': EventDetails._note_acl_team_link_details_validator,
'note_shared_details': EventDetails._note_shared_details_validator,
'note_share_receive_details': EventDetails._note_share_receive_details_validator,
'open_note_shared_details': EventDetails._open_note_shared_details_validator,
'sf_add_group_details': EventDetails._sf_add_group_details_validator,
'sf_allow_non_members_to_view_shared_links_details': EventDetails._sf_allow_non_members_to_view_shared_links_details_validator,
'sf_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_team_grant_access_details': EventDetails._sf_team_grant_access_details_validator,
'sf_team_invite_details': EventDetails._sf_team_invite_details_validator,
'sf_team_invite_change_role_details': EventDetails._sf_team_invite_change_role_details_validator,
'sf_team_join_details': EventDetails._sf_team_join_details_validator,
'sf_team_join_from_oob_link_details': EventDetails._sf_team_join_from_oob_link_details_validator,
'sf_team_uninvite_details': EventDetails._sf_team_uninvite_details_validator,
'shared_content_add_invitees_details': EventDetails._shared_content_add_invitees_details_validator,
'shared_content_add_link_expiry_details': EventDetails._shared_content_add_link_expiry_details_validator,
'shared_content_add_link_password_details': EventDetails._shared_content_add_link_password_details_validator,
'shared_content_add_member_details': EventDetails._shared_content_add_member_details_validator,
'shared_content_change_downloads_policy_details': EventDetails._shared_content_change_downloads_policy_details_validator,
'shared_content_change_invitee_role_details': EventDetails._shared_content_change_invitee_role_details_validator,
'shared_content_change_link_audience_details': EventDetails._shared_content_change_link_audience_details_validator,
'shared_content_change_link_expiry_details': EventDetails._shared_content_change_link_expiry_details_validator,
'shared_content_change_link_password_details': EventDetails._shared_content_change_link_password_details_validator,
'shared_content_change_member_role_details': EventDetails._shared_content_change_member_role_details_validator,
'shared_content_change_viewer_info_policy_details': EventDetails._shared_content_change_viewer_info_policy_details_validator,
'shared_content_claim_invitation_details': EventDetails._shared_content_claim_invitation_details_validator,
'shared_content_copy_details': EventDetails._shared_content_copy_details_validator,
'shared_content_download_details': EventDetails._shared_content_download_details_validator,
'shared_content_relinquish_membership_details': EventDetails._shared_content_relinquish_membership_details_validator,
'shared_content_remove_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_link_policy_details': EventDetails._shared_folder_change_link_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_group_share_details': EventDetails._shmodel_group_share_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,
'sso_change_cert_details': EventDetails._sso_change_cert_details_validator,
'sso_change_login_url_details': EventDetails._sso_change_login_url_details_validator,
'sso_change_logout_url_details': EventDetails._sso_change_logout_url_details_validator,
'sso_change_saml_identity_mode_details': EventDetails._sso_change_saml_identity_mode_details_validator,
'sso_remove_cert_details': EventDetails._sso_remove_cert_details_validator,
'sso_remove_login_url_details': EventDetails._sso_remove_login_url_details_validator,
'sso_remove_logout_url_details': EventDetails._sso_remove_logout_url_details_validator,
'team_folder_change_status_details': EventDetails._team_folder_change_status_details_validator,
'team_folder_create_details': EventDetails._team_folder_create_details_validator,
'team_folder_downgrade_details': EventDetails._team_folder_downgrade_details_validator,
'team_folder_permanently_delete_details': EventDetails._team_folder_permanently_delete_details_validator,
'team_folder_rename_details': EventDetails._team_folder_rename_details_validator,
'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,
'extended_version_history_change_policy_details': EventDetails._extended_version_history_change_policy_details_validator,
'file_comments_change_policy_details': EventDetails._file_comments_change_policy_details_validator,
'file_requests_change_policy_details': EventDetails._file_requests_change_policy_details_validator,
'file_requests_emails_enabled_details': EventDetails._file_requests_emails_enabled_details_validator,
'file_requests_emails_restricted_to_team_only_details': EventDetails._file_requests_emails_restricted_to_team_only_details_validator,
'google_sso_change_policy_details': EventDetails._google_sso_change_policy_details_validator,
'group_user_management_change_policy_details': EventDetails._group_user_management_change_policy_details_validator,
'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,
'microsoft_office_addin_change_policy_details': EventDetails._microsoft_office_addin_change_policy_details_validator,
'network_control_change_policy_details': EventDetails._network_control_change_policy_details_validator,
'paper_change_deployment_policy_details': EventDetails._paper_change_deployment_policy_details_validator,
'paper_change_member_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,
'team_profile_change_name_details': EventDetails._team_profile_change_name_details_validator,
'team_profile_remove_logo_details': EventDetails._team_profile_remove_logo_details_validator,
'tfa_add_backup_phone_details': EventDetails._tfa_add_backup_phone_details_validator,
'tfa_add_security_key_details': EventDetails._tfa_add_security_key_details_validator,
'tfa_change_backup_phone_details': EventDetails._tfa_change_backup_phone_details_validator,
'tfa_change_status_details': EventDetails._tfa_change_status_details_validator,
'tfa_remove_backup_phone_details': EventDetails._tfa_remove_backup_phone_details_validator,
'tfa_remove_security_key_details': EventDetails._tfa_remove_security_key_details_validator,
'tfa_reset_details': EventDetails._tfa_reset_details_validator,
'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._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 = {
'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,
'file_unresolve_comment': EventType._file_unresolve_comment_validator,
'device_change_ip_desktop': EventType._device_change_ip_desktop_validator,
'device_change_ip_mobile': EventType._device_change_ip_mobile_validator,
'device_change_ip_web': EventType._device_change_ip_web_validator,
'device_delete_on_unlink_fail': EventType._device_delete_on_unlink_fail_validator,
'device_delete_on_unlink_success': EventType._device_delete_on_unlink_success_validator,
'device_link_fail': EventType._device_link_fail_validator,
'device_link_success': EventType._device_link_success_validator,
'device_management_disabled': EventType._device_management_disabled_validator,
'device_management_enabled': EventType._device_management_enabled_validator,
'device_unlink': EventType._device_unlink_validator,
'emm_refresh_auth_token': EventType._emm_refresh_auth_token_validator,
'account_capture_change_availability': EventType._account_capture_change_availability_validator,
'account_capture_migrate_account': EventType._account_capture_migrate_account_validator,
'account_capture_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,
'domain_invites_decline_request_to_join_team': EventType._domain_invites_decline_request_to_join_team_validator,
'domain_invites_email_existing_users': EventType._domain_invites_email_existing_users_validator,
'domain_invites_request_to_join_team': EventType._domain_invites_request_to_join_team_validator,
'domain_invites_set_invite_new_user_pref_to_no': EventType._domain_invites_set_invite_new_user_pref_to_no_validator,
'domain_invites_set_invite_new_user_pref_to_yes': EventType._domain_invites_set_invite_new_user_pref_to_yes_validator,
'domain_verification_add_domain_fail': EventType._domain_verification_add_domain_fail_validator,
'domain_verification_add_domain_success': EventType._domain_verification_add_domain_success_validator,
'domain_verification_remove_domain': EventType._domain_verification_remove_domain_validator,
'enabled_domain_invites': EventType._enabled_domain_invites_validator,
'create_folder': EventType._create_folder_validator,
'file_add': EventType._file_add_validator,
'file_copy': EventType._file_copy_validator,
'file_delete': EventType._file_delete_validator,
'file_download': EventType._file_download_validator,
'file_edit': EventType._file_edit_validator,
'file_get_copy_reference': EventType._file_get_copy_reference_validator,
'file_move': EventType._file_move_validator,
'file_permanently_delete': EventType._file_permanently_delete_validator,
'file_preview': EventType._file_preview_validator,
'file_rename': EventType._file_rename_validator,
'file_restore': EventType._file_restore_validator,
'file_revert': EventType._file_revert_validator,
'file_rollback_changes': EventType._file_rollback_changes_validator,
'file_save_copy_reference': EventType._file_save_copy_reference_validator,
'file_request_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,
'group_add_external_id': EventType._group_add_external_id_validator,
'group_add_member': EventType._group_add_member_validator,
'group_change_external_id': EventType._group_change_external_id_validator,
'group_change_management_type': EventType._group_change_management_type_validator,
'group_change_member_role': EventType._group_change_member_role_validator,
'group_create': EventType._group_create_validator,
'group_delete': EventType._group_delete_validator,
'group_description_updated': EventType._group_description_updated_validator,
'group_join_policy_updated': EventType._group_join_policy_updated_validator,
'group_moved': EventType._group_moved_validator,
'group_remove_external_id': EventType._group_remove_external_id_validator,
'group_remove_member': EventType._group_remove_member_validator,
'group_rename': EventType._group_rename_validator,
'emm_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,
'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_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,
'paper_content_create': EventType._paper_content_create_validator,
'paper_content_permanently_delete': EventType._paper_content_permanently_delete_validator,
'paper_content_remove_from_folder': EventType._paper_content_remove_from_folder_validator,
'paper_content_remove_member': EventType._paper_content_remove_member_validator,
'paper_content_rename': EventType._paper_content_rename_validator,
'paper_content_restore': EventType._paper_content_restore_validator,
'paper_doc_add_comment': EventType._paper_doc_add_comment_validator,
'paper_doc_change_member_role': EventType._paper_doc_change_member_role_validator,
'paper_doc_change_sharing_policy': EventType._paper_doc_change_sharing_policy_validator,
'paper_doc_change_subscription': EventType._paper_doc_change_subscription_validator,
'paper_doc_deleted': EventType._paper_doc_deleted_validator,
'paper_doc_delete_comment': EventType._paper_doc_delete_comment_validator,
'paper_doc_download': EventType._paper_doc_download_validator,
'paper_doc_edit': EventType._paper_doc_edit_validator,
'paper_doc_edit_comment': EventType._paper_doc_edit_comment_validator,
'paper_doc_followed': EventType._paper_doc_followed_validator,
'paper_doc_mention': EventType._paper_doc_mention_validator,
'paper_doc_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,
'paper_doc_slack_share': EventType._paper_doc_slack_share_validator,
'paper_doc_team_invite': EventType._paper_doc_team_invite_validator,
'paper_doc_trashed': EventType._paper_doc_trashed_validator,
'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,
'note_acl_team_link': EventType._note_acl_team_link_validator,
'note_shared': EventType._note_shared_validator,
'note_share_receive': EventType._note_share_receive_validator,
'open_note_shared': EventType._open_note_shared_validator,
'sf_add_group': EventType._sf_add_group_validator,
'sf_allow_non_members_to_view_shared_links': EventType._sf_allow_non_members_to_view_shared_links_validator,
'sf_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_team_grant_access': EventType._sf_team_grant_access_validator,
'sf_team_invite': EventType._sf_team_invite_validator,
'sf_team_invite_change_role': EventType._sf_team_invite_change_role_validator,
'sf_team_join': EventType._sf_team_join_validator,
'sf_team_join_from_oob_link': EventType._sf_team_join_from_oob_link_validator,
'sf_team_uninvite': EventType._sf_team_uninvite_validator,
'shared_content_add_invitees': EventType._shared_content_add_invitees_validator,
'shared_content_add_link_expiry': EventType._shared_content_add_link_expiry_validator,
'shared_content_add_link_password': EventType._shared_content_add_link_password_validator,
'shared_content_add_member': EventType._shared_content_add_member_validator,
'shared_content_change_downloads_policy': EventType._shared_content_change_downloads_policy_validator,
'shared_content_change_invitee_role': EventType._shared_content_change_invitee_role_validator,
'shared_content_change_link_audience': EventType._shared_content_change_link_audience_validator,
'shared_content_change_link_expiry': EventType._shared_content_change_link_expiry_validator,
'shared_content_change_link_password': EventType._shared_content_change_link_password_validator,
'shared_content_change_member_role': EventType._shared_content_change_member_role_validator,
'shared_content_change_viewer_info_policy': EventType._shared_content_change_viewer_info_policy_validator,
'shared_content_claim_invitation': EventType._shared_content_claim_invitation_validator,
'shared_content_copy': EventType._shared_content_copy_validator,
'shared_content_download': EventType._shared_content_download_validator,
'shared_content_relinquish_membership': EventType._shared_content_relinquish_membership_validator,
'shared_content_remove_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_link_policy': EventType._shared_folder_change_link_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_group_share': EventType._shmodel_group_share_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,
'sso_change_cert': EventType._sso_change_cert_validator,
'sso_change_login_url': EventType._sso_change_login_url_validator,
'sso_change_logout_url': EventType._sso_change_logout_url_validator,
'sso_change_saml_identity_mode': EventType._sso_change_saml_identity_mode_validator,
'sso_remove_cert': EventType._sso_remove_cert_validator,
'sso_remove_login_url': EventType._sso_remove_login_url_validator,
'sso_remove_logout_url': EventType._sso_remove_logout_url_validator,
'team_folder_change_status': EventType._team_folder_change_status_validator,
'team_folder_create': EventType._team_folder_create_validator,
'team_folder_downgrade': EventType._team_folder_downgrade_validator,
'team_folder_permanently_delete': EventType._team_folder_permanently_delete_validator,
'team_folder_rename': EventType._team_folder_rename_validator,
'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,
'extended_version_history_change_policy': EventType._extended_version_history_change_policy_validator,
'file_comments_change_policy': EventType._file_comments_change_policy_validator,
'file_requests_change_policy': EventType._file_requests_change_policy_validator,
'file_requests_emails_enabled': EventType._file_requests_emails_enabled_validator,
'file_requests_emails_restricted_to_team_only': EventType._file_requests_emails_restricted_to_team_only_validator,
'google_sso_change_policy': EventType._google_sso_change_policy_validator,
'group_user_management_change_policy': EventType._group_user_management_change_policy_validator,
'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,
'microsoft_office_addin_change_policy': EventType._microsoft_office_addin_change_policy_validator,
'network_control_change_policy': EventType._network_control_change_policy_validator,
'paper_change_deployment_policy': EventType._paper_change_deployment_policy_validator,
'paper_change_member_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,
'team_profile_change_name': EventType._team_profile_change_name_validator,
'team_profile_remove_logo': EventType._team_profile_remove_logo_validator,
'tfa_add_backup_phone': EventType._tfa_add_backup_phone_validator,
'tfa_add_security_key': EventType._tfa_add_security_key_validator,
'tfa_change_backup_phone': EventType._tfa_change_backup_phone_validator,
'tfa_change_status': EventType._tfa_change_status_validator,
'tfa_remove_backup_phone': EventType._tfa_remove_backup_phone_validator,
'tfa_remove_security_key': EventType._tfa_remove_security_key_validator,
'tfa_reset': EventType._tfa_reset_validator,
'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.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([
'new_value',
'previous_value',
])
ExtendedVersionHistoryChangePolicyDetails._all_fields_ = [
('new_value', ExtendedVersionHistoryChangePolicyDetails._new_value_validator),
('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([
'user_friendly_message',
'technical_error_message',
])
FailureDetailsLogInfo._all_fields_ = [
('user_friendly_message', FailureDetailsLogInfo._user_friendly_message_validator),
('technical_error_message', FailureDetailsLogInfo._technical_error_message_validator),
]
FileAddCommentDetails._comment_text_validator = bv.Nullable(bv.String())
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_ = []
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([
'new_value',
'previous_value',
])
FileChangeCommentSubscriptionDetails._all_fields_ = [
('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()
FileCommentNotificationPolicy._tagmap = {
'disabled': FileCommentNotificationPolicy._disabled_validator,
'enabled': FileCommentNotificationPolicy._enabled_validator,
'other': FileCommentNotificationPolicy._other_validator,
}
FileCommentNotificationPolicy.disabled = FileCommentNotificationPolicy('disabled')
FileCommentNotificationPolicy.enabled = FileCommentNotificationPolicy('enabled')
FileCommentNotificationPolicy.other = FileCommentNotificationPolicy('other')
FileCommentsChangePolicyDetails._new_value_validator = FileCommentsPolicy_validator
FileCommentsChangePolicyDetails._previous_value_validator = bv.Nullable(FileCommentsPolicy_validator)
FileCommentsChangePolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
FileCommentsChangePolicyDetails._all_fields_ = [
('new_value', FileCommentsChangePolicyDetails._new_value_validator),
('previous_value', FileCommentsChangePolicyDetails._previous_value_validator),
]
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()
FileCommentsPolicy._tagmap = {
'disabled': FileCommentsPolicy._disabled_validator,
'enabled': FileCommentsPolicy._enabled_validator,
'other': FileCommentsPolicy._other_validator,
}
FileCommentsPolicy.disabled = FileCommentsPolicy('disabled')
FileCommentsPolicy.enabled = FileCommentsPolicy('enabled')
FileCommentsPolicy.other = FileCommentsPolicy('other')
FileCopyDetails._relocate_action_details_validator = bv.List(RelocateAssetReferencesLogInfo_validator)
FileCopyDetails._all_field_names_ = set(['relocate_action_details'])
FileCopyDetails._all_fields_ = [('relocate_action_details', FileCopyDetails._relocate_action_details_validator)]
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(['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_ = []
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(['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())
FileOrFolderLogInfo._file_id_validator = bv.Nullable(bv.String())
FileOrFolderLogInfo._all_field_names_ = set([
'path',
'display_name',
'file_id',
])
FileOrFolderLogInfo._all_fields_ = [
('path', FileOrFolderLogInfo._path_validator),
('display_name', FileOrFolderLogInfo._display_name_validator),
('file_id', FileOrFolderLogInfo._file_id_validator),
]
FileLogInfo._all_field_names_ = FileOrFolderLogInfo._all_field_names_.union(set([]))
FileLogInfo._all_fields_ = FileOrFolderLogInfo._all_fields_ + []
FileMoveDetails._relocate_action_details_validator = bv.List(RelocateAssetReferencesLogInfo_validator)
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)]
FileRenameType._description_validator = bv.String()
FileRenameType._all_field_names_ = set(['description'])
FileRenameType._all_fields_ = [('description', FileRenameType._description_validator)]
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',
])
FileRequestChangeDetails._all_fields_ = [
('file_request_id', FileRequestChangeDetails._file_request_id_validator),
('previous_details', FileRequestChangeDetails._previous_details_validator),
('new_details', FileRequestChangeDetails._new_details_validator),
]
FileRequestChangeType._description_validator = bv.String()
FileRequestChangeType._all_field_names_ = set(['description'])
FileRequestChangeType._all_fields_ = [('description', FileRequestChangeType._description_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)
FileRequestsChangePolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
FileRequestsChangePolicyDetails._all_fields_ = [
('new_value', FileRequestsChangePolicyDetails._new_value_validator),
('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()
FileRequestsPolicy._tagmap = {
'disabled': FileRequestsPolicy._disabled_validator,
'enabled': FileRequestsPolicy._enabled_validator,
'other': FileRequestsPolicy._other_validator,
}
FileRequestsPolicy.disabled = FileRequestsPolicy('disabled')
FileRequestsPolicy.enabled = FileRequestsPolicy('enabled')
FileRequestsPolicy.other = FileRequestsPolicy('other')
FileResolveCommentDetails._comment_text_validator = bv.Nullable(bv.String())
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)]
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._comment_text_validator = bv.Nullable(bv.String())
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_ + []
GeoLocationLogInfo._city_validator = bv.Nullable(bv.String())
GeoLocationLogInfo._region_validator = bv.Nullable(bv.String())
GeoLocationLogInfo._country_validator = bv.Nullable(bv.String())
GeoLocationLogInfo._ip_address_validator = IpAddress_validator
GeoLocationLogInfo._all_field_names_ = set([
'city',
'region',
'country',
'ip_address',
])
GeoLocationLogInfo._all_fields_ = [
('city', GeoLocationLogInfo._city_validator),
('region', GeoLocationLogInfo._region_validator),
('country', GeoLocationLogInfo._country_validator),
('ip_address', GeoLocationLogInfo._ip_address_validator),
]
GetTeamEventsArg._limit_validator = bv.UInt32(min_value=1, max_value=1000)
GetTeamEventsArg._account_id_validator = bv.Nullable(users_common.AccountId_validator)
GetTeamEventsArg._time_validator = bv.Nullable(team_common.TimeRange_validator)
GetTeamEventsArg._category_validator = bv.Nullable(EventCategory_validator)
GetTeamEventsArg._all_field_names_ = set([
'limit',
'account_id',
'time',
'category',
])
GetTeamEventsArg._all_fields_ = [
('limit', GetTeamEventsArg._limit_validator),
('account_id', GetTeamEventsArg._account_id_validator),
('time', GetTeamEventsArg._time_validator),
('category', GetTeamEventsArg._category_validator),
]
GetTeamEventsContinueArg._cursor_validator = bv.String()
GetTeamEventsContinueArg._all_field_names_ = set(['cursor'])
GetTeamEventsContinueArg._all_fields_ = [('cursor', GetTeamEventsContinueArg._cursor_validator)]
GetTeamEventsContinueError._bad_cursor_validator = bv.Void()
GetTeamEventsContinueError._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,
}
GetTeamEventsContinueError.bad_cursor = GetTeamEventsContinueError('bad_cursor')
GetTeamEventsContinueError.other = GetTeamEventsContinueError('other')
GetTeamEventsError._account_id_not_found_validator = bv.Void()
GetTeamEventsError._invalid_time_range_validator = bv.Void()
GetTeamEventsError._other_validator = bv.Void()
GetTeamEventsError._tagmap = {
'account_id_not_found': GetTeamEventsError._account_id_not_found_validator,
'invalid_time_range': GetTeamEventsError._invalid_time_range_validator,
'other': GetTeamEventsError._other_validator,
}
GetTeamEventsError.account_id_not_found = GetTeamEventsError('account_id_not_found')
GetTeamEventsError.invalid_time_range = GetTeamEventsError('invalid_time_range')
GetTeamEventsError.other = GetTeamEventsError('other')
GetTeamEventsResult._events_validator = bv.List(TeamEvent_validator)
GetTeamEventsResult._cursor_validator = bv.String()
GetTeamEventsResult._has_more_validator = bv.Boolean()
GetTeamEventsResult._all_field_names_ = set([
'events',
'cursor',
'has_more',
])
GetTeamEventsResult._all_fields_ = [
('events', GetTeamEventsResult._events_validator),
('cursor', GetTeamEventsResult._cursor_validator),
('has_more', GetTeamEventsResult._has_more_validator),
]
GoogleSsoChangePolicyDetails._new_value_validator = GoogleSsoPolicy_validator
GoogleSsoChangePolicyDetails._previous_value_validator = bv.Nullable(GoogleSsoPolicy_validator)
GoogleSsoChangePolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
GoogleSsoChangePolicyDetails._all_fields_ = [
('new_value', GoogleSsoChangePolicyDetails._new_value_validator),
('previous_value', GoogleSsoChangePolicyDetails._previous_value_validator),
]
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()
GoogleSsoPolicy._tagmap = {
'disabled': GoogleSsoPolicy._disabled_validator,
'enabled': GoogleSsoPolicy._enabled_validator,
'other': GoogleSsoPolicy._other_validator,
}
GoogleSsoPolicy.disabled = GoogleSsoPolicy('disabled')
GoogleSsoPolicy.enabled = GoogleSsoPolicy('enabled')
GoogleSsoPolicy.other = GoogleSsoPolicy('other')
GroupAddExternalIdDetails._new_value_validator = team_common.GroupExternalId_validator
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([
'new_value',
'previous_value',
])
GroupChangeExternalIdDetails._all_fields_ = [
('new_value', GroupChangeExternalIdDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
GroupChangeManagementTypeDetails._all_fields_ = [
('new_value', GroupChangeManagementTypeDetails._new_value_validator),
('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 = bv.Nullable(GroupJoinPolicy_validator)
GroupCreateDetails._all_field_names_ = set([
'is_company_managed',
'join_policy',
])
GroupCreateDetails._all_fields_ = [
('is_company_managed', GroupCreateDetails._is_company_managed_validator),
('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()
GroupJoinPolicy._tagmap = {
'open': GroupJoinPolicy._open_validator,
'request_to_join': GroupJoinPolicy._request_to_join_validator,
'other': GroupJoinPolicy._other_validator,
}
GroupJoinPolicy.open = GroupJoinPolicy('open')
GroupJoinPolicy.request_to_join = GroupJoinPolicy('request_to_join')
GroupJoinPolicy.other = GroupJoinPolicy('other')
GroupJoinPolicyUpdatedDetails._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)
GroupLogInfo._all_field_names_ = set([
'group_id',
'display_name',
'external_id',
])
GroupLogInfo._all_fields_ = [
('group_id', GroupLogInfo._group_id_validator),
('display_name', GroupLogInfo._display_name_validator),
('external_id', GroupLogInfo._external_id_validator),
]
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([
'previous_value',
'new_value',
])
GroupRenameDetails._all_fields_ = [
('previous_value', GroupRenameDetails._previous_value_validator),
('new_value', GroupRenameDetails._new_value_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',
])
GroupUserManagementChangePolicyDetails._all_fields_ = [
('new_value', GroupUserManagementChangePolicyDetails._new_value_validator),
('previous_value', GroupUserManagementChangePolicyDetails._previous_value_validator),
]
GroupUserManagementChangePolicyType._description_validator = bv.String()
GroupUserManagementChangePolicyType._all_field_names_ = set(['description'])
GroupUserManagementChangePolicyType._all_fields_ = [('description', GroupUserManagementChangePolicyType._description_validator)]
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',
])
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),
]
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',
'linked_devices',
'linked_shared_folders',
])
JoinTeamDetails._all_fields_ = [
('linked_apps', JoinTeamDetails._linked_apps_validator),
('linked_devices', JoinTeamDetails._linked_devices_validator),
('linked_shared_folders', JoinTeamDetails._linked_shared_folders_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,
}
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_ = []
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)
MemberChangeAdminRoleDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
MemberChangeAdminRoleDetails._all_fields_ = [
('new_value', MemberChangeAdminRoleDetails._new_value_validator),
('previous_value', MemberChangeAdminRoleDetails._previous_value_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',
])
MemberChangeEmailDetails._all_fields_ = [
('new_value', MemberChangeEmailDetails._new_value_validator),
('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([
'prev_value',
'new_value',
])
MemberChangeMembershipTypeDetails._all_fields_ = [
('prev_value', MemberChangeMembershipTypeDetails._prev_value_validator),
('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([
'new_value',
'previous_value',
])
MemberChangeNameDetails._all_fields_ = [
('new_value', MemberChangeNameDetails._new_value_validator),
('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._action_validator = bv.Nullable(ActionDetails_validator)
MemberChangeStatusDetails._all_field_names_ = set([
'previous_value',
'new_value',
'action',
])
MemberChangeStatusDetails._all_fields_ = [
('previous_value', MemberChangeStatusDetails._previous_value_validator),
('new_value', MemberChangeStatusDetails._new_value_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([
'new_value',
'previous_value',
])
MemberRequestsChangePolicyDetails._all_fields_ = [
('new_value', MemberRequestsChangePolicyDetails._new_value_validator),
('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()
MemberRequestsPolicy._other_validator = bv.Void()
MemberRequestsPolicy._tagmap = {
'auto_accept': MemberRequestsPolicy._auto_accept_validator,
'disabled': MemberRequestsPolicy._disabled_validator,
'require_approval': MemberRequestsPolicy._require_approval_validator,
'other': MemberRequestsPolicy._other_validator,
}
MemberRequestsPolicy.auto_accept = MemberRequestsPolicy('auto_accept')
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_ = []
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',
])
MemberSpaceLimitsChangePolicyDetails._all_fields_ = [
('previous_value', MemberSpaceLimitsChangePolicyDetails._previous_value_validator),
('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([
'previous_value',
'new_value',
])
MemberSpaceLimitsChangeStatusDetails._all_fields_ = [
('previous_value', MemberSpaceLimitsChangeStatusDetails._previous_value_validator),
('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()
MemberStatus._suspended_validator = bv.Void()
MemberStatus._removed_validator = bv.Void()
MemberStatus._other_validator = bv.Void()
MemberStatus._tagmap = {
'not_joined': MemberStatus._not_joined_validator,
'invited': MemberStatus._invited_validator,
'active': MemberStatus._active_validator,
'suspended': MemberStatus._suspended_validator,
'removed': MemberStatus._removed_validator,
'other': MemberStatus._other_validator,
}
MemberStatus.not_joined = MemberStatus('not_joined')
MemberStatus.invited = MemberStatus('invited')
MemberStatus.active = MemberStatus('active')
MemberStatus.suspended = MemberStatus('suspended')
MemberStatus.removed = MemberStatus('removed')
MemberStatus.other = MemberStatus('other')
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)
MemberSuggestionsChangePolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
MemberSuggestionsChangePolicyDetails._all_fields_ = [
('new_value', MemberSuggestionsChangePolicyDetails._new_value_validator),
('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()
MemberSuggestionsPolicy._tagmap = {
'disabled': MemberSuggestionsPolicy._disabled_validator,
'enabled': MemberSuggestionsPolicy._enabled_validator,
'other': MemberSuggestionsPolicy._other_validator,
}
MemberSuggestionsPolicy.disabled = MemberSuggestionsPolicy('disabled')
MemberSuggestionsPolicy.enabled = MemberSuggestionsPolicy('enabled')
MemberSuggestionsPolicy.other = MemberSuggestionsPolicy('other')
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)
MicrosoftOfficeAddinChangePolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
MicrosoftOfficeAddinChangePolicyDetails._all_fields_ = [
('new_value', MicrosoftOfficeAddinChangePolicyDetails._new_value_validator),
('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()
MicrosoftOfficeAddinPolicy._tagmap = {
'disabled': MicrosoftOfficeAddinPolicy._disabled_validator,
'enabled': MicrosoftOfficeAddinPolicy._enabled_validator,
'other': MicrosoftOfficeAddinPolicy._other_validator,
}
MicrosoftOfficeAddinPolicy.disabled = MicrosoftOfficeAddinPolicy('disabled')
MicrosoftOfficeAddinPolicy.enabled = MicrosoftOfficeAddinPolicy('enabled')
MicrosoftOfficeAddinPolicy.other = MicrosoftOfficeAddinPolicy('other')
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(NamespaceId_validator)
NamespaceRelativePathLogInfo._relative_path_validator = bv.Nullable(FilePath_validator)
NamespaceRelativePathLogInfo._all_field_names_ = set([
'ns_id',
'relative_path',
])
NamespaceRelativePathLogInfo._all_fields_ = [
('ns_id', NamespaceRelativePathLogInfo._ns_id_validator),
('relative_path', NamespaceRelativePathLogInfo._relative_path_validator),
]
NetworkControlChangePolicyDetails._new_value_validator = NetworkControlPolicy_validator
NetworkControlChangePolicyDetails._previous_value_validator = bv.Nullable(NetworkControlPolicy_validator)
NetworkControlChangePolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
NetworkControlChangePolicyDetails._all_fields_ = [
('new_value', NetworkControlChangePolicyDetails._new_value_validator),
('previous_value', NetworkControlChangePolicyDetails._previous_value_validator),
]
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()
NetworkControlPolicy._tagmap = {
'disabled': NetworkControlPolicy._disabled_validator,
'enabled': NetworkControlPolicy._enabled_validator,
'other': NetworkControlPolicy._other_validator,
}
NetworkControlPolicy.disabled = NetworkControlPolicy('disabled')
NetworkControlPolicy.enabled = NetworkControlPolicy('enabled')
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(EmailAddress_validator)
UserLogInfo._field_names_ = set([
'account_id',
'display_name',
'email',
])
UserLogInfo._all_field_names_ = UserLogInfo._field_names_
UserLogInfo._fields_ = [
('account_id', UserLogInfo._account_id_validator),
('display_name', UserLogInfo._display_name_validator),
('email', UserLogInfo._email_validator),
]
UserLogInfo._all_fields_ = UserLogInfo._fields_
UserLogInfo._tag_to_subtype_ = {
(u'team_member',): TeamMemberLogInfo_validator,
(u'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
NonTeamMemberLogInfo._field_names_ = set([])
NonTeamMemberLogInfo._all_field_names_ = UserLogInfo._all_field_names_.union(NonTeamMemberLogInfo._field_names_)
NonTeamMemberLogInfo._fields_ = []
NonTeamMemberLogInfo._all_fields_ = UserLogInfo._all_fields_ + NonTeamMemberLogInfo._fields_
NoteAclInviteOnlyDetails._all_field_names_ = set([])
NoteAclInviteOnlyDetails._all_fields_ = []
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._access_method_validator = AccessMethodLogInfo_validator
OriginLogInfo._all_field_names_ = set([
'geo_location',
'access_method',
])
OriginLogInfo._all_fields_ = [
('geo_location', OriginLogInfo._geo_location_validator),
('access_method', OriginLogInfo._access_method_validator),
]
PaperAccessType._viewer_validator = bv.Void()
PaperAccessType._commenter_validator = bv.Void()
PaperAccessType._editor_validator = bv.Void()
PaperAccessType._other_validator = bv.Void()
PaperAccessType._tagmap = {
'viewer': PaperAccessType._viewer_validator,
'commenter': PaperAccessType._commenter_validator,
'editor': PaperAccessType._editor_validator,
'other': PaperAccessType._other_validator,
}
PaperAccessType.viewer = PaperAccessType('viewer')
PaperAccessType.commenter = PaperAccessType('commenter')
PaperAccessType.editor = PaperAccessType('editor')
PaperAccessType.other = PaperAccessType('other')
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([
'new_value',
'previous_value',
])
PaperChangeDeploymentPolicyDetails._all_fields_ = [
('new_value', PaperChangeDeploymentPolicyDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
PaperChangeMemberPolicyDetails._all_fields_ = [
('new_value', PaperChangeMemberPolicyDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
PaperChangePolicyDetails._all_fields_ = [
('new_value', PaperChangePolicyDetails._new_value_validator),
('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()
PaperContentAddToFolderDetails._all_field_names_ = set([
'event_uuid',
'target_asset_index',
'parent_asset_index',
])
PaperContentAddToFolderDetails._all_fields_ = [
('event_uuid', PaperContentAddToFolderDetails._event_uuid_validator),
('target_asset_index', PaperContentAddToFolderDetails._target_asset_index_validator),
('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._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([
'event_uuid',
'comment_text',
])
PaperDocAddCommentDetails._all_fields_ = [
('event_uuid', PaperDocAddCommentDetails._event_uuid_validator),
('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([
'event_uuid',
'access_type',
])
PaperDocChangeMemberRoleDetails._all_fields_ = [
('event_uuid', PaperDocChangeMemberRoleDetails._event_uuid_validator),
('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())
PaperDocChangeSharingPolicyDetails._all_field_names_ = set([
'event_uuid',
'public_sharing_policy',
'team_sharing_policy',
])
PaperDocChangeSharingPolicyDetails._all_fields_ = [
('event_uuid', PaperDocChangeSharingPolicyDetails._event_uuid_validator),
('public_sharing_policy', PaperDocChangeSharingPolicyDetails._public_sharing_policy_validator),
('team_sharing_policy', PaperDocChangeSharingPolicyDetails._team_sharing_policy_validator),
]
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())
PaperDocChangeSubscriptionDetails._all_field_names_ = set([
'event_uuid',
'new_subscription_level',
'previous_subscription_level',
])
PaperDocChangeSubscriptionDetails._all_fields_ = [
('event_uuid', PaperDocChangeSubscriptionDetails._event_uuid_validator),
('new_subscription_level', PaperDocChangeSubscriptionDetails._new_subscription_level_validator),
('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([
'event_uuid',
'comment_text',
])
PaperDocDeleteCommentDetails._all_fields_ = [
('event_uuid', PaperDocDeleteCommentDetails._event_uuid_validator),
('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([
'event_uuid',
'export_file_format',
])
PaperDocDownloadDetails._all_fields_ = [
('event_uuid', PaperDocDownloadDetails._event_uuid_validator),
('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([
'event_uuid',
'comment_text',
])
PaperDocEditCommentDetails._all_fields_ = [
('event_uuid', PaperDocEditCommentDetails._event_uuid_validator),
('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([
'event_uuid',
'comment_text',
])
PaperDocResolveCommentDetails._all_fields_ = [
('event_uuid', PaperDocResolveCommentDetails._event_uuid_validator),
('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([
'event_uuid',
'comment_text',
])
PaperDocUnresolveCommentDetails._all_fields_ = [
('event_uuid', PaperDocUnresolveCommentDetails._event_uuid_validator),
('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([
'doc_id',
'doc_title',
])
PaperDocumentLogInfo._all_fields_ = [
('doc_id', PaperDocumentLogInfo._doc_id_validator),
('doc_title', PaperDocumentLogInfo._doc_title_validator),
]
PaperDownloadFormat._docx_validator = bv.Void()
PaperDownloadFormat._html_validator = bv.Void()
PaperDownloadFormat._markdown_validator = bv.Void()
PaperDownloadFormat._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_ = []
PaperEnabledUsersGroupRemovalType._description_validator = bv.String()
PaperEnabledUsersGroupRemovalType._all_field_names_ = set(['description'])
PaperEnabledUsersGroupRemovalType._all_fields_ = [('description', PaperEnabledUsersGroupRemovalType._description_validator)]
PaperExternalViewAllowDetails._event_uuid_validator = bv.String()
PaperExternalViewAllowDetails._all_field_names_ = set(['event_uuid'])
PaperExternalViewAllowDetails._all_fields_ = [('event_uuid', PaperExternalViewAllowDetails._event_uuid_validator)]
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()
PaperFolderChangeSubscriptionDetails._previous_subscription_level_validator = bv.Nullable(bv.String())
PaperFolderChangeSubscriptionDetails._all_field_names_ = set([
'event_uuid',
'new_subscription_level',
'previous_subscription_level',
])
PaperFolderChangeSubscriptionDetails._all_fields_ = [
('event_uuid', PaperFolderChangeSubscriptionDetails._event_uuid_validator),
('new_subscription_level', PaperFolderChangeSubscriptionDetails._new_subscription_level_validator),
('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([
'folder_id',
'folder_name',
])
PaperFolderLogInfo._all_fields_ = [
('folder_id', PaperFolderLogInfo._folder_id_validator),
('folder_name', PaperFolderLogInfo._folder_name_validator),
]
PaperFolderTeamInviteDetails._event_uuid_validator = bv.String()
PaperFolderTeamInviteDetails._all_field_names_ = set(['event_uuid'])
PaperFolderTeamInviteDetails._all_fields_ = [('event_uuid', PaperFolderTeamInviteDetails._event_uuid_validator)]
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()
PaperMemberPolicy._other_validator = bv.Void()
PaperMemberPolicy._tagmap = {
'anyone_with_link': PaperMemberPolicy._anyone_with_link_validator,
'only_team': PaperMemberPolicy._only_team_validator,
'team_and_explicitly_shared': PaperMemberPolicy._team_and_explicitly_shared_validator,
'other': PaperMemberPolicy._other_validator,
}
PaperMemberPolicy.anyone_with_link = PaperMemberPolicy('anyone_with_link')
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()
ParticipantLogInfo._tagmap = {
'user': ParticipantLogInfo._user_validator,
'group': ParticipantLogInfo._group_validator,
'other': ParticipantLogInfo._other_validator,
}
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_ = []
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_ = []
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',
'namespace_relative',
])
PathLogInfo._all_fields_ = [
('contextual', PathLogInfo._contextual_validator),
('namespace_relative', PathLogInfo._namespace_relative_validator),
]
PermanentDeleteChangePolicyDetails._new_value_validator = ContentPermanentDeletePolicy_validator
PermanentDeleteChangePolicyDetails._previous_value_validator = bv.Nullable(ContentPermanentDeletePolicy_validator)
PermanentDeleteChangePolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
PermanentDeleteChangePolicyDetails._all_fields_ = [
('new_value', PermanentDeleteChangePolicyDetails._new_value_validator),
('previous_value', PermanentDeleteChangePolicyDetails._previous_value_validator),
]
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([
'src_asset_index',
'dest_asset_index',
])
RelocateAssetReferencesLogInfo._all_fields_ = [
('src_asset_index', RelocateAssetReferencesLogInfo._src_asset_index_validator),
('dest_asset_index', RelocateAssetReferencesLogInfo._dest_asset_index_validator),
]
ResellerLogInfo._reseller_name_validator = bv.String()
ResellerLogInfo._reseller_email_validator = EmailAddress_validator
ResellerLogInfo._all_field_names_ = set([
'reseller_name',
'reseller_email',
])
ResellerLogInfo._all_fields_ = [
('reseller_name', ResellerLogInfo._reseller_name_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())
SfAddGroupDetails._team_name_validator = bv.String()
SfAddGroupDetails._all_field_names_ = set([
'target_asset_index',
'original_folder_name',
'sharing_permission',
'team_name',
])
SfAddGroupDetails._all_fields_ = [
('target_asset_index', SfAddGroupDetails._target_asset_index_validator),
('original_folder_name', SfAddGroupDetails._original_folder_name_validator),
('sharing_permission', SfAddGroupDetails._sharing_permission_validator),
('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())
SfAllowNonMembersToViewSharedLinksDetails._all_field_names_ = set([
'target_asset_index',
'original_folder_name',
'shared_folder_type',
])
SfAllowNonMembersToViewSharedLinksDetails._all_fields_ = [
('target_asset_index', SfAllowNonMembersToViewSharedLinksDetails._target_asset_index_validator),
('original_folder_name', SfAllowNonMembersToViewSharedLinksDetails._original_folder_name_validator),
('shared_folder_type', SfAllowNonMembersToViewSharedLinksDetails._shared_folder_type_validator),
]
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)]
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()
SfTeamGrantAccessDetails._all_field_names_ = set([
'target_asset_index',
'original_folder_name',
])
SfTeamGrantAccessDetails._all_fields_ = [
('target_asset_index', SfTeamGrantAccessDetails._target_asset_index_validator),
('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())
SfTeamInviteChangeRoleDetails._previous_sharing_permission_validator = bv.Nullable(bv.String())
SfTeamInviteChangeRoleDetails._all_field_names_ = set([
'target_asset_index',
'original_folder_name',
'new_sharing_permission',
'previous_sharing_permission',
])
SfTeamInviteChangeRoleDetails._all_fields_ = [
('target_asset_index', SfTeamInviteChangeRoleDetails._target_asset_index_validator),
('original_folder_name', SfTeamInviteChangeRoleDetails._original_folder_name_validator),
('new_sharing_permission', SfTeamInviteChangeRoleDetails._new_sharing_permission_validator),
('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())
SfTeamInviteDetails._all_field_names_ = set([
'target_asset_index',
'original_folder_name',
'sharing_permission',
])
SfTeamInviteDetails._all_fields_ = [
('target_asset_index', SfTeamInviteDetails._target_asset_index_validator),
('original_folder_name', SfTeamInviteDetails._original_folder_name_validator),
('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([
'target_asset_index',
'original_folder_name',
])
SfTeamJoinDetails._all_fields_ = [
('target_asset_index', SfTeamJoinDetails._target_asset_index_validator),
('original_folder_name', SfTeamJoinDetails._original_folder_name_validator),
]
SfTeamJoinFromOobLinkDetails._target_asset_index_validator = bv.UInt64()
SfTeamJoinFromOobLinkDetails._original_folder_name_validator = bv.String()
SfTeamJoinFromOobLinkDetails._token_key_validator = bv.Nullable(bv.String())
SfTeamJoinFromOobLinkDetails._sharing_permission_validator = bv.Nullable(bv.String())
SfTeamJoinFromOobLinkDetails._all_field_names_ = set([
'target_asset_index',
'original_folder_name',
'token_key',
'sharing_permission',
])
SfTeamJoinFromOobLinkDetails._all_fields_ = [
('target_asset_index', SfTeamJoinFromOobLinkDetails._target_asset_index_validator),
('original_folder_name', SfTeamJoinFromOobLinkDetails._original_folder_name_validator),
('token_key', SfTeamJoinFromOobLinkDetails._token_key_validator),
('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([
'target_asset_index',
'original_folder_name',
])
SfTeamUninviteDetails._all_fields_ = [
('target_asset_index', SfTeamUninviteDetails._target_asset_index_validator),
('original_folder_name', SfTeamUninviteDetails._original_folder_name_validator),
]
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([
'shared_content_access_level',
'invitees',
])
SharedContentAddInviteesDetails._all_fields_ = [
('shared_content_access_level', SharedContentAddInviteesDetails._shared_content_access_level_validator),
('invitees', SharedContentAddInviteesDetails._invitees_validator),
]
SharedContentAddInviteesType._description_validator = bv.String()
SharedContentAddInviteesType._all_field_names_ = set(['description'])
SharedContentAddInviteesType._all_fields_ = [('description', SharedContentAddInviteesType._description_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)]
SharedContentAddLinkExpiryType._description_validator = bv.String()
SharedContentAddLinkExpiryType._all_field_names_ = set(['description'])
SharedContentAddLinkExpiryType._all_fields_ = [('description', SharedContentAddLinkExpiryType._description_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([
'new_value',
'previous_value',
])
SharedContentChangeDownloadsPolicyDetails._all_fields_ = [
('new_value', SharedContentChangeDownloadsPolicyDetails._new_value_validator),
('previous_value', SharedContentChangeDownloadsPolicyDetails._previous_value_validator),
]
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([
'previous_access_level',
'new_access_level',
'invitee',
])
SharedContentChangeInviteeRoleDetails._all_fields_ = [
('previous_access_level', SharedContentChangeInviteeRoleDetails._previous_access_level_validator),
('new_access_level', SharedContentChangeInviteeRoleDetails._new_access_level_validator),
('invitee', SharedContentChangeInviteeRoleDetails._invitee_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([
'new_value',
'previous_value',
])
SharedContentChangeLinkAudienceDetails._all_fields_ = [
('new_value', SharedContentChangeLinkAudienceDetails._new_value_validator),
('previous_value', SharedContentChangeLinkAudienceDetails._previous_value_validator),
]
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([
'new_value',
'previous_value',
])
SharedContentChangeLinkExpiryDetails._all_fields_ = [
('new_value', SharedContentChangeLinkExpiryDetails._new_value_validator),
('previous_value', SharedContentChangeLinkExpiryDetails._previous_value_validator),
]
SharedContentChangeLinkExpiryType._description_validator = bv.String()
SharedContentChangeLinkExpiryType._all_field_names_ = set(['description'])
SharedContentChangeLinkExpiryType._all_fields_ = [('description', SharedContentChangeLinkExpiryType._description_validator)]
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([
'previous_access_level',
'new_access_level',
])
SharedContentChangeMemberRoleDetails._all_fields_ = [
('previous_access_level', SharedContentChangeMemberRoleDetails._previous_access_level_validator),
('new_access_level', SharedContentChangeMemberRoleDetails._new_access_level_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([
'new_value',
'previous_value',
])
SharedContentChangeViewerInfoPolicyDetails._all_fields_ = [
('new_value', SharedContentChangeViewerInfoPolicyDetails._new_value_validator),
('previous_value', SharedContentChangeViewerInfoPolicyDetails._previous_value_validator),
]
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(['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._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',
'shared_content_owner',
'shared_content_access_level',
'destination_path',
])
SharedContentCopyDetails._all_fields_ = [
('shared_content_link', SharedContentCopyDetails._shared_content_link_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._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',
'shared_content_owner',
'shared_content_access_level',
])
SharedContentDownloadDetails._all_fields_ = [
('shared_content_link', SharedContentDownloadDetails._shared_content_link_validator),
('shared_content_owner', SharedContentDownloadDetails._shared_content_owner_validator),
('shared_content_access_level', SharedContentDownloadDetails._shared_content_access_level_validator),
]
SharedContentDownloadType._description_validator = bv.String()
SharedContentDownloadType._all_field_names_ = set(['description'])
SharedContentDownloadType._all_fields_ = [('description', SharedContentDownloadType._description_validator)]
SharedContentRelinquishMembershipDetails._all_field_names_ = set([])
SharedContentRelinquishMembershipDetails._all_fields_ = []
SharedContentRelinquishMembershipType._description_validator = bv.String()
SharedContentRelinquishMembershipType._all_field_names_ = set(['description'])
SharedContentRelinquishMembershipType._all_fields_ = [('description', SharedContentRelinquishMembershipType._description_validator)]
SharedContentRemoveInviteesDetails._invitees_validator = bv.List(EmailAddress_validator)
SharedContentRemoveInviteesDetails._all_field_names_ = set(['invitees'])
SharedContentRemoveInviteesDetails._all_fields_ = [('invitees', SharedContentRemoveInviteesDetails._invitees_validator)]
SharedContentRemoveInviteesType._description_validator = bv.String()
SharedContentRemoveInviteesType._all_field_names_ = set(['description'])
SharedContentRemoveInviteesType._all_fields_ = [('description', SharedContentRemoveInviteesType._description_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)]
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._shared_content_link_validator = bv.Nullable(bv.String())
SharedContentRequestAccessDetails._all_field_names_ = set(['shared_content_link'])
SharedContentRequestAccessDetails._all_fields_ = [('shared_content_link', SharedContentRequestAccessDetails._shared_content_link_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._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',
'shared_content_owner',
'shared_content_access_level',
])
SharedContentViewDetails._all_fields_ = [
('shared_content_link', SharedContentViewDetails._shared_content_link_validator),
('shared_content_owner', SharedContentViewDetails._shared_content_owner_validator),
('shared_content_access_level', SharedContentViewDetails._shared_content_access_level_validator),
]
SharedContentViewType._description_validator = bv.String()
SharedContentViewType._all_field_names_ = set(['description'])
SharedContentViewType._all_fields_ = [('description', SharedContentViewType._description_validator)]
SharedFolderChangeLinkPolicyDetails._new_value_validator = sharing.SharedLinkPolicy_validator
SharedFolderChangeLinkPolicyDetails._previous_value_validator = bv.Nullable(sharing.SharedLinkPolicy_validator)
SharedFolderChangeLinkPolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
SharedFolderChangeLinkPolicyDetails._all_fields_ = [
('new_value', SharedFolderChangeLinkPolicyDetails._new_value_validator),
('previous_value', SharedFolderChangeLinkPolicyDetails._previous_value_validator),
]
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',
])
SharedFolderChangeMembersInheritancePolicyDetails._all_fields_ = [
('new_value', SharedFolderChangeMembersInheritancePolicyDetails._new_value_validator),
('previous_value', SharedFolderChangeMembersInheritancePolicyDetails._previous_value_validator),
]
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',
])
SharedFolderChangeMembersManagementPolicyDetails._all_fields_ = [
('new_value', SharedFolderChangeMembersManagementPolicyDetails._new_value_validator),
('previous_value', SharedFolderChangeMembersManagementPolicyDetails._previous_value_validator),
]
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',
])
SharedFolderChangeMembersPolicyDetails._all_fields_ = [
('new_value', SharedFolderChangeMembersPolicyDetails._new_value_validator),
('previous_value', SharedFolderChangeMembersPolicyDetails._previous_value_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,
}
SharedFolderMembersInheritancePolicy.inherit_members = SharedFolderMembersInheritancePolicy('inherit_members')
SharedFolderMembersInheritancePolicy.dont_inherit_members = SharedFolderMembersInheritancePolicy('dont_inherit_members')
SharedFolderMembersInheritancePolicy.other = SharedFolderMembersInheritancePolicy('other')
SharedFolderMountDetails._all_field_names_ = set([])
SharedFolderMountDetails._all_fields_ = []
SharedFolderMountType._description_validator = bv.String()
SharedFolderMountType._all_field_names_ = set(['description'])
SharedFolderMountType._all_fields_ = [('description', SharedFolderMountType._description_validator)]
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',
])
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),
]
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([
'previous_owner_email',
'new_owner_email',
])
SharedFolderTransferOwnershipDetails._all_fields_ = [
('previous_owner_email', SharedFolderTransferOwnershipDetails._previous_owner_email_validator),
('new_owner_email', SharedFolderTransferOwnershipDetails._new_owner_email_validator),
]
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',
])
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([
'new_value',
'previous_value',
])
SharingChangeFolderJoinPolicyDetails._all_fields_ = [
('new_value', SharingChangeFolderJoinPolicyDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
SharingChangeLinkPolicyDetails._all_fields_ = [
('new_value', SharingChangeLinkPolicyDetails._new_value_validator),
('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([
'new_value',
'previous_value',
])
SharingChangeMemberPolicyDetails._all_fields_ = [
('new_value', SharingChangeMemberPolicyDetails._new_value_validator),
('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()
SharingFolderJoinPolicy._tagmap = {
'from_anyone': SharingFolderJoinPolicy._from_anyone_validator,
'from_team_only': SharingFolderJoinPolicy._from_team_only_validator,
'other': SharingFolderJoinPolicy._other_validator,
}
SharingFolderJoinPolicy.from_anyone = SharingFolderJoinPolicy('from_anyone')
SharingFolderJoinPolicy.from_team_only = SharingFolderJoinPolicy('from_team_only')
SharingFolderJoinPolicy.other = SharingFolderJoinPolicy('other')
SharingLinkPolicy._default_private_validator = bv.Void()
SharingLinkPolicy._default_public_validator = bv.Void()
SharingLinkPolicy._only_private_validator = bv.Void()
SharingLinkPolicy._other_validator = bv.Void()
SharingLinkPolicy._tagmap = {
'default_private': SharingLinkPolicy._default_private_validator,
'default_public': SharingLinkPolicy._default_public_validator,
'only_private': SharingLinkPolicy._only_private_validator,
'other': SharingLinkPolicy._other_validator,
}
SharingLinkPolicy.default_private = SharingLinkPolicy('default_private')
SharingLinkPolicy.default_public = SharingLinkPolicy('default_public')
SharingLinkPolicy.only_private = SharingLinkPolicy('only_private')
SharingLinkPolicy.other = SharingLinkPolicy('other')
SharingMemberPolicy._allow_validator = bv.Void()
SharingMemberPolicy._forbid_validator = bv.Void()
SharingMemberPolicy._other_validator = bv.Void()
SharingMemberPolicy._tagmap = {
'allow': SharingMemberPolicy._allow_validator,
'forbid': SharingMemberPolicy._forbid_validator,
'other': SharingMemberPolicy._other_validator,
}
SharingMemberPolicy.allow = SharingMemberPolicy('allow')
SharingMemberPolicy.forbid = SharingMemberPolicy('forbid')
SharingMemberPolicy.other = SharingMemberPolicy('other')
ShmodelGroupShareDetails._all_field_names_ = set([])
ShmodelGroupShareDetails._all_fields_ = []
ShmodelGroupShareType._description_validator = bv.String()
ShmodelGroupShareType._all_field_names_ = set(['description'])
ShmodelGroupShareType._all_fields_ = [('description', ShmodelGroupShareType._description_validator)]
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',
])
ShowcaseChangeDownloadPolicyDetails._all_fields_ = [
('new_value', ShowcaseChangeDownloadPolicyDetails._new_value_validator),
('previous_value', ShowcaseChangeDownloadPolicyDetails._previous_value_validator),
]
ShowcaseChangeDownloadPolicyType._description_validator = bv.String()
ShowcaseChangeDownloadPolicyType._all_field_names_ = set(['description'])
ShowcaseChangeDownloadPolicyType._all_fields_ = [('description', ShowcaseChangeDownloadPolicyType._description_validator)]
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),
]
ShowcaseChangeEnabledPolicyType._description_validator = bv.String()
ShowcaseChangeEnabledPolicyType._all_field_names_ = set(['description'])
ShowcaseChangeEnabledPolicyType._all_fields_ = [('description', ShowcaseChangeEnabledPolicyType._description_validator)]
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),
]
ShowcaseChangeExternalSharingPolicyType._description_validator = bv.String()
ShowcaseChangeExternalSharingPolicyType._all_field_names_ = set(['description'])
ShowcaseChangeExternalSharingPolicyType._all_fields_ = [('description', ShowcaseChangeExternalSharingPolicyType._description_validator)]
ShowcaseCreatedDetails._event_uuid_validator = bv.String()
ShowcaseCreatedDetails._all_field_names_ = set(['event_uuid'])
ShowcaseCreatedDetails._all_fields_ = [('event_uuid', ShowcaseCreatedDetails._event_uuid_validator)]
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_ = []
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',
])
SmartSyncChangePolicyDetails._all_fields_ = [
('new_value', SmartSyncChangePolicyDetails._new_value_validator),
('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([
'previous_value',
'new_value',
])
SmartSyncNotOptOutDetails._all_fields_ = [
('previous_value', SmartSyncNotOptOutDetails._previous_value_validator),
('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([
'previous_value',
'new_value',
])
SmartSyncOptOutDetails._all_fields_ = [
('previous_value', SmartSyncOptOutDetails._previous_value_validator),
('new_value', SmartSyncOptOutDetails._new_value_validator),
]
SmartSyncOptOutPolicy._default_validator = bv.Void()
SmartSyncOptOutPolicy._opted_out_validator = bv.Void()
SmartSyncOptOutPolicy._other_validator = bv.Void()
SmartSyncOptOutPolicy._tagmap = {
'default': SmartSyncOptOutPolicy._default_validator,
'opted_out': SmartSyncOptOutPolicy._opted_out_validator,
'other': SmartSyncOptOutPolicy._other_validator,
}
SmartSyncOptOutPolicy.default = SmartSyncOptOutPolicy('default')
SmartSyncOptOutPolicy.opted_out = SmartSyncOptOutPolicy('opted_out')
SmartSyncOptOutPolicy.other = SmartSyncOptOutPolicy('other')
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,
}
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()
SpaceLimitsStatus._over_quota_validator = bv.Void()
SpaceLimitsStatus._other_validator = bv.Void()
SpaceLimitsStatus._tagmap = {
'within_quota': SpaceLimitsStatus._within_quota_validator,
'near_quota': SpaceLimitsStatus._near_quota_validator,
'over_quota': SpaceLimitsStatus._over_quota_validator,
'other': SpaceLimitsStatus._other_validator,
}
SpaceLimitsStatus.within_quota = SpaceLimitsStatus('within_quota')
SpaceLimitsStatus.near_quota = SpaceLimitsStatus('near_quota')
SpaceLimitsStatus.over_quota = SpaceLimitsStatus('over_quota')
SpaceLimitsStatus.other = SpaceLimitsStatus('other')
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([
'previous_certificate_details',
'new_certificate_details',
])
SsoChangeCertDetails._all_fields_ = [
('previous_certificate_details', SsoChangeCertDetails._previous_certificate_details_validator),
('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([
'previous_value',
'new_value',
])
SsoChangeLoginUrlDetails._all_fields_ = [
('previous_value', SsoChangeLoginUrlDetails._previous_value_validator),
('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([
'previous_value',
'new_value',
])
SsoChangeLogoutUrlDetails._all_fields_ = [
('previous_value', SsoChangeLogoutUrlDetails._previous_value_validator),
('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([
'new_value',
'previous_value',
])
SsoChangePolicyDetails._all_fields_ = [
('new_value', SsoChangePolicyDetails._new_value_validator),
('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([
'previous_value',
'new_value',
])
SsoChangeSamlIdentityModeDetails._all_fields_ = [
('previous_value', SsoChangeSamlIdentityModeDetails._previous_value_validator),
('new_value', SsoChangeSamlIdentityModeDetails._new_value_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([
'start_date',
'end_date',
])
TeamActivityCreateReportDetails._all_fields_ = [
('start_date', TeamActivityCreateReportDetails._start_date_validator),
('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 = bv.Nullable(ActorLogInfo_validator)
TeamEvent._origin_validator = bv.Nullable(OriginLogInfo_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
TeamEvent._details_validator = EventDetails_validator
TeamEvent._all_field_names_ = set([
'timestamp',
'event_category',
'actor',
'origin',
'involve_non_team_member',
'context',
'participants',
'assets',
'event_type',
'details',
])
TeamEvent._all_fields_ = [
('timestamp', TeamEvent._timestamp_validator),
('event_category', TeamEvent._event_category_validator),
('actor', TeamEvent._actor_validator),
('origin', TeamEvent._origin_validator),
('involve_non_team_member', TeamEvent._involve_non_team_member_validator),
('context', TeamEvent._context_validator),
('participants', TeamEvent._participants_validator),
('assets', TeamEvent._assets_validator),
('event_type', TeamEvent._event_type_validator),
('details', TeamEvent._details_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',
])
TeamFolderChangeStatusDetails._all_fields_ = [
('new_value', TeamFolderChangeStatusDetails._new_value_validator),
('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_ = []
TeamFolderPermanentlyDeleteType._description_validator = bv.String()
TeamFolderPermanentlyDeleteType._all_field_names_ = set(['description'])
TeamFolderPermanentlyDeleteType._all_fields_ = [('description', TeamFolderPermanentlyDeleteType._description_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),
]
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_)
TeamLinkedAppLogInfo._fields_ = []
TeamLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + TeamLinkedAppLogInfo._fields_
TeamMemberLogInfo._team_member_id_validator = bv.Nullable(team_common.TeamMemberId_validator)
TeamMemberLogInfo._member_external_id_validator = bv.Nullable(team_common.MemberExternalId_validator)
TeamMemberLogInfo._field_names_ = set([
'team_member_id',
'member_external_id',
])
TeamMemberLogInfo._all_field_names_ = UserLogInfo._all_field_names_.union(TeamMemberLogInfo._field_names_)
TeamMemberLogInfo._fields_ = [
('team_member_id', TeamMemberLogInfo._team_member_id_validator),
('member_external_id', TeamMemberLogInfo._member_external_id_validator),
]
TeamMemberLogInfo._all_fields_ = UserLogInfo._all_fields_ + TeamMemberLogInfo._fields_
TeamMembershipType._free_validator = bv.Void()
TeamMembershipType._full_validator = bv.Void()
TeamMembershipType._other_validator = bv.Void()
TeamMembershipType._tagmap = {
'free': TeamMembershipType._free_validator,
'full': TeamMembershipType._full_validator,
'other': TeamMembershipType._other_validator,
}
TeamMembershipType.free = TeamMembershipType('free')
TeamMembershipType.full = TeamMembershipType('full')
TeamMembershipType.other = TeamMembershipType('other')
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([
'team_display_name',
'team_legal_name',
])
TeamName._all_fields_ = [
('team_display_name', TeamName._team_display_name_validator),
('team_legal_name', TeamName._team_legal_name_validator),
]
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([
'new_value',
'previous_value',
])
TeamProfileChangeDefaultLanguageDetails._all_fields_ = [
('new_value', TeamProfileChangeDefaultLanguageDetails._new_value_validator),
('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([
'previous_value',
'new_value',
])
TeamProfileChangeNameDetails._all_fields_ = [
('previous_value', TeamProfileChangeNameDetails._previous_value_validator),
('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([
'new_value',
'previous_value',
])
TfaChangePolicyDetails._all_fields_ = [
('new_value', TfaChangePolicyDetails._new_value_validator),
('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())
TfaChangeStatusDetails._all_field_names_ = set([
'new_value',
'previous_value',
'used_rescue_code',
])
TfaChangeStatusDetails._all_fields_ = [
('new_value', TfaChangeStatusDetails._new_value_validator),
('previous_value', TfaChangeStatusDetails._previous_value_validator),
('used_rescue_code', TfaChangeStatusDetails._used_rescue_code_validator),
]
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()
TfaConfiguration._authenticator_validator = bv.Void()
TfaConfiguration._other_validator = bv.Void()
TfaConfiguration._tagmap = {
'disabled': TfaConfiguration._disabled_validator,
'enabled': TfaConfiguration._enabled_validator,
'sms': TfaConfiguration._sms_validator,
'authenticator': TfaConfiguration._authenticator_validator,
'other': TfaConfiguration._other_validator,
}
TfaConfiguration.disabled = TfaConfiguration('disabled')
TfaConfiguration.enabled = TfaConfiguration('enabled')
TfaConfiguration.sms = TfaConfiguration('sms')
TfaConfiguration.authenticator = TfaConfiguration('authenticator')
TfaConfiguration.other = TfaConfiguration('other')
TfaRemoveBackupPhoneDetails._all_field_names_ = set([])
TfaRemoveBackupPhoneDetails._all_fields_ = []
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()
TimeUnit._hours_validator = bv.Void()
TimeUnit._days_validator = bv.Void()
TimeUnit._weeks_validator = bv.Void()
TimeUnit._months_validator = bv.Void()
TimeUnit._years_validator = bv.Void()
TimeUnit._other_validator = bv.Void()
TimeUnit._tagmap = {
'milliseconds': TimeUnit._milliseconds_validator,
'seconds': TimeUnit._seconds_validator,
'minutes': TimeUnit._minutes_validator,
'hours': TimeUnit._hours_validator,
'days': TimeUnit._days_validator,
'weeks': TimeUnit._weeks_validator,
'months': TimeUnit._months_validator,
'years': TimeUnit._years_validator,
'other': TimeUnit._other_validator,
}
TimeUnit.milliseconds = TimeUnit('milliseconds')
TimeUnit.seconds = TimeUnit('seconds')
TimeUnit.minutes = TimeUnit('minutes')
TimeUnit.hours = TimeUnit('hours')
TimeUnit.days = TimeUnit('days')
TimeUnit.weeks = TimeUnit('weeks')
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([
'new_value',
'previous_value',
])
TwoAccountChangePolicyDetails._all_fields_ = [
('new_value', TwoAccountChangePolicyDetails._new_value_validator),
('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()
TwoAccountPolicy._tagmap = {
'disabled': TwoAccountPolicy._disabled_validator,
'enabled': TwoAccountPolicy._enabled_validator,
'other': TwoAccountPolicy._other_validator,
}
TwoAccountPolicy.disabled = TwoAccountPolicy('disabled')
TwoAccountPolicy.enabled = TwoAccountPolicy('enabled')
TwoAccountPolicy.other = TwoAccountPolicy('other')
UserLinkedAppLogInfo._field_names_ = set([])
UserLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union(UserLinkedAppLogInfo._field_names_)
UserLinkedAppLogInfo._fields_ = []
UserLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + UserLinkedAppLogInfo._fields_
UserNameLogInfo._given_name_validator = bv.String()
UserNameLogInfo._surname_validator = bv.String()
UserNameLogInfo._locale_validator = bv.Nullable(bv.String())
UserNameLogInfo._all_field_names_ = set([
'given_name',
'surname',
'locale',
])
UserNameLogInfo._all_fields_ = [
('given_name', UserNameLogInfo._given_name_validator),
('surname', UserNameLogInfo._surname_validator),
('locale', UserNameLogInfo._locale_validator),
]
UserOrTeamLinkedAppLogInfo._field_names_ = set([])
UserOrTeamLinkedAppLogInfo._all_field_names_ = AppLogInfo._all_field_names_.union(UserOrTeamLinkedAppLogInfo._field_names_)
UserOrTeamLinkedAppLogInfo._fields_ = []
UserOrTeamLinkedAppLogInfo._all_fields_ = AppLogInfo._all_fields_ + UserOrTeamLinkedAppLogInfo._fields_
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_ = []
WebSessionLogInfo._all_fields_ = SessionLogInfo._all_fields_ + WebSessionLogInfo._fields_
WebSessionsChangeFixedLengthPolicyDetails._new_value_validator = bv.Nullable(WebSessionsFixedLengthPolicy_validator)
WebSessionsChangeFixedLengthPolicyDetails._previous_value_validator = bv.Nullable(WebSessionsFixedLengthPolicy_validator)
WebSessionsChangeFixedLengthPolicyDetails._all_field_names_ = set([
'new_value',
'previous_value',
])
WebSessionsChangeFixedLengthPolicyDetails._all_fields_ = [
('new_value', WebSessionsChangeFixedLengthPolicyDetails._new_value_validator),
('previous_value', WebSessionsChangeFixedLengthPolicyDetails._previous_value_validator),
]
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([
'new_value',
'previous_value',
])
WebSessionsChangeIdleLengthPolicyDetails._all_fields_ = [
('new_value', WebSessionsChangeIdleLengthPolicyDetails._new_value_validator),
('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()
WebSessionsFixedLengthPolicy._tagmap = {
'defined': WebSessionsFixedLengthPolicy._defined_validator,
'undefined': WebSessionsFixedLengthPolicy._undefined_validator,
'other': WebSessionsFixedLengthPolicy._other_validator,
}
WebSessionsFixedLengthPolicy.undefined = WebSessionsFixedLengthPolicy('undefined')
WebSessionsFixedLengthPolicy.other = WebSessionsFixedLengthPolicy('other')
WebSessionsIdleLengthPolicy._defined_validator = DurationLogInfo_validator
WebSessionsIdleLengthPolicy._undefined_validator = bv.Void()
WebSessionsIdleLengthPolicy._other_validator = bv.Void()
WebSessionsIdleLengthPolicy._tagmap = {
'defined': WebSessionsIdleLengthPolicy._defined_validator,
'undefined': WebSessionsIdleLengthPolicy._undefined_validator,
'other': WebSessionsIdleLengthPolicy._other_validator,
}
WebSessionsIdleLengthPolicy.undefined = WebSessionsIdleLengthPolicy('undefined')
WebSessionsIdleLengthPolicy.other = WebSessionsIdleLengthPolicy('other')
get_events = bb.Route(
'get_events',
1,
False,
GetTeamEventsArg_validator,
GetTeamEventsResult_validator,
GetTeamEventsError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_events_continue = bb.Route(
'get_events/continue',
1,
False,
GetTeamEventsContinueArg_validator,
GetTeamEventsResult_validator,
GetTeamEventsContinueError_validator,
{'host': u'api',
'style': u'rpc'},
)
ROUTES = {
'get_events': get_events,
'get_events/continue': get_events_continue,
}
dropbox-sdk-python-9.4.0/dropbox/team_policies.py 0000664 0000000 0000000 00000156765 13500550210 0022156 0 ustar 00root root 0000000 0000000 # -*- 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 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 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'
# Attribute is overwritten below the class definition
disabled = None
# Attribute is overwritten below the class definition
optional = None
# Attribute is overwritten below the class definition
required = None
# Attribute is overwritten below the class definition
other = None
def is_disabled(self):
"""
Check if the union tag is ``disabled``.
:rtype: bool
"""
return self._tag == 'disabled'
def is_optional(self):
"""
Check if the union tag is ``optional``.
:rtype: bool
"""
return self._tag == 'optional'
def is_required(self):
"""
Check if the union tag is ``required``.
:rtype: bool
"""
return self._tag == 'required'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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 team_policies.OfficeAddInPolicy.disabled: Office Add-In is disabled.
:ivar team_policies.OfficeAddInPolicy.enabled: Office Add-In 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(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 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'
# Attribute is overwritten below the class definition
full = None
# Attribute is overwritten below the class definition
partial = None
# Attribute is overwritten below the class definition
other = None
def is_full(self):
"""
Check if the union tag is ``full``.
:rtype: bool
"""
return self._tag == 'full'
def is_partial(self):
"""
Check if the union tag is ``partial``.
:rtype: bool
"""
return self._tag == 'partial'
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(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 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'
# 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
unspecified = 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_unspecified(self):
"""
Check if the union tag is ``unspecified``.
:rtype: bool
"""
return self._tag == 'unspecified'
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(PaperEnabledPolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PaperEnabledPolicy(%r, %r)' % (self._tag, self._value)
PaperEnabledPolicy_validator = bv.Union(PaperEnabledPolicy)
class PasswordStrengthPolicy(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.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'
# Attribute is overwritten below the class definition
minimal_requirements = None
# Attribute is overwritten below the class definition
moderate_password = None
# Attribute is overwritten below the class definition
strong_password = None
# Attribute is overwritten below the class definition
other = None
def is_minimal_requirements(self):
"""
Check if the union tag is ``minimal_requirements``.
:rtype: bool
"""
return self._tag == 'minimal_requirements'
def is_moderate_password(self):
"""
Check if the union tag is ``moderate_password``.
:rtype: bool
"""
return self._tag == 'moderate_password'
def is_strong_password(self):
"""
Check if the union tag is ``strong_password``.
:rtype: bool
"""
return self._tag == 'strong_password'
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(PasswordStrengthPolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'PasswordStrengthPolicy(%r, %r)' % (self._tag, self._value)
PasswordStrengthPolicy_validator = bv.Union(PasswordStrengthPolicy)
class RolloutMethod(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.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
# Attribute is overwritten below the class definition
unlink_all = None
# Attribute is overwritten below the class definition
unlink_most_inactive = None
# Attribute is overwritten below the class definition
add_member_to_exceptions = None
def is_unlink_all(self):
"""
Check if the union tag is ``unlink_all``.
:rtype: bool
"""
return self._tag == 'unlink_all'
def is_unlink_most_inactive(self):
"""
Check if the union tag is ``unlink_most_inactive``.
:rtype: bool
"""
return self._tag == 'unlink_most_inactive'
def is_add_member_to_exceptions(self):
"""
Check if the union tag is ``add_member_to_exceptions``.
:rtype: bool
"""
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)
RolloutMethod_validator = bv.Union(RolloutMethod)
class SharedFolderJoinPolicy(bb.Union):
"""
Policy governing which shared folders a team member can join.
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.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'
# Attribute is overwritten below the class definition
from_team_only = None
# Attribute is overwritten below the class definition
from_anyone = None
# Attribute is overwritten below the class definition
other = None
def is_from_team_only(self):
"""
Check if the union tag is ``from_team_only``.
:rtype: bool
"""
return self._tag == 'from_team_only'
def is_from_anyone(self):
"""
Check if the union tag is ``from_anyone``.
:rtype: bool
"""
return self._tag == 'from_anyone'
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(SharedFolderJoinPolicy, self)._process_custom_annotations(annotation_type, field_path, processor)
def __repr__(self):
return 'SharedFolderJoinPolicy(%r, %r)' % (self._tag, self._value)
SharedFolderJoinPolicy_validator = bv.Union(SharedFolderJoinPolicy)
class SharedFolderMemberPolicy(bb.Union):
"""
Policy governing who can be a member of a folder shared by 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_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'
# Attribute is overwritten below the class definition
team = None
# Attribute is overwritten below the class definition
anyone = None
# Attribute is overwritten below the class definition
other = None
def is_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == '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 _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)
SharedFolderMemberPolicy_validator = bv.Union(SharedFolderMemberPolicy)
class SharedLinkCreatePolicy(bb.Union):
"""
Policy governing the visibility of shared links. This policy can apply to
newly created shared links, or all shared links.
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.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'
# Attribute is overwritten below the class definition
default_public = None
# Attribute is overwritten below the class definition
default_team_only = None
# Attribute is overwritten below the class definition
team_only = None
# Attribute is overwritten below the class definition
other = None
def is_default_public(self):
"""
Check if the union tag is ``default_public``.
:rtype: bool
"""
return self._tag == 'default_public'
def is_default_team_only(self):
"""
Check if the union tag is ``default_team_only``.
:rtype: bool
"""
return self._tag == 'default_team_only'
def is_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(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 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'
# Attribute is overwritten below the class definition
disabled = None
# Attribute is overwritten below the class definition
optional = None
# Attribute is overwritten below the class definition
required = None
# Attribute is overwritten below the class definition
other = None
def is_disabled(self):
"""
Check if the union tag is ``disabled``.
:rtype: bool
"""
return self._tag == 'disabled'
def is_optional(self):
"""
Check if the union tag is ``optional``.
:rtype: bool
"""
return self._tag == 'optional'
def is_required(self):
"""
Check if the union tag is ``required``.
:rtype: bool
"""
return self._tag == 'required'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def _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(bb.Struct):
"""
Policies governing team members.
: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__ = [
'_sharing_value',
'_sharing_present',
'_emm_state_value',
'_emm_state_present',
'_office_addin_value',
'_office_addin_present',
]
_has_required_fields = True
def __init__(self,
sharing=None,
emm_state=None,
office_addin=None):
self._sharing_value = None
self._sharing_present = False
self._emm_state_value = None
self._emm_state_present = False
self._office_addin_value = None
self._office_addin_present = False
if sharing is not None:
self.sharing = sharing
if emm_state is not None:
self.emm_state = emm_state
if office_addin is not None:
self.office_addin = office_addin
@property
def sharing(self):
"""
Policies governing sharing.
:rtype: TeamSharingPolicies
"""
if self._sharing_present:
return self._sharing_value
else:
raise AttributeError("missing required field 'sharing'")
@sharing.setter
def sharing(self, val):
self._sharing_validator.validate_type_only(val)
self._sharing_value = val
self._sharing_present = True
@sharing.deleter
def sharing(self):
self._sharing_value = None
self._sharing_present = False
@property
def emm_state(self):
"""
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.
:rtype: EmmState
"""
if self._emm_state_present:
return self._emm_state_value
else:
raise AttributeError("missing required field 'emm_state'")
@emm_state.setter
def emm_state(self, val):
self._emm_state_validator.validate_type_only(val)
self._emm_state_value = val
self._emm_state_present = True
@emm_state.deleter
def emm_state(self):
self._emm_state_value = None
self._emm_state_present = False
@property
def office_addin(self):
"""
The admin policy around the Dropbox Office Add-In for this team.
:rtype: OfficeAddInPolicy
"""
if self._office_addin_present:
return self._office_addin_value
else:
raise AttributeError("missing required field 'office_addin'")
@office_addin.setter
def office_addin(self, val):
self._office_addin_validator.validate_type_only(val)
self._office_addin_value = val
self._office_addin_present = True
@office_addin.deleter
def office_addin(self):
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,
self._emm_state_value,
self._office_addin_value,
)
TeamMemberPolicies_validator = bv.Struct(TeamMemberPolicies)
class TeamSharingPolicies(bb.Struct):
"""
Policies governing sharing within and outside of the team.
: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__ = [
'_shared_folder_member_policy_value',
'_shared_folder_member_policy_present',
'_shared_folder_join_policy_value',
'_shared_folder_join_policy_present',
'_shared_link_create_policy_value',
'_shared_link_create_policy_present',
]
_has_required_fields = True
def __init__(self,
shared_folder_member_policy=None,
shared_folder_join_policy=None,
shared_link_create_policy=None):
self._shared_folder_member_policy_value = None
self._shared_folder_member_policy_present = False
self._shared_folder_join_policy_value = None
self._shared_folder_join_policy_present = False
self._shared_link_create_policy_value = None
self._shared_link_create_policy_present = False
if shared_folder_member_policy is not None:
self.shared_folder_member_policy = shared_folder_member_policy
if shared_folder_join_policy is not None:
self.shared_folder_join_policy = shared_folder_join_policy
if shared_link_create_policy is not None:
self.shared_link_create_policy = shared_link_create_policy
@property
def shared_folder_member_policy(self):
"""
Who can join folders shared by team members.
:rtype: SharedFolderMemberPolicy
"""
if self._shared_folder_member_policy_present:
return self._shared_folder_member_policy_value
else:
raise AttributeError("missing required field 'shared_folder_member_policy'")
@shared_folder_member_policy.setter
def shared_folder_member_policy(self, val):
self._shared_folder_member_policy_validator.validate_type_only(val)
self._shared_folder_member_policy_value = val
self._shared_folder_member_policy_present = True
@shared_folder_member_policy.deleter
def shared_folder_member_policy(self):
self._shared_folder_member_policy_value = None
self._shared_folder_member_policy_present = False
@property
def shared_folder_join_policy(self):
"""
Which shared folders team members can join.
:rtype: SharedFolderJoinPolicy
"""
if self._shared_folder_join_policy_present:
return self._shared_folder_join_policy_value
else:
raise AttributeError("missing required field 'shared_folder_join_policy'")
@shared_folder_join_policy.setter
def shared_folder_join_policy(self, val):
self._shared_folder_join_policy_validator.validate_type_only(val)
self._shared_folder_join_policy_value = val
self._shared_folder_join_policy_present = True
@shared_folder_join_policy.deleter
def shared_folder_join_policy(self):
self._shared_folder_join_policy_value = None
self._shared_folder_join_policy_present = False
@property
def shared_link_create_policy(self):
"""
Who can view shared links owned by team members.
:rtype: SharedLinkCreatePolicy
"""
if self._shared_link_create_policy_present:
return self._shared_link_create_policy_value
else:
raise AttributeError("missing required field 'shared_link_create_policy'")
@shared_link_create_policy.setter
def shared_link_create_policy(self, val):
self._shared_link_create_policy_validator.validate_type_only(val)
self._shared_link_create_policy_value = val
self._shared_link_create_policy_present = True
@shared_link_create_policy.deleter
def shared_link_create_policy(self):
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,
self._shared_folder_join_policy_value,
self._shared_link_create_policy_value,
)
TeamSharingPolicies_validator = bv.Struct(TeamSharingPolicies)
class TwoStepVerificationPolicy(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.TwoStepVerificationPolicy.require_tfa_enable: Enabled
require two factor authorization.
:ivar team_policies.TwoStepVerificationPolicy.require_tfa_disable: Disabled
require two factor authorization.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
require_tfa_enable = None
# Attribute is overwritten below the class definition
require_tfa_disable = None
# Attribute is overwritten below the class definition
other = None
def is_require_tfa_enable(self):
"""
Check if the union tag is ``require_tfa_enable``.
:rtype: bool
"""
return self._tag == 'require_tfa_enable'
def is_require_tfa_disable(self):
"""
Check if the union tag is ``require_tfa_disable``.
:rtype: bool
"""
return self._tag == 'require_tfa_disable'
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(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()
EmmState._other_validator = bv.Void()
EmmState._tagmap = {
'disabled': EmmState._disabled_validator,
'optional': EmmState._optional_validator,
'required': EmmState._required_validator,
'other': EmmState._other_validator,
}
EmmState.disabled = EmmState('disabled')
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()
OfficeAddInPolicy._tagmap = {
'disabled': OfficeAddInPolicy._disabled_validator,
'enabled': OfficeAddInPolicy._enabled_validator,
'other': OfficeAddInPolicy._other_validator,
}
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()
PaperDeploymentPolicy._tagmap = {
'full': PaperDeploymentPolicy._full_validator,
'partial': PaperDeploymentPolicy._partial_validator,
'other': PaperDeploymentPolicy._other_validator,
}
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()
PaperEnabledPolicy._other_validator = bv.Void()
PaperEnabledPolicy._tagmap = {
'disabled': PaperEnabledPolicy._disabled_validator,
'enabled': PaperEnabledPolicy._enabled_validator,
'unspecified': PaperEnabledPolicy._unspecified_validator,
'other': PaperEnabledPolicy._other_validator,
}
PaperEnabledPolicy.disabled = PaperEnabledPolicy('disabled')
PaperEnabledPolicy.enabled = PaperEnabledPolicy('enabled')
PaperEnabledPolicy.unspecified = PaperEnabledPolicy('unspecified')
PaperEnabledPolicy.other = PaperEnabledPolicy('other')
PasswordStrengthPolicy._minimal_requirements_validator = bv.Void()
PasswordStrengthPolicy._moderate_password_validator = bv.Void()
PasswordStrengthPolicy._strong_password_validator = bv.Void()
PasswordStrengthPolicy._other_validator = bv.Void()
PasswordStrengthPolicy._tagmap = {
'minimal_requirements': PasswordStrengthPolicy._minimal_requirements_validator,
'moderate_password': PasswordStrengthPolicy._moderate_password_validator,
'strong_password': PasswordStrengthPolicy._strong_password_validator,
'other': PasswordStrengthPolicy._other_validator,
}
PasswordStrengthPolicy.minimal_requirements = PasswordStrengthPolicy('minimal_requirements')
PasswordStrengthPolicy.moderate_password = PasswordStrengthPolicy('moderate_password')
PasswordStrengthPolicy.strong_password = PasswordStrengthPolicy('strong_password')
PasswordStrengthPolicy.other = PasswordStrengthPolicy('other')
RolloutMethod._unlink_all_validator = bv.Void()
RolloutMethod._unlink_most_inactive_validator = bv.Void()
RolloutMethod._add_member_to_exceptions_validator = bv.Void()
RolloutMethod._tagmap = {
'unlink_all': RolloutMethod._unlink_all_validator,
'unlink_most_inactive': RolloutMethod._unlink_most_inactive_validator,
'add_member_to_exceptions': RolloutMethod._add_member_to_exceptions_validator,
}
RolloutMethod.unlink_all = RolloutMethod('unlink_all')
RolloutMethod.unlink_most_inactive = RolloutMethod('unlink_most_inactive')
RolloutMethod.add_member_to_exceptions = RolloutMethod('add_member_to_exceptions')
SharedFolderJoinPolicy._from_team_only_validator = bv.Void()
SharedFolderJoinPolicy._from_anyone_validator = bv.Void()
SharedFolderJoinPolicy._other_validator = bv.Void()
SharedFolderJoinPolicy._tagmap = {
'from_team_only': SharedFolderJoinPolicy._from_team_only_validator,
'from_anyone': SharedFolderJoinPolicy._from_anyone_validator,
'other': SharedFolderJoinPolicy._other_validator,
}
SharedFolderJoinPolicy.from_team_only = SharedFolderJoinPolicy('from_team_only')
SharedFolderJoinPolicy.from_anyone = SharedFolderJoinPolicy('from_anyone')
SharedFolderJoinPolicy.other = SharedFolderJoinPolicy('other')
SharedFolderMemberPolicy._team_validator = bv.Void()
SharedFolderMemberPolicy._anyone_validator = bv.Void()
SharedFolderMemberPolicy._other_validator = bv.Void()
SharedFolderMemberPolicy._tagmap = {
'team': SharedFolderMemberPolicy._team_validator,
'anyone': SharedFolderMemberPolicy._anyone_validator,
'other': SharedFolderMemberPolicy._other_validator,
}
SharedFolderMemberPolicy.team = SharedFolderMemberPolicy('team')
SharedFolderMemberPolicy.anyone = SharedFolderMemberPolicy('anyone')
SharedFolderMemberPolicy.other = SharedFolderMemberPolicy('other')
SharedLinkCreatePolicy._default_public_validator = bv.Void()
SharedLinkCreatePolicy._default_team_only_validator = bv.Void()
SharedLinkCreatePolicy._team_only_validator = bv.Void()
SharedLinkCreatePolicy._other_validator = bv.Void()
SharedLinkCreatePolicy._tagmap = {
'default_public': SharedLinkCreatePolicy._default_public_validator,
'default_team_only': SharedLinkCreatePolicy._default_team_only_validator,
'team_only': SharedLinkCreatePolicy._team_only_validator,
'other': SharedLinkCreatePolicy._other_validator,
}
SharedLinkCreatePolicy.default_public = SharedLinkCreatePolicy('default_public')
SharedLinkCreatePolicy.default_team_only = SharedLinkCreatePolicy('default_team_only')
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()
SsoPolicy._other_validator = bv.Void()
SsoPolicy._tagmap = {
'disabled': SsoPolicy._disabled_validator,
'optional': SsoPolicy._optional_validator,
'required': SsoPolicy._required_validator,
'other': SsoPolicy._other_validator,
}
SsoPolicy.disabled = SsoPolicy('disabled')
SsoPolicy.optional = SsoPolicy('optional')
SsoPolicy.required = SsoPolicy('required')
SsoPolicy.other = SsoPolicy('other')
TeamMemberPolicies._sharing_validator = TeamSharingPolicies_validator
TeamMemberPolicies._emm_state_validator = EmmState_validator
TeamMemberPolicies._office_addin_validator = OfficeAddInPolicy_validator
TeamMemberPolicies._all_field_names_ = set([
'sharing',
'emm_state',
'office_addin',
])
TeamMemberPolicies._all_fields_ = [
('sharing', TeamMemberPolicies._sharing_validator),
('emm_state', TeamMemberPolicies._emm_state_validator),
('office_addin', TeamMemberPolicies._office_addin_validator),
]
TeamSharingPolicies._shared_folder_member_policy_validator = SharedFolderMemberPolicy_validator
TeamSharingPolicies._shared_folder_join_policy_validator = SharedFolderJoinPolicy_validator
TeamSharingPolicies._shared_link_create_policy_validator = SharedLinkCreatePolicy_validator
TeamSharingPolicies._all_field_names_ = set([
'shared_folder_member_policy',
'shared_folder_join_policy',
'shared_link_create_policy',
])
TeamSharingPolicies._all_fields_ = [
('shared_folder_member_policy', TeamSharingPolicies._shared_folder_member_policy_validator),
('shared_folder_join_policy', TeamSharingPolicies._shared_folder_join_policy_validator),
('shared_link_create_policy', TeamSharingPolicies._shared_link_create_policy_validator),
]
TwoStepVerificationPolicy._require_tfa_enable_validator = bv.Void()
TwoStepVerificationPolicy._require_tfa_disable_validator = bv.Void()
TwoStepVerificationPolicy._other_validator = bv.Void()
TwoStepVerificationPolicy._tagmap = {
'require_tfa_enable': TwoStepVerificationPolicy._require_tfa_enable_validator,
'require_tfa_disable': TwoStepVerificationPolicy._require_tfa_disable_validator,
'other': TwoStepVerificationPolicy._other_validator,
}
TwoStepVerificationPolicy.require_tfa_enable = TwoStepVerificationPolicy('require_tfa_enable')
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 = {
}
dropbox-sdk-python-9.4.0/dropbox/trusted-certs.crt 0000664 0000000 0000000 00000234030 13500550210 0022267 0 ustar 00root root 0000000 0000000 # DigiCert Assured ID Root CA.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
# Validity
# Not Before: Nov 10 00:00:00 2006 GMT
# Not After : Nov 10 00:00:00 2031 GMT
# Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:ad:0e:15:ce:e4:43:80:5c:b1:87:f3:b7:60:f9:
# 71:12:a5:ae:dc:26:94:88:aa:f4:ce:f5:20:39:28:
# 58:60:0c:f8:80:da:a9:15:95:32:61:3c:b5:b1:28:
# 84:8a:8a:dc:9f:0a:0c:83:17:7a:8f:90:ac:8a:e7:
# 79:53:5c:31:84:2a:f6:0f:98:32:36:76:cc:de:dd:
# 3c:a8:a2:ef:6a:fb:21:f2:52:61:df:9f:20:d7:1f:
# e2:b1:d9:fe:18:64:d2:12:5b:5f:f9:58:18:35:bc:
# 47:cd:a1:36:f9:6b:7f:d4:b0:38:3e:c1:1b:c3:8c:
# 33:d9:d8:2f:18:fe:28:0f:b3:a7:83:d6:c3:6e:44:
# c0:61:35:96:16:fe:59:9c:8b:76:6d:d7:f1:a2:4b:
# 0d:2b:ff:0b:72:da:9e:60:d0:8e:90:35:c6:78:55:
# 87:20:a1:cf:e5:6d:0a:c8:49:7c:31:98:33:6c:22:
# e9:87:d0:32:5a:a2:ba:13:82:11:ed:39:17:9d:99:
# 3a:72:a1:e6:fa:a4:d9:d5:17:31:75:ae:85:7d:22:
# ae:3f:01:46:86:f6:28:79:c8:b1:da:e4:57:17:c4:
# 7e:1c:0e:b0:b4:92:a6:56:b3:bd:b2:97:ed:aa:a7:
# f0:b7:c5:a8:3f:95:16:d0:ff:a1:96:eb:08:5f:18:
# 77:4f
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Key Usage: critical
# Digital Signature, Certificate Sign, CRL Sign
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Subject Key Identifier:
# 45:EB:A2:AF:F4:92:CB:82:31:2D:51:8B:A7:A7:21:9D:F3:6D:C8:0F
# X509v3 Authority Key Identifier:
# keyid:45:EB:A2:AF:F4:92:CB:82:31:2D:51:8B:A7:A7:21:9D:F3:6D:C8:0F
#
# Signature Algorithm: sha1WithRSAEncryption
# a2:0e:bc:df:e2:ed:f0:e3:72:73:7a:64:94:bf:f7:72:66:d8:
# 32:e4:42:75:62:ae:87:eb:f2:d5:d9:de:56:b3:9f:cc:ce:14:
# 28:b9:0d:97:60:5c:12:4c:58:e4:d3:3d:83:49:45:58:97:35:
# 69:1a:a8:47:ea:56:c6:79:ab:12:d8:67:81:84:df:7f:09:3c:
# 94:e6:b8:26:2c:20:bd:3d:b3:28:89:f7:5f:ff:22:e2:97:84:
# 1f:e9:65:ef:87:e0:df:c1:67:49:b3:5d:eb:b2:09:2a:eb:26:
# ed:78:be:7d:3f:2b:f3:b7:26:35:6d:5f:89:01:b6:49:5b:9f:
# 01:05:9b:ab:3d:25:c1:cc:b6:7f:c2:f1:6f:86:c6:fa:64:68:
# eb:81:2d:94:eb:42:b7:fa:8c:1e:dd:62:f1:be:50:67:b7:6c:
# bd:f3:f1:1f:6b:0c:36:07:16:7f:37:7c:a9:5b:6d:7a:f1:12:
# 46:60:83:d7:27:04:be:4b:ce:97:be:c3:67:2a:68:11:df:80:
# e7:0c:33:66:bf:13:0d:14:6e:f3:7f:1f:63:10:1e:fa:8d:1b:
# 25:6d:6c:8f:a5:b7:61:01:b1:d2:a3:26:a1:10:71:9d:ad:e2:
# c3:f9:c3:99:51:b7:2b:07:08:ce:2e:e6:50:b2:a7:fa:0a:45:
# 2f:a2:f0:f2
-----BEGIN CERTIFICATE-----
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
-----END CERTIFICATE-----
# DigiCert Global Root CA.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
# Validity
# Not Before: Nov 10 00:00:00 2006 GMT
# Not After : Nov 10 00:00:00 2031 GMT
# Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:e2:3b:e1:11:72:de:a8:a4:d3:a3:57:aa:50:a2:
# 8f:0b:77:90:c9:a2:a5:ee:12:ce:96:5b:01:09:20:
# cc:01:93:a7:4e:30:b7:53:f7:43:c4:69:00:57:9d:
# e2:8d:22:dd:87:06:40:00:81:09:ce:ce:1b:83:bf:
# df:cd:3b:71:46:e2:d6:66:c7:05:b3:76:27:16:8f:
# 7b:9e:1e:95:7d:ee:b7:48:a3:08:da:d6:af:7a:0c:
# 39:06:65:7f:4a:5d:1f:bc:17:f8:ab:be:ee:28:d7:
# 74:7f:7a:78:99:59:85:68:6e:5c:23:32:4b:bf:4e:
# c0:e8:5a:6d:e3:70:bf:77:10:bf:fc:01:f6:85:d9:
# a8:44:10:58:32:a9:75:18:d5:d1:a2:be:47:e2:27:
# 6a:f4:9a:33:f8:49:08:60:8b:d4:5f:b4:3a:84:bf:
# a1:aa:4a:4c:7d:3e:cf:4f:5f:6c:76:5e:a0:4b:37:
# 91:9e:dc:22:e6:6d:ce:14:1a:8e:6a:cb:fe:cd:b3:
# 14:64:17:c7:5b:29:9e:32:bf:f2:ee:fa:d3:0b:42:
# d4:ab:b7:41:32:da:0c:d4:ef:f8:81:d5:bb:8d:58:
# 3f:b5:1b:e8:49:28:a2:70:da:31:04:dd:f7:b2:16:
# f2:4c:0a:4e:07:a8:ed:4a:3d:5e:b5:7f:a3:90:c3:
# af:27
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Key Usage: critical
# Digital Signature, Certificate Sign, CRL Sign
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Subject Key Identifier:
# 03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
# X509v3 Authority Key Identifier:
# keyid:03:DE:50:35:56:D1:4C:BB:66:F0:A3:E2:1B:1B:C3:97:B2:3D:D1:55
#
# Signature Algorithm: sha1WithRSAEncryption
# cb:9c:37:aa:48:13:12:0a:fa:dd:44:9c:4f:52:b0:f4:df:ae:
# 04:f5:79:79:08:a3:24:18:fc:4b:2b:84:c0:2d:b9:d5:c7:fe:
# f4:c1:1f:58:cb:b8:6d:9c:7a:74:e7:98:29:ab:11:b5:e3:70:
# a0:a1:cd:4c:88:99:93:8c:91:70:e2:ab:0f:1c:be:93:a9:ff:
# 63:d5:e4:07:60:d3:a3:bf:9d:5b:09:f1:d5:8e:e3:53:f4:8e:
# 63:fa:3f:a7:db:b4:66:df:62:66:d6:d1:6e:41:8d:f2:2d:b5:
# ea:77:4a:9f:9d:58:e2:2b:59:c0:40:23:ed:2d:28:82:45:3e:
# 79:54:92:26:98:e0:80:48:a8:37:ef:f0:d6:79:60:16:de:ac:
# e8:0e:cd:6e:ac:44:17:38:2f:49:da:e1:45:3e:2a:b9:36:53:
# cf:3a:50:06:f7:2e:e8:c4:57:49:6c:61:21:18:d5:04:ad:78:
# 3c:2c:3a:80:6b:a7:eb:af:15:14:e9:d8:89:c1:b9:38:6c:e2:
# 91:6c:8a:ff:64:b9:77:25:57:30:c0:1b:24:a3:e1:dc:e9:df:
# 47:7c:b5:b4:24:08:05:30:ec:2d:bd:0b:bf:45:bf:50:b9:a9:
# f3:eb:98:01:12:ad:c8:88:c6:98:34:5f:8d:0a:3c:c6:e9:d5:
# 95:95:6d:de
-----BEGIN CERTIFICATE-----
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
-----END CERTIFICATE-----
# DigiCert High Assurance EV Root CA.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
# Validity
# Not Before: Nov 10 00:00:00 2006 GMT
# Not After : Nov 10 00:00:00 2031 GMT
# Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:c6:cc:e5:73:e6:fb:d4:bb:e5:2d:2d:32:a6:df:
# e5:81:3f:c9:cd:25:49:b6:71:2a:c3:d5:94:34:67:
# a2:0a:1c:b0:5f:69:a6:40:b1:c4:b7:b2:8f:d0:98:
# a4:a9:41:59:3a:d3:dc:94:d6:3c:db:74:38:a4:4a:
# cc:4d:25:82:f7:4a:a5:53:12:38:ee:f3:49:6d:71:
# 91:7e:63:b6:ab:a6:5f:c3:a4:84:f8:4f:62:51:be:
# f8:c5:ec:db:38:92:e3:06:e5:08:91:0c:c4:28:41:
# 55:fb:cb:5a:89:15:7e:71:e8:35:bf:4d:72:09:3d:
# be:3a:38:50:5b:77:31:1b:8d:b3:c7:24:45:9a:a7:
# ac:6d:00:14:5a:04:b7:ba:13:eb:51:0a:98:41:41:
# 22:4e:65:61:87:81:41:50:a6:79:5c:89:de:19:4a:
# 57:d5:2e:e6:5d:1c:53:2c:7e:98:cd:1a:06:16:a4:
# 68:73:d0:34:04:13:5c:a1:71:d3:5a:7c:55:db:5e:
# 64:e1:37:87:30:56:04:e5:11:b4:29:80:12:f1:79:
# 39:88:a2:02:11:7c:27:66:b7:88:b7:78:f2:ca:0a:
# a8:38:ab:0a:64:c2:bf:66:5d:95:84:c1:a1:25:1e:
# 87:5d:1a:50:0b:20:12:cc:41:bb:6e:0b:51:38:b8:
# 4b:cb
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Key Usage: critical
# Digital Signature, Certificate Sign, CRL Sign
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Subject Key Identifier:
# B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
# X509v3 Authority Key Identifier:
# keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
#
# Signature Algorithm: sha1WithRSAEncryption
# 1c:1a:06:97:dc:d7:9c:9f:3c:88:66:06:08:57:21:db:21:47:
# f8:2a:67:aa:bf:18:32:76:40:10:57:c1:8a:f3:7a:d9:11:65:
# 8e:35:fa:9e:fc:45:b5:9e:d9:4c:31:4b:b8:91:e8:43:2c:8e:
# b3:78:ce:db:e3:53:79:71:d6:e5:21:94:01:da:55:87:9a:24:
# 64:f6:8a:66:cc:de:9c:37:cd:a8:34:b1:69:9b:23:c8:9e:78:
# 22:2b:70:43:e3:55:47:31:61:19:ef:58:c5:85:2f:4e:30:f6:
# a0:31:16:23:c8:e7:e2:65:16:33:cb:bf:1a:1b:a0:3d:f8:ca:
# 5e:8b:31:8b:60:08:89:2d:0c:06:5c:52:b7:c4:f9:0a:98:d1:
# 15:5f:9f:12:be:7c:36:63:38:bd:44:a4:7f:e4:26:2b:0a:c4:
# 97:69:0d:e9:8c:e2:c0:10:57:b8:c8:76:12:91:55:f2:48:69:
# d8:bc:2a:02:5b:0f:44:d4:20:31:db:f4:ba:70:26:5d:90:60:
# 9e:bc:4b:17:09:2f:b4:cb:1e:43:68:c9:07:27:c1:d2:5c:f7:
# ea:21:b9:68:12:9c:3c:9c:bf:9e:fc:80:5c:9b:63:cd:ec:47:
# aa:25:27:67:a0:37:f3:00:82:7d:54:d7:a9:f8:e9:2e:13:a3:
# 77:e8:1f:4a
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
+OkuE6N36B9K
-----END CERTIFICATE-----
# Entrust Root Certification Authority - EC1.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# a6:8b:79:29:00:00:00:00:50:d0:91:f9
# Signature Algorithm: ecdsa-with-SHA384
# Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
# Validity
# Not Before: Dec 18 15:25:36 2012 GMT
# Not After : Dec 18 15:55:36 2037 GMT
# Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
# Subject Public Key Info:
# Public Key Algorithm: id-ecPublicKey
# Public-Key: (384 bit)
# pub:
# 04:84:13:c9:d0:ba:6d:41:7b:e2:6c:d0:eb:55:5f:
# 66:02:1a:24:f4:5b:89:69:47:e3:b8:c2:7d:f1:f2:
# 02:c5:9f:a0:f6:5b:d5:8b:06:19:86:4f:53:10:6d:
# 07:24:27:a1:a0:f8:d5:47:19:61:4c:7d:ca:93:27:
# ea:74:0c:ef:6f:96:09:fe:63:ec:70:5d:36:ad:67:
# 77:ae:c9:9d:7c:55:44:3a:a2:63:51:1f:f5:e3:62:
# d4:a9:47:07:3e:cc:20
# ASN1 OID: secp384r1
# X509v3 extensions:
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Subject Key Identifier:
# B7:63:E7:1A:DD:8D:E9:08:A6:55:83:A4:E0:6A:50:41:65:11:42:49
# Signature Algorithm: ecdsa-with-SHA384
# 30:64:02:30:61:79:d8:e5:42:47:df:1c:ae:53:99:17:b6:6f:
# 1c:7d:e1:bf:11:94:d1:03:88:75:e4:8d:89:a4:8a:77:46:de:
# 6d:61:ef:02:f5:fb:b5:df:cc:fe:4e:ff:fe:a9:e6:a7:02:30:
# 5b:99:d7:85:37:06:b5:7b:08:fd:eb:27:8b:4a:94:f9:e1:fa:
# a7:8e:26:08:e8:7c:92:68:6d:73:d8:6f:26:ac:21:02:b8:99:
# b7:26:41:5b:25:60:ae:d0:48:1a:ee:06
-----BEGIN CERTIFICATE-----
MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG
A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3
d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu
dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq
RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy
MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD
VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g
Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi
A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt
ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH
Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC
R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX
hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
-----END CERTIFICATE-----
# Entrust Root Certification Authority - G2.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 1246989352 (0x4a538c28)
# Signature Algorithm: sha256WithRSAEncryption
# Issuer: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
# Validity
# Not Before: Jul 7 17:25:54 2009 GMT
# Not After : Dec 7 17:55:54 2030 GMT
# Subject: C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:ba:84:b6:72:db:9e:0c:6b:e2:99:e9:30:01:a7:
# 76:ea:32:b8:95:41:1a:c9:da:61:4e:58:72:cf:fe:
# f6:82:79:bf:73:61:06:0a:a5:27:d8:b3:5f:d3:45:
# 4e:1c:72:d6:4e:32:f2:72:8a:0f:f7:83:19:d0:6a:
# 80:80:00:45:1e:b0:c7:e7:9a:bf:12:57:27:1c:a3:
# 68:2f:0a:87:bd:6a:6b:0e:5e:65:f3:1c:77:d5:d4:
# 85:8d:70:21:b4:b3:32:e7:8b:a2:d5:86:39:02:b1:
# b8:d2:47:ce:e4:c9:49:c4:3b:a7:de:fb:54:7d:57:
# be:f0:e8:6e:c2:79:b2:3a:0b:55:e2:50:98:16:32:
# 13:5c:2f:78:56:c1:c2:94:b3:f2:5a:e4:27:9a:9f:
# 24:d7:c6:ec:d0:9b:25:82:e3:cc:c2:c4:45:c5:8c:
# 97:7a:06:6b:2a:11:9f:a9:0a:6e:48:3b:6f:db:d4:
# 11:19:42:f7:8f:07:bf:f5:53:5f:9c:3e:f4:17:2c:
# e6:69:ac:4e:32:4c:62:77:ea:b7:e8:e5:bb:34:bc:
# 19:8b:ae:9c:51:e7:b7:7e:b5:53:b1:33:22:e5:6d:
# cf:70:3c:1a:fa:e2:9b:67:b6:83:f4:8d:a5:af:62:
# 4c:4d:e0:58:ac:64:34:12:03:f8:b6:8d:94:63:24:
# a4:71
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Subject Key Identifier:
# 6A:72:26:7A:D0:1E:EF:7D:E7:3B:69:51:D4:6C:8D:9F:90:12:66:AB
# Signature Algorithm: sha256WithRSAEncryption
# 79:9f:1d:96:c6:b6:79:3f:22:8d:87:d3:87:03:04:60:6a:6b:
# 9a:2e:59:89:73:11:ac:43:d1:f5:13:ff:8d:39:2b:c0:f2:bd:
# 4f:70:8c:a9:2f:ea:17:c4:0b:54:9e:d4:1b:96:98:33:3c:a8:
# ad:62:a2:00:76:ab:59:69:6e:06:1d:7e:c4:b9:44:8d:98:af:
# 12:d4:61:db:0a:19:46:47:f3:eb:f7:63:c1:40:05:40:a5:d2:
# b7:f4:b5:9a:36:bf:a9:88:76:88:04:55:04:2b:9c:87:7f:1a:
# 37:3c:7e:2d:a5:1a:d8:d4:89:5e:ca:bd:ac:3d:6c:d8:6d:af:
# d5:f3:76:0f:cd:3b:88:38:22:9d:6c:93:9a:c4:3d:bf:82:1b:
# 65:3f:a6:0f:5d:aa:fc:e5:b2:15:ca:b5:ad:c6:bc:3d:d0:84:
# e8:ea:06:72:b0:4d:39:32:78:bf:3e:11:9c:0b:a4:9d:9a:21:
# f3:f0:9b:0b:30:78:db:c1:dc:87:43:fe:bc:63:9a:ca:c5:c2:
# 1c:c9:c7:8d:ff:3b:12:58:08:e6:b6:3d:ec:7a:2c:4e:fb:83:
# 96:ce:0c:3c:69:87:54:73:a4:73:c2:93:ff:51:10:ac:15:54:
# 01:d8:fc:05:b1:89:a1:7f:74:83:9a:49:d7:dc:4e:7b:8a:48:
# 6f:8b:45:f6
-----BEGIN CERTIFICATE-----
MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50
cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs
IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz
dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy
NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu
dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt
dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0
aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T
RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN
cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW
wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1
U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0
jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN
BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/
jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v
1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R
nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH
VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==
-----END CERTIFICATE-----
# Entrust Root Certification Authority.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 1164660820 (0x456b5054)
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
# Validity
# Not Before: Nov 27 20:23:42 2006 GMT
# Not After : Nov 27 20:53:42 2026 GMT
# Subject: C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:b6:95:b6:43:42:fa:c6:6d:2a:6f:48:df:94:4c:
# 39:57:05:ee:c3:79:11:41:68:36:ed:ec:fe:9a:01:
# 8f:a1:38:28:fc:f7:10:46:66:2e:4d:1e:1a:b1:1a:
# 4e:c6:d1:c0:95:88:b0:c9:ff:31:8b:33:03:db:b7:
# 83:7b:3e:20:84:5e:ed:b2:56:28:a7:f8:e0:b9:40:
# 71:37:c5:cb:47:0e:97:2a:68:c0:22:95:62:15:db:
# 47:d9:f5:d0:2b:ff:82:4b:c9:ad:3e:de:4c:db:90:
# 80:50:3f:09:8a:84:00:ec:30:0a:3d:18:cd:fb:fd:
# 2a:59:9a:23:95:17:2c:45:9e:1f:6e:43:79:6d:0c:
# 5c:98:fe:48:a7:c5:23:47:5c:5e:fd:6e:e7:1e:b4:
# f6:68:45:d1:86:83:5b:a2:8a:8d:b1:e3:29:80:fe:
# 25:71:88:ad:be:bc:8f:ac:52:96:4b:aa:51:8d:e4:
# 13:31:19:e8:4e:4d:9f:db:ac:b3:6a:d5:bc:39:54:
# 71:ca:7a:7a:7f:90:dd:7d:1d:80:d9:81:bb:59:26:
# c2:11:fe:e6:93:e2:f7:80:e4:65:fb:34:37:0e:29:
# 80:70:4d:af:38:86:2e:9e:7f:57:af:9e:17:ae:eb:
# 1c:cb:28:21:5f:b6:1c:d8:e7:a2:04:22:f9:d3:da:
# d8:cb
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Private Key Usage Period:
# Not Before: Nov 27 20:23:42 2006 GMT, Not After: Nov 27 20:53:42 2026 GMT
# X509v3 Authority Key Identifier:
# keyid:68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D
#
# X509v3 Subject Key Identifier:
# 68:90:E4:67:A4:A6:53:80:C7:86:66:A4:F1:F7:4B:43:FB:84:BD:6D
# 1.2.840.113533.7.65.0:
# 0...V7.1:4.0....
# Signature Algorithm: sha1WithRSAEncryption
# 93:d4:30:b0:d7:03:20:2a:d0:f9:63:e8:91:0c:05:20:a9:5f:
# 19:ca:7b:72:4e:d4:b1:db:d0:96:fb:54:5a:19:2c:0c:08:f7:
# b2:bc:85:a8:9d:7f:6d:3b:52:b3:2a:db:e7:d4:84:8c:63:f6:
# 0f:cb:26:01:91:50:6c:f4:5f:14:e2:93:74:c0:13:9e:30:3a:
# 50:e3:b4:60:c5:1c:f0:22:44:8d:71:47:ac:c8:1a:c9:e9:9b:
# 9a:00:60:13:ff:70:7e:5f:11:4d:49:1b:b3:15:52:7b:c9:54:
# da:bf:9d:95:af:6b:9a:d8:9e:e9:f1:e4:43:8d:e2:11:44:3a:
# bf:af:bd:83:42:73:52:8b:aa:bb:a7:29:cf:f5:64:1c:0a:4d:
# d1:bc:aa:ac:9f:2a:d0:ff:7f:7f:da:7d:ea:b1:ed:30:25:c1:
# 84:da:34:d2:5b:78:83:56:ec:9c:36:c3:26:e2:11:f6:67:49:
# 1d:92:ab:8c:fb:eb:ff:7a:ee:85:4a:a7:50:80:f0:a7:5c:4a:
# 94:2e:5f:05:99:3c:52:41:e0:cd:b4:63:cf:01:43:ba:9c:83:
# dc:8f:60:3b:f3:5a:b4:b4:7b:ae:da:0b:90:38:75:ef:81:1d:
# 66:d2:f7:57:70:36:b3:bf:fc:28:af:71:25:85:5b:13:fe:1e:
# 7f:5a:b4:3c
-----BEGIN CERTIFICATE-----
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
0vdXcDazv/wor3ElhVsT/h5/WrQ8
-----END CERTIFICATE-----
# Entrust.net Certification Authority (2048).pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 946069240 (0x3863def8)
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
# Validity
# Not Before: Dec 24 17:50:51 1999 GMT
# Not After : Jul 24 14:15:12 2029 GMT
# Subject: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:ad:4d:4b:a9:12:86:b2:ea:a3:20:07:15:16:64:
# 2a:2b:4b:d1:bf:0b:4a:4d:8e:ed:80:76:a5:67:b7:
# 78:40:c0:73:42:c8:68:c0:db:53:2b:dd:5e:b8:76:
# 98:35:93:8b:1a:9d:7c:13:3a:0e:1f:5b:b7:1e:cf:
# e5:24:14:1e:b1:81:a9:8d:7d:b8:cc:6b:4b:03:f1:
# 02:0c:dc:ab:a5:40:24:00:7f:74:94:a1:9d:08:29:
# b3:88:0b:f5:87:77:9d:55:cd:e4:c3:7e:d7:6a:64:
# ab:85:14:86:95:5b:97:32:50:6f:3d:c8:ba:66:0c:
# e3:fc:bd:b8:49:c1:76:89:49:19:fd:c0:a8:bd:89:
# a3:67:2f:c6:9f:bc:71:19:60:b8:2d:e9:2c:c9:90:
# 76:66:7b:94:e2:af:78:d6:65:53:5d:3c:d6:9c:b2:
# cf:29:03:f9:2f:a4:50:b2:d4:48:ce:05:32:55:8a:
# fd:b2:64:4c:0e:e4:98:07:75:db:7f:df:b9:08:55:
# 60:85:30:29:f9:7b:48:a4:69:86:e3:35:3f:1e:86:
# 5d:7a:7a:15:bd:ef:00:8e:15:22:54:17:00:90:26:
# 93:bc:0e:49:68:91:bf:f8:47:d3:9d:95:42:c1:0e:
# 4d:df:6f:26:cf:c3:18:21:62:66:43:70:d6:d5:c0:
# 07:e1
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Subject Key Identifier:
# 55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70
# Signature Algorithm: sha1WithRSAEncryption
# 3b:9b:8f:56:9b:30:e7:53:99:7c:7a:79:a7:4d:97:d7:19:95:
# 90:fb:06:1f:ca:33:7c:46:63:8f:96:66:24:fa:40:1b:21:27:
# ca:e6:72:73:f2:4f:fe:31:99:fd:c8:0c:4c:68:53:c6:80:82:
# 13:98:fa:b6:ad:da:5d:3d:f1:ce:6e:f6:15:11:94:82:0c:ee:
# 3f:95:af:11:ab:0f:d7:2f:de:1f:03:8f:57:2c:1e:c9:bb:9a:
# 1a:44:95:eb:18:4f:a6:1f:cd:7d:57:10:2f:9b:04:09:5a:84:
# b5:6e:d8:1d:3a:e1:d6:9e:d1:6c:79:5e:79:1c:14:c5:e3:d0:
# 4c:93:3b:65:3c:ed:df:3d:be:a6:e5:95:1a:c3:b5:19:c3:bd:
# 5e:5b:bb:ff:23:ef:68:19:cb:12:93:27:5c:03:2d:6f:30:d0:
# 1e:b6:1a:ac:de:5a:f7:d1:aa:a8:27:a6:fe:79:81:c4:79:99:
# 33:57:ba:12:b0:a9:e0:42:6c:93:ca:56:de:fe:6d:84:0b:08:
# 8b:7e:8d:ea:d7:98:21:c6:f3:e7:3c:79:2f:5e:9c:d1:4c:15:
# 8d:e1:ec:22:37:cc:9a:43:0b:97:dc:80:90:8d:b3:67:9b:6f:
# 48:08:15:56:cf:bf:f1:2b:7c:5e:9a:76:e9:59:90:c5:7c:83:
# 35:11:65:51
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
fF6adulZkMV8gzURZVE=
-----END CERTIFICATE-----
# GeoTrust Global CA.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 144470 (0x23456)
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
# Validity
# Not Before: May 21 04:00:00 2002 GMT
# Not After : May 21 04:00:00 2022 GMT
# Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df:
# 3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8:
# 43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29:
# bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4:
# 60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3:
# ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92:
# 2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d:
# 80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14:
# 15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd:
# d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6:
# d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5:
# 5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39:
# 19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05:
# 9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2:
# fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32:
# eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07:
# 36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b:
# e4:f9
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Subject Key Identifier:
# C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
# X509v3 Authority Key Identifier:
# keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
#
# Signature Algorithm: sha1WithRSAEncryption
# 35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f:
# 78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf:
# dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb:
# 64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2:
# b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20:
# 8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5:
# ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db:
# 15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f:
# b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1:
# c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52:
# b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9:
# 5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5:
# e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17:
# b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80:
# a1:cb:e6:33
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
-----END CERTIFICATE-----
# GeoTrust Primary Certification Authority - G2.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b
# Signature Algorithm: ecdsa-with-SHA384
# Issuer: C=US, O=GeoTrust Inc., OU=(c) 2007 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G2
# Validity
# Not Before: Nov 5 00:00:00 2007 GMT
# Not After : Jan 18 23:59:59 2038 GMT
# Subject: C=US, O=GeoTrust Inc., OU=(c) 2007 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G2
# Subject Public Key Info:
# Public Key Algorithm: id-ecPublicKey
# Public-Key: (384 bit)
# pub:
# 04:15:b1:e8:fd:03:15:43:e5:ac:eb:87:37:11:62:
# ef:d2:83:36:52:7d:45:57:0b:4a:8d:7b:54:3b:3a:
# 6e:5f:15:02:c0:50:a6:cf:25:2f:7d:ca:48:b8:c7:
# 50:63:1c:2a:21:08:7c:9a:36:d8:0b:fe:d1:26:c5:
# 58:31:30:28:25:f3:5d:5d:a3:b8:b6:a5:b4:92:ed:
# 6c:2c:9f:eb:dd:43:89:a2:3c:4b:48:91:1d:50:ec:
# 26:df:d6:60:2e:bd:21
# ASN1 OID: secp384r1
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Subject Key Identifier:
# 15:5F:35:57:51:55:FB:25:B2:AD:03:69:FC:01:A3:FA:BE:11:55:D5
# Signature Algorithm: ecdsa-with-SHA384
# 30:64:02:30:64:96:59:a6:e8:09:de:8b:ba:fa:5a:88:88:f0:
# 1f:91:d3:46:a8:f2:4a:4c:02:63:fb:6c:5f:38:db:2e:41:93:
# a9:0e:e6:9d:dc:31:1c:b2:a0:a7:18:1c:79:e1:c7:36:02:30:
# 3a:56:af:9a:74:6c:f6:fb:83:e0:33:d3:08:5f:a1:9c:c2:5b:
# 9f:46:d6:b6:cb:91:06:63:a2:06:e7:33:ac:3e:a8:81:12:d0:
# cb:ba:d0:92:0b:b6:9e:96:aa:04:0f:8a
-----BEGIN CERTIFICATE-----
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL
MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj
KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2
MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV
BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw
NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV
BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL
So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal
tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG
CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT
qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz
rD6ogRLQy7rQkgu2npaqBA+K
-----END CERTIFICATE-----
# GeoTrust Primary Certification Authority - G3.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f
# Signature Algorithm: sha256WithRSAEncryption
# Issuer: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3
# Validity
# Not Before: Apr 2 00:00:00 2008 GMT
# Not After : Dec 1 23:59:59 2037 GMT
# Subject: C=US, O=GeoTrust Inc., OU=(c) 2008 GeoTrust Inc. - For authorized use only, CN=GeoTrust Primary Certification Authority - G3
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:dc:e2:5e:62:58:1d:33:57:39:32:33:fa:eb:cb:
# 87:8c:a7:d4:4a:dd:06:88:ea:64:8e:31:98:a5:38:
# 90:1e:98:cf:2e:63:2b:f0:46:bc:44:b2:89:a1:c0:
# 28:0c:49:70:21:95:9f:64:c0:a6:93:12:02:65:26:
# 86:c6:a5:89:f0:fa:d7:84:a0:70:af:4f:1a:97:3f:
# 06:44:d5:c9:eb:72:10:7d:e4:31:28:fb:1c:61:e6:
# 28:07:44:73:92:22:69:a7:03:88:6c:9d:63:c8:52:
# da:98:27:e7:08:4c:70:3e:b4:c9:12:c1:c5:67:83:
# 5d:33:f3:03:11:ec:6a:d0:53:e2:d1:ba:36:60:94:
# 80:bb:61:63:6c:5b:17:7e:df:40:94:1e:ab:0d:c2:
# 21:28:70:88:ff:d6:26:6c:6c:60:04:25:4e:55:7e:
# 7d:ef:bf:94:48:de:b7:1d:dd:70:8d:05:5f:88:a5:
# 9b:f2:c2:ee:ea:d1:40:41:6d:62:38:1d:56:06:c5:
# 03:47:51:20:19:fc:7b:10:0b:0e:62:ae:76:55:bf:
# 5f:77:be:3e:49:01:53:3d:98:25:03:76:24:5a:1d:
# b4:db:89:ea:79:e5:b6:b3:3b:3f:ba:4c:28:41:7f:
# 06:ac:6a:8e:c1:d0:f6:05:1d:7d:e6:42:86:e3:a5:
# d5:47
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Subject Key Identifier:
# C4:79:CA:8E:A1:4E:03:1D:1C:DC:6B:DB:31:5B:94:3E:3F:30:7F:2D
# Signature Algorithm: sha256WithRSAEncryption
# 2d:c5:13:cf:56:80:7b:7a:78:bd:9f:ae:2c:99:e7:ef:da:df:
# 94:5e:09:69:a7:e7:6e:68:8c:bd:72:be:47:a9:0e:97:12:b8:
# 4a:f1:64:d3:39:df:25:34:d4:c1:cd:4e:81:f0:0f:04:c4:24:
# b3:34:96:c6:a6:aa:30:df:68:61:73:d7:f9:8e:85:89:ef:0e:
# 5e:95:28:4a:2a:27:8f:10:8e:2e:7c:86:c4:02:9e:da:0c:77:
# 65:0e:44:0d:92:fd:fd:b3:16:36:fa:11:0d:1d:8c:0e:07:89:
# 6a:29:56:f7:72:f4:dd:15:9c:77:35:66:57:ab:13:53:d8:8e:
# c1:40:c5:d7:13:16:5a:72:c7:b7:69:01:c4:7a:b1:83:01:68:
# 7d:8d:41:a1:94:18:c1:25:5c:fc:f0:fe:83:02:87:7c:0d:0d:
# cf:2e:08:5c:4a:40:0d:3e:ec:81:61:e6:24:db:ca:e0:0e:2d:
# 07:b2:3e:56:dc:8d:f5:41:85:07:48:9b:0c:0b:cb:49:3f:7d:
# ec:b7:fd:cb:8d:67:89:1a:ab:ed:bb:1e:a3:00:08:08:17:2a:
# 82:5c:31:5d:46:8a:2d:0f:86:9b:74:d9:45:fb:d4:40:b1:7a:
# aa:68:2d:86:b2:99:22:e1:c1:2b:c7:9c:f8:f3:5f:a8:82:12:
# eb:19:11:2d
-----BEGIN CERTIFICATE-----
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB
mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT
MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ
BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0
BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz
+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm
hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn
5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W
JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL
DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC
huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB
AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB
zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN
kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH
SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G
spki4cErx5z481+oghLrGREt
-----END CERTIFICATE-----
# GeoTrust Primary Certification Authority.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority
# Validity
# Not Before: Nov 27 00:00:00 2006 GMT
# Not After : Jul 16 23:59:59 2036 GMT
# Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:be:b8:15:7b:ff:d4:7c:7d:67:ad:83:64:7b:c8:
# 42:53:2d:df:f6:84:08:20:61:d6:01:59:6a:9c:44:
# 11:af:ef:76:fd:95:7e:ce:61:30:bb:7a:83:5f:02:
# bd:01:66:ca:ee:15:8d:6f:a1:30:9c:bd:a1:85:9e:
# 94:3a:f3:56:88:00:31:cf:d8:ee:6a:96:02:d9:ed:
# 03:8c:fb:75:6d:e7:ea:b8:55:16:05:16:9a:f4:e0:
# 5e:b1:88:c0:64:85:5c:15:4d:88:c7:b7:ba:e0:75:
# e9:ad:05:3d:9d:c7:89:48:e0:bb:28:c8:03:e1:30:
# 93:64:5e:52:c0:59:70:22:35:57:88:8a:f1:95:0a:
# 83:d7:bc:31:73:01:34:ed:ef:46:71:e0:6b:02:a8:
# 35:72:6b:97:9b:66:e0:cb:1c:79:5f:d8:1a:04:68:
# 1e:47:02:e6:9d:60:e2:36:97:01:df:ce:35:92:df:
# be:67:c7:6d:77:59:3b:8f:9d:d6:90:15:94:bc:42:
# 34:10:c1:39:f9:b1:27:3e:7e:d6:8a:75:c5:b2:af:
# 96:d3:a2:de:9b:e4:98:be:7d:e1:e9:81:ad:b6:6f:
# fc:d7:0e:da:e0:34:b0:0d:1a:77:e7:e3:08:98:ef:
# 58:fa:9c:84:b7:36:af:c2:df:ac:d2:f4:10:06:70:
# 71:35
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Subject Key Identifier:
# 2C:D5:50:41:97:15:8B:F0:8F:36:61:5B:4A:FB:6B:D9:99:C9:33:92
# Signature Algorithm: sha1WithRSAEncryption
# 5a:70:7f:2c:dd:b7:34:4f:f5:86:51:a9:26:be:4b:b8:aa:f1:
# 71:0d:dc:61:c7:a0:ea:34:1e:7a:77:0f:04:35:e8:27:8f:6c:
# 90:bf:91:16:24:46:3e:4a:4e:ce:2b:16:d5:0b:52:1d:fc:1f:
# 67:a2:02:45:31:4f:ce:f3:fa:03:a7:79:9d:53:6a:d9:da:63:
# 3a:f8:80:d7:d3:99:e1:a5:e1:be:d4:55:71:98:35:3a:be:93:
# ea:ae:ad:42:b2:90:6f:e0:fc:21:4d:35:63:33:89:49:d6:9b:
# 4e:ca:c7:e7:4e:09:00:f7:da:c7:ef:99:62:99:77:b6:95:22:
# 5e:8a:a0:ab:f4:b8:78:98:ca:38:19:99:c9:72:9e:78:cd:4b:
# ac:af:19:a0:73:12:2d:fc:c2:41:ba:81:91:da:16:5a:31:b7:
# f9:b4:71:80:12:48:99:72:73:5a:59:53:c1:63:52:33:ed:a7:
# c9:d2:39:02:70:fa:e0:b1:42:66:29:aa:9b:51:ed:30:54:22:
# 14:5f:d9:ab:1d:c1:e4:94:f0:f8:f5:2b:f7:ea:ca:78:46:d6:
# b8:91:fd:a6:0d:2b:1a:14:01:3e:80:f0:42:a0:95:07:5e:6d:
# cd:cc:4b:a4:45:8d:ab:12:e8:b3:de:5a:e5:a0:7c:e8:0f:22:
# 1d:5a:e9:59
-----BEGIN CERTIFICATE-----
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
-----END CERTIFICATE-----
# Go Daddy Class 2 Certification Authority.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 0 (0x0)
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
# Validity
# Not Before: Jun 29 17:06:20 2004 GMT
# Not After : Jun 29 17:06:20 2034 GMT
# Subject: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:de:9d:d7:ea:57:18:49:a1:5b:eb:d7:5f:48:86:
# ea:be:dd:ff:e4:ef:67:1c:f4:65:68:b3:57:71:a0:
# 5e:77:bb:ed:9b:49:e9:70:80:3d:56:18:63:08:6f:
# da:f2:cc:d0:3f:7f:02:54:22:54:10:d8:b2:81:d4:
# c0:75:3d:4b:7f:c7:77:c3:3e:78:ab:1a:03:b5:20:
# 6b:2f:6a:2b:b1:c5:88:7e:c4:bb:1e:b0:c1:d8:45:
# 27:6f:aa:37:58:f7:87:26:d7:d8:2d:f6:a9:17:b7:
# 1f:72:36:4e:a6:17:3f:65:98:92:db:2a:6e:5d:a2:
# fe:88:e0:0b:de:7f:e5:8d:15:e1:eb:cb:3a:d5:e2:
# 12:a2:13:2d:d8:8e:af:5f:12:3d:a0:08:05:08:b6:
# 5c:a5:65:38:04:45:99:1e:a3:60:60:74:c5:41:a5:
# 72:62:1b:62:c5:1f:6f:5f:1a:42:be:02:51:65:a8:
# ae:23:18:6a:fc:78:03:a9:4d:7f:80:c3:fa:ab:5a:
# fc:a1:40:a4:ca:19:16:fe:b2:c8:ef:5e:73:0d:ee:
# 77:bd:9a:f6:79:98:bc:b1:07:67:a2:15:0d:dd:a0:
# 58:c6:44:7b:0a:3e:62:28:5f:ba:41:07:53:58:cf:
# 11:7e:38:74:c5:f8:ff:b5:69:90:8f:84:74:ea:97:
# 1b:af
# Exponent: 3 (0x3)
# X509v3 extensions:
# X509v3 Subject Key Identifier:
# D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
# X509v3 Authority Key Identifier:
# keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
# DirName:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
# serial:00
#
# X509v3 Basic Constraints:
# CA:TRUE
# Signature Algorithm: sha1WithRSAEncryption
# 32:4b:f3:b2:ca:3e:91:fc:12:c6:a1:07:8c:8e:77:a0:33:06:
# 14:5c:90:1e:18:f7:08:a6:3d:0a:19:f9:87:80:11:6e:69:e4:
# 96:17:30:ff:34:91:63:72:38:ee:cc:1c:01:a3:1d:94:28:a4:
# 31:f6:7a:c4:54:d7:f6:e5:31:58:03:a2:cc:ce:62:db:94:45:
# 73:b5:bf:45:c9:24:b5:d5:82:02:ad:23:79:69:8d:b8:b6:4d:
# ce:cf:4c:ca:33:23:e8:1c:88:aa:9d:8b:41:6e:16:c9:20:e5:
# 89:9e:cd:3b:da:70:f7:7e:99:26:20:14:54:25:ab:6e:73:85:
# e6:9b:21:9d:0a:6c:82:0e:a8:f8:c2:0c:fa:10:1e:6c:96:ef:
# 87:0d:c4:0f:61:8b:ad:ee:83:2b:95:f8:8e:92:84:72:39:eb:
# 20:ea:83:ed:83:cd:97:6e:08:bc:eb:4e:26:b6:73:2b:e4:d3:
# f6:4c:fe:26:71:e2:61:11:74:4a:ff:57:1a:87:0f:75:48:2e:
# cf:51:69:17:a0:02:12:61:95:d5:d1:40:b2:10:4c:ee:c4:ac:
# 10:43:a6:a5:9e:0a:d5:95:62:9a:0d:cf:88:82:c5:32:0c:e4:
# 2b:9f:45:e6:0d:9f:28:9c:b1:b9:2a:5a:57:ad:37:0f:af:1d:
# 7f:db:bd:9f
-----BEGIN CERTIFICATE-----
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
ReYNnyicsbkqWletNw+vHX/bvZ8=
-----END CERTIFICATE-----
# Go Daddy Root Certificate Authority - G2.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 0 (0x0)
# Signature Algorithm: sha256WithRSAEncryption
# Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
# Validity
# Not Before: Sep 1 00:00:00 2009 GMT
# Not After : Dec 31 23:59:59 2037 GMT
# Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:bf:71:62:08:f1:fa:59:34:f7:1b:c9:18:a3:f7:
# 80:49:58:e9:22:83:13:a6:c5:20:43:01:3b:84:f1:
# e6:85:49:9f:27:ea:f6:84:1b:4e:a0:b4:db:70:98:
# c7:32:01:b1:05:3e:07:4e:ee:f4:fa:4f:2f:59:30:
# 22:e7:ab:19:56:6b:e2:80:07:fc:f3:16:75:80:39:
# 51:7b:e5:f9:35:b6:74:4e:a9:8d:82:13:e4:b6:3f:
# a9:03:83:fa:a2:be:8a:15:6a:7f:de:0b:c3:b6:19:
# 14:05:ca:ea:c3:a8:04:94:3b:46:7c:32:0d:f3:00:
# 66:22:c8:8d:69:6d:36:8c:11:18:b7:d3:b2:1c:60:
# b4:38:fa:02:8c:ce:d3:dd:46:07:de:0a:3e:eb:5d:
# 7c:c8:7c:fb:b0:2b:53:a4:92:62:69:51:25:05:61:
# 1a:44:81:8c:2c:a9:43:96:23:df:ac:3a:81:9a:0e:
# 29:c5:1c:a9:e9:5d:1e:b6:9e:9e:30:0a:39:ce:f1:
# 88:80:fb:4b:5d:cc:32:ec:85:62:43:25:34:02:56:
# 27:01:91:b4:3b:70:2a:3f:6e:b1:e8:9c:88:01:7d:
# 9f:d4:f9:db:53:6d:60:9d:bf:2c:e7:58:ab:b8:5f:
# 46:fc:ce:c4:1b:03:3c:09:eb:49:31:5c:69:46:b3:
# e0:47
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Subject Key Identifier:
# 3A:9A:85:07:10:67:28:B6:EF:F6:BD:05:41:6E:20:C1:94:DA:0F:DE
# Signature Algorithm: sha256WithRSAEncryption
# 99:db:5d:79:d5:f9:97:59:67:03:61:f1:7e:3b:06:31:75:2d:
# a1:20:8e:4f:65:87:b4:f7:a6:9c:bc:d8:e9:2f:d0:db:5a:ee:
# cf:74:8c:73:b4:38:42:da:05:7b:f8:02:75:b8:fd:a5:b1:d7:
# ae:f6:d7:de:13:cb:53:10:7e:8a:46:d1:97:fa:b7:2e:2b:11:
# ab:90:b0:27:80:f9:e8:9f:5a:e9:37:9f:ab:e4:df:6c:b3:85:
# 17:9d:3d:d9:24:4f:79:91:35:d6:5f:04:eb:80:83:ab:9a:02:
# 2d:b5:10:f4:d8:90:c7:04:73:40:ed:72:25:a0:a9:9f:ec:9e:
# ab:68:12:99:57:c6:8f:12:3a:09:a4:bd:44:fd:06:15:37:c1:
# 9b:e4:32:a3:ed:38:e8:d8:64:f3:2c:7e:14:fc:02:ea:9f:cd:
# ff:07:68:17:db:22:90:38:2d:7a:8d:d1:54:f1:69:e3:5f:33:
# ca:7a:3d:7b:0a:e3:ca:7f:5f:39:e5:e2:75:ba:c5:76:18:33:
# ce:2c:f0:2f:4c:ad:f7:b1:e7:ce:4f:a8:c4:9b:4a:54:06:c5:
# 7f:7d:d5:08:0f:e2:1c:fe:7e:17:b8:ac:5e:f6:d4:16:b2:43:
# 09:0c:4d:f6:a7:6b:b4:99:84:65:ca:7a:88:e2:e2:44:be:5c:
# f7:ea:1c:f5
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
4uJEvlz36hz1
-----END CERTIFICATE-----
# Go Daddy Secure Certification Authority serialNumber=07969287.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 769 (0x301)
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
# Validity
# Not Before: Nov 16 01:54:37 2006 GMT
# Not After : Nov 16 01:54:37 2026 GMT
# Subject: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:c4:2d:d5:15:8c:9c:26:4c:ec:32:35:eb:5f:b8:
# 59:01:5a:a6:61:81:59:3b:70:63:ab:e3:dc:3d:c7:
# 2a:b8:c9:33:d3:79:e4:3a:ed:3c:30:23:84:8e:b3:
# 30:14:b6:b2:87:c3:3d:95:54:04:9e:df:99:dd:0b:
# 25:1e:21:de:65:29:7e:35:a8:a9:54:eb:f6:f7:32:
# 39:d4:26:55:95:ad:ef:fb:fe:58:86:d7:9e:f4:00:
# 8d:8c:2a:0c:bd:42:04:ce:a7:3f:04:f6:ee:80:f2:
# aa:ef:52:a1:69:66:da:be:1a:ad:5d:da:2c:66:ea:
# 1a:6b:bb:e5:1a:51:4a:00:2f:48:c7:98:75:d8:b9:
# 29:c8:ee:f8:66:6d:0a:9c:b3:f3:fc:78:7c:a2:f8:
# a3:f2:b5:c3:f3:b9:7a:91:c1:a7:e6:25:2e:9c:a8:
# ed:12:65:6e:6a:f6:12:44:53:70:30:95:c3:9c:2b:
# 58:2b:3d:08:74:4a:f2:be:51:b0:bf:87:d0:4c:27:
# 58:6b:b5:35:c5:9d:af:17:31:f8:0b:8f:ee:ad:81:
# 36:05:89:08:98:cf:3a:af:25:87:c0:49:ea:a7:fd:
# 67:f7:45:8e:97:cc:14:39:e2:36:85:b5:7e:1a:37:
# fd:16:f6:71:11:9a:74:30:16:fe:13:94:a3:3f:84:
# 0d:4f
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Subject Key Identifier:
# FD:AC:61:32:93:6C:45:D6:E2:EE:85:5F:9A:BA:E7:76:99:68:CC:E7
# X509v3 Authority Key Identifier:
# keyid:D2:C4:B0:D2:91:D4:4C:11:71:B3:61:CB:3D:A1:FE:DD:A8:6A:D4:E3
#
# X509v3 Basic Constraints: critical
# CA:TRUE, pathlen:0
# Authority Information Access:
# OCSP - URI:http://ocsp.godaddy.com
#
# X509v3 CRL Distribution Points:
#
# Full Name:
# URI:http://certificates.godaddy.com/repository/gdroot.crl
#
# X509v3 Certificate Policies:
# Policy: X509v3 Any Policy
# CPS: http://certificates.godaddy.com/repository
#
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# Signature Algorithm: sha1WithRSAEncryption
# d2:86:c0:ec:bd:f9:a1:b6:67:ee:66:0b:a2:06:3a:04:50:8e:
# 15:72:ac:4a:74:95:53:cb:37:cb:44:49:ef:07:90:6b:33:d9:
# 96:f0:94:56:a5:13:30:05:3c:85:32:21:7b:c9:c7:0a:a8:24:
# a4:90:de:46:d3:25:23:14:03:67:c2:10:d6:6f:0f:5d:7b:7a:
# cc:9f:c5:58:2a:c1:c4:9e:21:a8:5a:f3:ac:a4:46:f3:9e:e4:
# 63:cb:2f:90:a4:29:29:01:d9:72:2c:29:df:37:01:27:bc:4f:
# ee:68:d3:21:8f:c0:b3:e4:f5:09:ed:d2:10:aa:53:b4:be:f0:
# cc:59:0b:d6:3b:96:1c:95:24:49:df:ce:ec:fd:a7:48:91:14:
# 45:0e:3a:36:6f:da:45:b3:45:a2:41:c9:d4:d7:44:4e:3e:b9:
# 74:76:d5:a2:13:55:2c:c6:87:a3:b5:99:ac:06:84:87:7f:75:
# 06:fc:bf:14:4c:0e:cc:6e:c4:df:3d:b7:12:71:f4:e8:f1:51:
# 40:22:28:49:e0:1d:4b:87:a8:34:cc:06:a2:dd:12:5a:d1:86:
# 36:64:03:35:6f:6f:77:6e:eb:f2:85:50:98:5e:ab:03:53:ad:
# 91:23:63:1f:16:9c:cd:b9:b2:05:63:3a:e1:f4:68:1b:17:05:
# 35:95:53:ee
-----BEGIN CERTIFICATE-----
MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMx
ITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMTYw
MTU0MzdaFw0yNjExMTYwMTU0MzdaMIHKMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH
QXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5j
b20sIEluYy4xMzAxBgNVBAsTKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5j
b20vcmVwb3NpdG9yeTEwMC4GA1UEAxMnR28gRGFkZHkgU2VjdXJlIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5MREwDwYDVQQFEwgwNzk2OTI4NzCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMQt1RWMnCZM7DI161+4WQFapmGBWTtwY6vj3D3H
KrjJM9N55DrtPDAjhI6zMBS2sofDPZVUBJ7fmd0LJR4h3mUpfjWoqVTr9vcyOdQm
VZWt7/v+WIbXnvQAjYwqDL1CBM6nPwT27oDyqu9SoWlm2r4arV3aLGbqGmu75RpR
SgAvSMeYddi5Kcju+GZtCpyz8/x4fKL4o/K1w/O5epHBp+YlLpyo7RJlbmr2EkRT
cDCVw5wrWCs9CHRK8r5RsL+H0EwnWGu1NcWdrxcx+AuP7q2BNgWJCJjPOq8lh8BJ
6qf9Z/dFjpfMFDniNoW1fho3/Rb2cRGadDAW/hOUoz+EDU8CAwEAAaOCATIwggEu
MB0GA1UdDgQWBBT9rGEyk2xF1uLuhV+auud2mWjM5zAfBgNVHSMEGDAWgBTSxLDS
kdRMEXGzYcs9of7dqGrU4zASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUFBwEB
BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZ29kYWRkeS5jb20wRgYDVR0f
BD8wPTA7oDmgN4Y1aHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBv
c2l0b3J5L2dkcm9vdC5jcmwwSwYDVR0gBEQwQjBABgRVHSAAMDgwNgYIKwYBBQUH
AgEWKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeTAO
BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBANKGwOy9+aG2Z+5mC6IG
OgRQjhVyrEp0lVPLN8tESe8HkGsz2ZbwlFalEzAFPIUyIXvJxwqoJKSQ3kbTJSMU
A2fCENZvD117esyfxVgqwcSeIaha86ykRvOe5GPLL5CkKSkB2XIsKd83ASe8T+5o
0yGPwLPk9Qnt0hCqU7S+8MxZC9Y7lhyVJEnfzuz9p0iRFEUOOjZv2kWzRaJBydTX
RE4+uXR21aITVSzGh6O1mawGhId/dQb8vxRMDsxuxN89txJx9OjxUUAiKEngHUuH
qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWV
U+4=
-----END CERTIFICATE-----
# Thawte Premium Server CA.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number: 1 (0x1)
# Signature Algorithm: md5WithRSAEncryption
# Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
# Validity
# Not Before: Aug 1 00:00:00 1996 GMT
# Not After : Dec 31 23:59:59 2020 GMT
# Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (1024 bit)
# Modulus:
# 00:d2:36:36:6a:8b:d7:c2:5b:9e:da:81:41:62:8f:
# 38:ee:49:04:55:d6:d0:ef:1c:1b:95:16:47:ef:18:
# 48:35:3a:52:f4:2b:6a:06:8f:3b:2f:ea:56:e3:af:
# 86:8d:9e:17:f7:9e:b4:65:75:02:4d:ef:cb:09:a2:
# 21:51:d8:9b:d0:67:d0:ba:0d:92:06:14:73:d4:93:
# cb:97:2a:00:9c:5c:4e:0c:bc:fa:15:52:fc:f2:44:
# 6e:da:11:4a:6e:08:9f:2f:2d:e3:f9:aa:3a:86:73:
# b6:46:53:58:c8:89:05:bd:83:11:b8:73:3f:aa:07:
# 8d:f4:42:4d:e7:40:9d:1c:37
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# Signature Algorithm: md5WithRSAEncryption
# 26:48:2c:16:c2:58:fa:e8:16:74:0c:aa:aa:5f:54:3f:f2:d7:
# c9:78:60:5e:5e:6e:37:63:22:77:36:7e:b2:17:c4:34:b9:f5:
# 08:85:fc:c9:01:38:ff:4d:be:f2:16:42:43:e7:bb:5a:46:fb:
# c1:c6:11:1f:f1:4a:b0:28:46:c9:c3:c4:42:7d:bc:fa:ab:59:
# 6e:d5:b7:51:88:11:e3:a4:85:19:6b:82:4c:a4:0c:12:ad:e9:
# a4:ae:3f:f1:c3:49:65:9a:8c:c5:c8:3e:25:b7:94:99:bb:92:
# 32:71:07:f0:86:5e:ed:50:27:a6:0d:a6:23:f9:bb:cb:a6:07:
# 14:42
-----BEGIN CERTIFICATE-----
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy
dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t
MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB
MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG
A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp
b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl
cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv
bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE
VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ
ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR
uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM
pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
-----END CERTIFICATE-----
# Thawte Primary Root CA - G2.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56
# Signature Algorithm: ecdsa-with-SHA384
# Issuer: C=US, O=thawte, Inc., OU=(c) 2007 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G2
# Validity
# Not Before: Nov 5 00:00:00 2007 GMT
# Not After : Jan 18 23:59:59 2038 GMT
# Subject: C=US, O=thawte, Inc., OU=(c) 2007 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G2
# Subject Public Key Info:
# Public Key Algorithm: id-ecPublicKey
# Public-Key: (384 bit)
# pub:
# 04:a2:d5:9c:82:7b:95:9d:f1:52:78:87:fe:8a:16:
# bf:05:e6:df:a3:02:4f:0d:07:c6:00:51:ba:0c:02:
# 52:2d:22:a4:42:39:c4:fe:8f:ea:c9:c1:be:d4:4d:
# ff:9f:7a:9e:e2:b1:7c:9a:ad:a7:86:09:73:87:d1:
# e7:9a:e3:7a:a5:aa:6e:fb:ba:b3:70:c0:67:88:a2:
# 35:d4:a3:9a:b1:fd:ad:c2:ef:31:fa:a8:b9:f3:fb:
# 08:c6:91:d1:fb:29:95
# ASN1 OID: secp384r1
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Subject Key Identifier:
# 9A:D8:00:30:00:E7:6B:7F:85:18:EE:8B:B6:CE:8A:0C:F8:11:E1:BB
# Signature Algorithm: ecdsa-with-SHA384
# 30:66:02:31:00:dd:f8:e0:57:47:5b:a7:e6:0a:c3:bd:f5:80:
# 8a:97:35:0d:1b:89:3c:54:86:77:28:ca:a1:f4:79:de:b5:e6:
# 38:b0:f0:65:70:8c:7f:02:54:c2:bf:ff:d8:a1:3e:d9:cf:02:
# 31:00:c4:8d:94:fc:dc:53:d2:dc:9d:78:16:1f:15:33:23:53:
# 52:e3:5a:31:5d:9d:ca:ae:bd:13:29:44:0d:27:5b:a8:e7:68:
# 9c:12:f7:58:3f:2e:72:02:57:a3:8f:a1:14:2e
-----BEGIN CERTIFICATE-----
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL
MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp
IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi
BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw
MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig
YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v
dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/
BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6
papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K
DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3
KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox
XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
-----END CERTIFICATE-----
# Thawte Primary Root CA - G3.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb
# Signature Algorithm: sha256WithRSAEncryption
# Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3
# Validity
# Not Before: Apr 2 00:00:00 2008 GMT
# Not After : Dec 1 23:59:59 2037 GMT
# Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2008 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA - G3
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:b2:bf:27:2c:fb:db:d8:5b:dd:78:7b:1b:9e:77:
# 66:81:cb:3e:bc:7c:ae:f3:a6:27:9a:34:a3:68:31:
# 71:38:33:62:e4:f3:71:66:79:b1:a9:65:a3:a5:8b:
# d5:8f:60:2d:3f:42:cc:aa:6b:32:c0:23:cb:2c:41:
# dd:e4:df:fc:61:9c:e2:73:b2:22:95:11:43:18:5f:
# c4:b6:1f:57:6c:0a:05:58:22:c8:36:4c:3a:7c:a5:
# d1:cf:86:af:88:a7:44:02:13:74:71:73:0a:42:59:
# 02:f8:1b:14:6b:42:df:6f:5f:ba:6b:82:a2:9d:5b:
# e7:4a:bd:1e:01:72:db:4b:74:e8:3b:7f:7f:7d:1f:
# 04:b4:26:9b:e0:b4:5a:ac:47:3d:55:b8:d7:b0:26:
# 52:28:01:31:40:66:d8:d9:24:bd:f6:2a:d8:ec:21:
# 49:5c:9b:f6:7a:e9:7f:55:35:7e:96:6b:8d:93:93:
# 27:cb:92:bb:ea:ac:40:c0:9f:c2:f8:80:cf:5d:f4:
# 5a:dc:ce:74:86:a6:3e:6c:0b:53:ca:bd:92:ce:19:
# 06:72:e6:0c:5c:38:69:c7:04:d6:bc:6c:ce:5b:f6:
# f7:68:9c:dc:25:15:48:88:a1:e9:a9:f8:98:9c:e0:
# f3:d5:31:28:61:11:6c:67:96:8d:39:99:cb:c2:45:
# 24:39
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Subject Key Identifier:
# AD:6C:AA:94:60:9C:ED:E4:FF:FA:3E:0A:74:2B:63:03:F7:B6:59:BF
# Signature Algorithm: sha256WithRSAEncryption
# 1a:40:d8:95:65:ac:09:92:89:c6:39:f4:10:e5:a9:0e:66:53:
# 5d:78:de:fa:24:91:bb:e7:44:51:df:c6:16:34:0a:ef:6a:44:
# 51:ea:2b:07:8a:03:7a:c3:eb:3f:0a:2c:52:16:a0:2b:43:b9:
# 25:90:3f:70:a9:33:25:6d:45:1a:28:3b:27:cf:aa:c3:29:42:
# 1b:df:3b:4c:c0:33:34:5b:41:88:bf:6b:2b:65:af:28:ef:b2:
# f5:c3:aa:66:ce:7b:56:ee:b7:c8:cb:67:c1:c9:9c:1a:18:b8:
# c4:c3:49:03:f1:60:0e:50:cd:46:c5:f3:77:79:f7:b6:15:e0:
# 38:db:c7:2f:28:a0:0c:3f:77:26:74:d9:25:12:da:31:da:1a:
# 1e:dc:29:41:91:22:3c:69:a7:bb:02:f2:b6:5c:27:03:89:f4:
# 06:ea:9b:e4:72:82:e3:a1:09:c1:e9:00:19:d3:3e:d4:70:6b:
# ba:71:a6:aa:58:ae:f4:bb:e9:6c:b6:ef:87:cc:9b:bb:ff:39:
# e6:56:61:d3:0a:a7:c4:5c:4c:60:7b:05:77:26:7a:bf:d8:07:
# 52:2c:62:f7:70:63:d9:39:bc:6f:1c:c2:79:dc:76:29:af:ce:
# c5:2c:64:04:5e:88:36:6e:31:d4:40:1a:62:34:36:3f:35:01:
# ae:ac:63:a0
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB
rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV
BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa
Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl
LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u
MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl
ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm
gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8
YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf
b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9
9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S
zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk
OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA
2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW
oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c
KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM
m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu
MdRAGmI0Nj81Aa6sY6A=
-----END CERTIFICATE-----
# Thawte Primary Root CA.pem
# Certificate:
# Data:
# Version: 3 (0x2)
# Serial Number:
# 34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d
# Signature Algorithm: sha1WithRSAEncryption
# Issuer: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA
# Validity
# Not Before: Nov 17 00:00:00 2006 GMT
# Not After : Jul 16 23:59:59 2036 GMT
# Subject: C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA
# Subject Public Key Info:
# Public Key Algorithm: rsaEncryption
# Public-Key: (2048 bit)
# Modulus:
# 00:ac:a0:f0:fb:80:59:d4:9c:c7:a4:cf:9d:a1:59:
# 73:09:10:45:0c:0d:2c:6e:68:f1:6c:5b:48:68:49:
# 59:37:fc:0b:33:19:c2:77:7f:cc:10:2d:95:34:1c:
# e6:eb:4d:09:a7:1c:d2:b8:c9:97:36:02:b7:89:d4:
# 24:5f:06:c0:cc:44:94:94:8d:02:62:6f:eb:5a:dd:
# 11:8d:28:9a:5c:84:90:10:7a:0d:bd:74:66:2f:6a:
# 38:a0:e2:d5:54:44:eb:1d:07:9f:07:ba:6f:ee:e9:
# fd:4e:0b:29:f5:3e:84:a0:01:f1:9c:ab:f8:1c:7e:
# 89:a4:e8:a1:d8:71:65:0d:a3:51:7b:ee:bc:d2:22:
# 60:0d:b9:5b:9d:df:ba:fc:51:5b:0b:af:98:b2:e9:
# 2e:e9:04:e8:62:87:de:2b:c8:d7:4e:c1:4c:64:1e:
# dd:cf:87:58:ba:4a:4f:ca:68:07:1d:1c:9d:4a:c6:
# d5:2f:91:cc:7c:71:72:1c:c5:c0:67:eb:32:fd:c9:
# 92:5c:94:da:85:c0:9b:bf:53:7d:2b:09:f4:8c:9d:
# 91:1f:97:6a:52:cb:de:09:36:a4:77:d8:7b:87:50:
# 44:d5:3e:6e:29:69:fb:39:49:26:1e:09:a5:80:7b:
# 40:2d:eb:e8:27:85:c9:fe:61:fd:7e:e6:7c:97:1d:
# d5:9d
# Exponent: 65537 (0x10001)
# X509v3 extensions:
# X509v3 Basic Constraints: critical
# CA:TRUE
# X509v3 Key Usage: critical
# Certificate Sign, CRL Sign
# X509v3 Subject Key Identifier:
# 7B:5B:45:CF:AF:CE:CB:7A:FD:31:92:1A:6A:B6:F3:46:EB:57:48:50
# Signature Algorithm: sha1WithRSAEncryption
# 79:11:c0:4b:b3:91:b6:fc:f0:e9:67:d4:0d:6e:45:be:55:e8:
# 93:d2:ce:03:3f:ed:da:25:b0:1d:57:cb:1e:3a:76:a0:4c:ec:
# 50:76:e8:64:72:0c:a4:a9:f1:b8:8b:d6:d6:87:84:bb:32:e5:
# 41:11:c0:77:d9:b3:60:9d:eb:1b:d5:d1:6e:44:44:a9:a6:01:
# ec:55:62:1d:77:b8:5c:8e:48:49:7c:9c:3b:57:11:ac:ad:73:
# 37:8e:2f:78:5c:90:68:47:d9:60:60:e6:fc:07:3d:22:20:17:
# c4:f7:16:e9:c4:d8:72:f9:c8:73:7c:df:16:2f:15:a9:3e:fd:
# 6a:27:b6:a1:eb:5a:ba:98:1f:d5:e3:4d:64:0a:9d:13:c8:61:
# ba:f5:39:1c:87:ba:b8:bd:7b:22:7f:f6:fe:ac:40:79:e5:ac:
# 10:6f:3d:8f:1b:79:76:8b:c4:37:b3:21:18:84:e5:36:00:eb:
# 63:20:99:b9:e9:fe:33:04:bb:41:c8:c1:02:f9:44:63:20:9e:
# 81:ce:42:d3:d6:3f:2c:76:d3:63:9c:59:dd:8f:a6:e1:0e:a0:
# 2e:41:f7:2e:95:47:cf:bc:fd:33:f3:f6:0b:61:7e:7e:91:2b:
# 81:47:c2:27:30:ee:a7:10:5d:37:8f:5c:39:2b:e4:04:f0:7b:
# 8d:56:8c:68
-----BEGIN CERTIFICATE-----
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
jVaMaA==
-----END CERTIFICATE-----
dropbox-sdk-python-9.4.0/dropbox/users.py 0000664 0000000 0000000 00000163245 13500550210 0020471 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
"""
This namespace contains endpoints and data types for user management.
"""
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,
team_common,
team_policies,
users_common,
)
except (ImportError, SystemError, ValueError):
import common
import team_common
import team_policies
import users_common
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 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__ = [
'_account_id_value',
'_account_id_present',
'_name_value',
'_name_present',
'_email_value',
'_email_present',
'_email_verified_value',
'_email_verified_present',
'_profile_photo_url_value',
'_profile_photo_url_present',
'_disabled_value',
'_disabled_present',
]
_has_required_fields = True
def __init__(self,
account_id=None,
name=None,
email=None,
email_verified=None,
disabled=None,
profile_photo_url=None):
self._account_id_value = None
self._account_id_present = False
self._name_value = None
self._name_present = False
self._email_value = None
self._email_present = False
self._email_verified_value = None
self._email_verified_present = False
self._profile_photo_url_value = None
self._profile_photo_url_present = False
self._disabled_value = None
self._disabled_present = False
if account_id is not None:
self.account_id = account_id
if name is not None:
self.name = name
if email is not None:
self.email = email
if email_verified is not None:
self.email_verified = email_verified
if profile_photo_url is not None:
self.profile_photo_url = profile_photo_url
if disabled is not None:
self.disabled = disabled
@property
def account_id(self):
"""
The user's unique Dropbox ID.
:rtype: str
"""
if self._account_id_present:
return self._account_id_value
else:
raise AttributeError("missing required field 'account_id'")
@account_id.setter
def account_id(self, val):
val = self._account_id_validator.validate(val)
self._account_id_value = val
self._account_id_present = True
@account_id.deleter
def account_id(self):
self._account_id_value = None
self._account_id_present = False
@property
def name(self):
"""
Details of a user's name.
:rtype: Name
"""
if self._name_present:
return self._name_value
else:
raise AttributeError("missing required field 'name'")
@name.setter
def name(self, val):
self._name_validator.validate_type_only(val)
self._name_value = val
self._name_present = True
@name.deleter
def name(self):
self._name_value = None
self._name_present = False
@property
def email(self):
"""
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.
: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 email_verified(self):
"""
Whether the user has verified their e-mail address.
:rtype: bool
"""
if self._email_verified_present:
return self._email_verified_value
else:
raise AttributeError("missing required field 'email_verified'")
@email_verified.setter
def email_verified(self, val):
val = self._email_verified_validator.validate(val)
self._email_verified_value = val
self._email_verified_present = True
@email_verified.deleter
def email_verified(self):
self._email_verified_value = None
self._email_verified_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
@property
def disabled(self):
"""
Whether the user has been disabled.
:rtype: bool
"""
if self._disabled_present:
return self._disabled_value
else:
raise AttributeError("missing required field 'disabled'")
@disabled.setter
def disabled(self, val):
val = self._disabled_validator.validate(val)
self._disabled_value = val
self._disabled_present = True
@disabled.deleter
def disabled(self):
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,
self._name_value,
self._email_value,
self._email_verified_value,
self._disabled_value,
self._profile_photo_url_value,
)
Account_validator = bv.Struct(Account)
class BasicAccount(Account):
"""
Basic information about any account.
: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__ = [
'_is_teammate_value',
'_is_teammate_present',
'_team_member_id_value',
'_team_member_id_present',
]
_has_required_fields = True
def __init__(self,
account_id=None,
name=None,
email=None,
email_verified=None,
disabled=None,
is_teammate=None,
profile_photo_url=None,
team_member_id=None):
super(BasicAccount, self).__init__(account_id,
name,
email,
email_verified,
disabled,
profile_photo_url)
self._is_teammate_value = None
self._is_teammate_present = False
self._team_member_id_value = None
self._team_member_id_present = False
if is_teammate is not None:
self.is_teammate = is_teammate
if team_member_id is not None:
self.team_member_id = team_member_id
@property
def is_teammate(self):
"""
Whether this user is a teammate of the current user. If this account is
the current user's account, then this will be ``True``.
:rtype: bool
"""
if self._is_teammate_present:
return self._is_teammate_value
else:
raise AttributeError("missing required field 'is_teammate'")
@is_teammate.setter
def is_teammate(self, val):
val = self._is_teammate_validator.validate(val)
self._is_teammate_value = val
self._is_teammate_present = True
@is_teammate.deleter
def is_teammate(self):
self._is_teammate_value = None
self._is_teammate_present = False
@property
def team_member_id(self):
"""
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``.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
return None
@team_member_id.setter
def team_member_id(self, val):
if val is None:
del self.team_member_id
return
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
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,
self._name_value,
self._email_value,
self._email_verified_value,
self._disabled_value,
self._is_teammate_value,
self._profile_photo_url_value,
self._team_member_id_value,
)
BasicAccount_validator = bv.Struct(BasicAccount)
class FullAccount(Account):
"""
Detailed information about the current user's account.
:ivar users.FullAccount.country: The user's two-letter country code, if
available. Country codes are based on `ISO 3166-1
`_.
: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 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__ = [
'_country_value',
'_country_present',
'_locale_value',
'_locale_present',
'_referral_link_value',
'_referral_link_present',
'_team_value',
'_team_present',
'_team_member_id_value',
'_team_member_id_present',
'_is_paired_value',
'_is_paired_present',
'_account_type_value',
'_account_type_present',
'_root_info_value',
'_root_info_present',
]
_has_required_fields = True
def __init__(self,
account_id=None,
name=None,
email=None,
email_verified=None,
disabled=None,
locale=None,
referral_link=None,
is_paired=None,
account_type=None,
root_info=None,
profile_photo_url=None,
country=None,
team=None,
team_member_id=None):
super(FullAccount, self).__init__(account_id,
name,
email,
email_verified,
disabled,
profile_photo_url)
self._country_value = None
self._country_present = False
self._locale_value = None
self._locale_present = False
self._referral_link_value = None
self._referral_link_present = False
self._team_value = None
self._team_present = False
self._team_member_id_value = None
self._team_member_id_present = False
self._is_paired_value = None
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:
self.locale = locale
if referral_link is not None:
self.referral_link = referral_link
if team is not None:
self.team = team
if team_member_id is not None:
self.team_member_id = team_member_id
if is_paired is not None:
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):
"""
The user's two-letter country code, if available. Country codes are
based on `ISO 3166-1 `_.
:rtype: str
"""
if self._country_present:
return self._country_value
else:
return None
@country.setter
def country(self, val):
if val is None:
del self.country
return
val = self._country_validator.validate(val)
self._country_value = val
self._country_present = True
@country.deleter
def country(self):
self._country_value = None
self._country_present = False
@property
def locale(self):
"""
The language that the user specified. Locale tags will be `IETF language
tags `_.
:rtype: str
"""
if self._locale_present:
return self._locale_value
else:
raise AttributeError("missing required field 'locale'")
@locale.setter
def locale(self, val):
val = self._locale_validator.validate(val)
self._locale_value = val
self._locale_present = True
@locale.deleter
def locale(self):
self._locale_value = None
self._locale_present = False
@property
def referral_link(self):
"""
The user's `referral link `_.
:rtype: str
"""
if self._referral_link_present:
return self._referral_link_value
else:
raise AttributeError("missing required field 'referral_link'")
@referral_link.setter
def referral_link(self, val):
val = self._referral_link_validator.validate(val)
self._referral_link_value = val
self._referral_link_present = True
@referral_link.deleter
def referral_link(self):
self._referral_link_value = None
self._referral_link_present = False
@property
def team(self):
"""
If this account is a member of a team, information about that team.
:rtype: FullTeam
"""
if self._team_present:
return self._team_value
else:
return None
@team.setter
def team(self, val):
if val is None:
del self.team
return
self._team_validator.validate_type_only(val)
self._team_value = val
self._team_present = True
@team.deleter
def team(self):
self._team_value = None
self._team_present = False
@property
def team_member_id(self):
"""
This account's unique team member id. This field will only be present if
``team`` is present.
:rtype: str
"""
if self._team_member_id_present:
return self._team_member_id_value
else:
return None
@team_member_id.setter
def team_member_id(self, val):
if val is None:
del self.team_member_id
return
val = self._team_member_id_validator.validate(val)
self._team_member_id_value = val
self._team_member_id_present = True
@team_member_id.deleter
def team_member_id(self):
self._team_member_id_value = None
self._team_member_id_present = False
@property
def is_paired(self):
"""
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.
:rtype: bool
"""
if self._is_paired_present:
return self._is_paired_value
else:
raise AttributeError("missing required field 'is_paired'")
@is_paired.setter
def is_paired(self, val):
val = self._is_paired_validator.validate(val)
self._is_paired_value = val
self._is_paired_present = True
@is_paired.deleter
def is_paired(self):
self._is_paired_value = None
self._is_paired_present = False
@property
def account_type(self):
"""
What type of account this user has.
:rtype: users_common.AccountType
"""
if self._account_type_present:
return self._account_type_value
else:
raise AttributeError("missing required field 'account_type'")
@account_type.setter
def account_type(self, val):
self._account_type_validator.validate_type_only(val)
self._account_type_value = val
self._account_type_present = True
@account_type.deleter
def account_type(self):
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}, 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,
self._email_verified_value,
self._disabled_value,
self._locale_value,
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,
self._team_member_id_value,
)
FullAccount_validator = bv.Struct(FullAccount)
class Team(bb.Struct):
"""
Information about a team.
:ivar users.Team.id: The team's unique ID.
:ivar users.Team.name: The name of the team.
"""
__slots__ = [
'_id_value',
'_id_present',
'_name_value',
'_name_present',
]
_has_required_fields = True
def __init__(self,
id=None,
name=None):
self._id_value = None
self._id_present = False
self._name_value = None
self._name_present = False
if id is not None:
self.id = id
if name is not None:
self.name = name
@property
def id(self):
"""
The team's unique ID.
: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 name(self):
"""
The name of the team.
: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
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,
self._name_value,
)
Team_validator = bv.Struct(Team)
class FullTeam(Team):
"""
Detailed information about a team.
: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__ = [
'_sharing_policies_value',
'_sharing_policies_present',
'_office_addin_policy_value',
'_office_addin_policy_present',
]
_has_required_fields = True
def __init__(self,
id=None,
name=None,
sharing_policies=None,
office_addin_policy=None):
super(FullTeam, self).__init__(id,
name)
self._sharing_policies_value = None
self._sharing_policies_present = False
self._office_addin_policy_value = None
self._office_addin_policy_present = False
if sharing_policies is not None:
self.sharing_policies = sharing_policies
if office_addin_policy is not None:
self.office_addin_policy = office_addin_policy
@property
def sharing_policies(self):
"""
Team policies governing sharing.
:rtype: team_policies.TeamSharingPolicies
"""
if self._sharing_policies_present:
return self._sharing_policies_value
else:
raise AttributeError("missing required field 'sharing_policies'")
@sharing_policies.setter
def sharing_policies(self, val):
self._sharing_policies_validator.validate_type_only(val)
self._sharing_policies_value = val
self._sharing_policies_present = True
@sharing_policies.deleter
def sharing_policies(self):
self._sharing_policies_value = None
self._sharing_policies_present = False
@property
def office_addin_policy(self):
"""
Team policy governing the use of the Office Add-In.
:rtype: team_policies.OfficeAddInPolicy
"""
if self._office_addin_policy_present:
return self._office_addin_policy_value
else:
raise AttributeError("missing required field 'office_addin_policy'")
@office_addin_policy.setter
def office_addin_policy(self, val):
self._office_addin_policy_validator.validate_type_only(val)
self._office_addin_policy_value = val
self._office_addin_policy_present = True
@office_addin_policy.deleter
def office_addin_policy(self):
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,
self._name_value,
self._sharing_policies_value,
self._office_addin_policy_value,
)
FullTeam_validator = bv.Struct(FullTeam)
class GetAccountArg(bb.Struct):
"""
:ivar users.GetAccountArg.account_id: A user's account identifier.
"""
__slots__ = [
'_account_id_value',
'_account_id_present',
]
_has_required_fields = True
def __init__(self,
account_id=None):
self._account_id_value = None
self._account_id_present = False
if account_id is not None:
self.account_id = account_id
@property
def account_id(self):
"""
A user's account identifier.
:rtype: str
"""
if self._account_id_present:
return self._account_id_value
else:
raise AttributeError("missing required field 'account_id'")
@account_id.setter
def account_id(self, val):
val = self._account_id_validator.validate(val)
self._account_id_value = val
self._account_id_present = True
@account_id.deleter
def account_id(self):
self._account_id_value = None
self._account_id_present = False
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,
)
GetAccountArg_validator = bv.Struct(GetAccountArg)
class GetAccountBatchArg(bb.Struct):
"""
:ivar users.GetAccountBatchArg.account_ids: List of user account
identifiers. Should not contain any duplicate account IDs.
"""
__slots__ = [
'_account_ids_value',
'_account_ids_present',
]
_has_required_fields = True
def __init__(self,
account_ids=None):
self._account_ids_value = None
self._account_ids_present = False
if account_ids is not None:
self.account_ids = account_ids
@property
def account_ids(self):
"""
List of user account identifiers. Should not contain any duplicate
account IDs.
:rtype: list of [str]
"""
if self._account_ids_present:
return self._account_ids_value
else:
raise AttributeError("missing required field 'account_ids'")
@account_ids.setter
def account_ids(self, val):
val = self._account_ids_validator.validate(val)
self._account_ids_value = val
self._account_ids_present = True
@account_ids.deleter
def account_ids(self):
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,
)
GetAccountBatchArg_validator = bv.Struct(GetAccountBatchArg)
class GetAccountBatchError(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 str users.GetAccountBatchError.no_account: The value is an account ID
specified in :field:`GetAccountBatchArg.account_ids` that does not
exist.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
other = None
@classmethod
def no_account(cls, val):
"""
Create an instance of this class set to the ``no_account`` tag with
value ``val``.
:param str val:
:rtype: GetAccountBatchError
"""
return cls('no_account', val)
def is_no_account(self):
"""
Check if the union tag is ``no_account``.
:rtype: bool
"""
return self._tag == 'no_account'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_no_account(self):
"""
The value is an account ID specified in
``GetAccountBatchArg.account_ids`` that does not exist.
Only call this if :meth:`is_no_account` is true.
:rtype: str
"""
if not self.is_no_account():
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)
GetAccountBatchError_validator = bv.Union(GetAccountBatchError)
class GetAccountError(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 users.GetAccountError.no_account: The specified
``GetAccountArg.account_id`` does not exist.
"""
_catch_all = 'other'
# Attribute is overwritten below the class definition
no_account = None
# Attribute is overwritten below the class definition
other = None
def is_no_account(self):
"""
Check if the union tag is ``no_account``.
:rtype: bool
"""
return self._tag == 'no_account'
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(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(bb.Struct):
"""
:ivar users.IndividualSpaceAllocation.allocated: The total space allocated
to the user's account (bytes).
"""
__slots__ = [
'_allocated_value',
'_allocated_present',
]
_has_required_fields = True
def __init__(self,
allocated=None):
self._allocated_value = None
self._allocated_present = False
if allocated is not None:
self.allocated = allocated
@property
def allocated(self):
"""
The total space allocated to the user's account (bytes).
:rtype: int
"""
if self._allocated_present:
return self._allocated_value
else:
raise AttributeError("missing required field 'allocated'")
@allocated.setter
def allocated(self, val):
val = self._allocated_validator.validate(val)
self._allocated_value = val
self._allocated_present = True
@allocated.deleter
def allocated(self):
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,
)
IndividualSpaceAllocation_validator = bv.Struct(IndividualSpaceAllocation)
class Name(bb.Struct):
"""
Representations for a person's name to assist with internationalization.
: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__ = [
'_given_name_value',
'_given_name_present',
'_surname_value',
'_surname_present',
'_familiar_name_value',
'_familiar_name_present',
'_display_name_value',
'_display_name_present',
'_abbreviated_name_value',
'_abbreviated_name_present',
]
_has_required_fields = True
def __init__(self,
given_name=None,
surname=None,
familiar_name=None,
display_name=None,
abbreviated_name=None):
self._given_name_value = None
self._given_name_present = False
self._surname_value = None
self._surname_present = False
self._familiar_name_value = None
self._familiar_name_present = False
self._display_name_value = None
self._display_name_present = False
self._abbreviated_name_value = None
self._abbreviated_name_present = False
if given_name is not None:
self.given_name = given_name
if surname is not None:
self.surname = surname
if familiar_name is not None:
self.familiar_name = familiar_name
if display_name is not None:
self.display_name = display_name
if abbreviated_name is not None:
self.abbreviated_name = abbreviated_name
@property
def given_name(self):
"""
Also known as a first name.
:rtype: str
"""
if self._given_name_present:
return self._given_name_value
else:
raise AttributeError("missing required field 'given_name'")
@given_name.setter
def given_name(self, val):
val = self._given_name_validator.validate(val)
self._given_name_value = val
self._given_name_present = True
@given_name.deleter
def given_name(self):
self._given_name_value = None
self._given_name_present = False
@property
def surname(self):
"""
Also known as a last name or family name.
:rtype: str
"""
if self._surname_present:
return self._surname_value
else:
raise AttributeError("missing required field 'surname'")
@surname.setter
def surname(self, val):
val = self._surname_validator.validate(val)
self._surname_value = val
self._surname_present = True
@surname.deleter
def surname(self):
self._surname_value = None
self._surname_present = False
@property
def familiar_name(self):
"""
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``.
:rtype: str
"""
if self._familiar_name_present:
return self._familiar_name_value
else:
raise AttributeError("missing required field 'familiar_name'")
@familiar_name.setter
def familiar_name(self, val):
val = self._familiar_name_validator.validate(val)
self._familiar_name_value = val
self._familiar_name_present = True
@familiar_name.deleter
def familiar_name(self):
self._familiar_name_value = None
self._familiar_name_present = False
@property
def display_name(self):
"""
A name that can be used directly to represent the name of a user's
Dropbox account.
: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 abbreviated_name(self):
"""
An abbreviated form of the person's name. Their initials in most
locales.
:rtype: str
"""
if self._abbreviated_name_present:
return self._abbreviated_name_value
else:
raise AttributeError("missing required field 'abbreviated_name'")
@abbreviated_name.setter
def abbreviated_name(self, val):
val = self._abbreviated_name_validator.validate(val)
self._abbreviated_name_value = val
self._abbreviated_name_present = True
@abbreviated_name.deleter
def abbreviated_name(self):
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,
self._surname_value,
self._familiar_name_value,
self._display_name_value,
self._abbreviated_name_value,
)
Name_validator = bv.Struct(Name)
class SpaceAllocation(bb.Union):
"""
Space is allocated differently based on the type of account.
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 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'
# Attribute is overwritten below the class definition
other = None
@classmethod
def individual(cls, val):
"""
Create an instance of this class set to the ``individual`` tag with
value ``val``.
:param IndividualSpaceAllocation val:
:rtype: SpaceAllocation
"""
return cls('individual', val)
@classmethod
def team(cls, val):
"""
Create an instance of this class set to the ``team`` tag with value
``val``.
:param TeamSpaceAllocation val:
:rtype: SpaceAllocation
"""
return cls('team', val)
def is_individual(self):
"""
Check if the union tag is ``individual``.
:rtype: bool
"""
return self._tag == 'individual'
def is_team(self):
"""
Check if the union tag is ``team``.
:rtype: bool
"""
return self._tag == 'team'
def is_other(self):
"""
Check if the union tag is ``other``.
:rtype: bool
"""
return self._tag == 'other'
def get_individual(self):
"""
The user's space allocation applies only to their individual account.
Only call this if :meth:`is_individual` is true.
:rtype: IndividualSpaceAllocation
"""
if not self.is_individual():
raise AttributeError("tag 'individual' not set")
return self._value
def get_team(self):
"""
The user shares space with other members of their team.
Only call this if :meth:`is_team` is true.
:rtype: TeamSpaceAllocation
"""
if not self.is_team():
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(bb.Struct):
"""
Information about a user's space usage and quota.
:ivar users.SpaceUsage.used: The user's total space usage (bytes).
:ivar users.SpaceUsage.allocation: The user's space allocation.
"""
__slots__ = [
'_used_value',
'_used_present',
'_allocation_value',
'_allocation_present',
]
_has_required_fields = True
def __init__(self,
used=None,
allocation=None):
self._used_value = None
self._used_present = False
self._allocation_value = None
self._allocation_present = False
if used is not None:
self.used = used
if allocation is not None:
self.allocation = allocation
@property
def used(self):
"""
The user's total space usage (bytes).
:rtype: int
"""
if self._used_present:
return self._used_value
else:
raise AttributeError("missing required field 'used'")
@used.setter
def used(self, val):
val = self._used_validator.validate(val)
self._used_value = val
self._used_present = True
@used.deleter
def used(self):
self._used_value = None
self._used_present = False
@property
def allocation(self):
"""
The user's space allocation.
:rtype: SpaceAllocation
"""
if self._allocation_present:
return self._allocation_value
else:
raise AttributeError("missing required field 'allocation'")
@allocation.setter
def allocation(self, val):
self._allocation_validator.validate_type_only(val)
self._allocation_value = val
self._allocation_present = True
@allocation.deleter
def allocation(self):
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,
self._allocation_value,
)
SpaceUsage_validator = bv.Struct(SpaceUsage)
class TeamSpaceAllocation(bb.Struct):
"""
: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__ = [
'_used_value',
'_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,
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: int
"""
if self._used_present:
return self._used_value
else:
raise AttributeError("missing required field 'used'")
@used.setter
def used(self, val):
val = self._used_validator.validate(val)
self._used_value = val
self._used_present = True
@used.deleter
def used(self):
self._used_value = None
self._used_present = False
@property
def allocated(self):
"""
The total space allocated to the user's team (bytes).
:rtype: int
"""
if self._allocated_present:
return self._allocated_value
else:
raise AttributeError("missing required field 'allocated'")
@allocated.setter
def allocated(self, val):
val = self._allocated_validator.validate(val)
self._allocated_value = val
self._allocated_present = True
@allocated.deleter
def allocated(self):
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}, 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)
GetAccountBatchResult_validator = bv.List(BasicAccount_validator)
Account._account_id_validator = users_common.AccountId_validator
Account._name_validator = Name_validator
Account._email_validator = bv.String()
Account._email_verified_validator = bv.Boolean()
Account._profile_photo_url_validator = bv.Nullable(bv.String())
Account._disabled_validator = bv.Boolean()
Account._all_field_names_ = set([
'account_id',
'name',
'email',
'email_verified',
'profile_photo_url',
'disabled',
])
Account._all_fields_ = [
('account_id', Account._account_id_validator),
('name', Account._name_validator),
('email', Account._email_validator),
('email_verified', Account._email_verified_validator),
('profile_photo_url', Account._profile_photo_url_validator),
('disabled', Account._disabled_validator),
]
BasicAccount._is_teammate_validator = bv.Boolean()
BasicAccount._team_member_id_validator = bv.Nullable(bv.String())
BasicAccount._all_field_names_ = Account._all_field_names_.union(set([
'is_teammate',
'team_member_id',
]))
BasicAccount._all_fields_ = Account._all_fields_ + [
('is_teammate', BasicAccount._is_teammate_validator),
('team_member_id', BasicAccount._team_member_id_validator),
]
FullAccount._country_validator = bv.Nullable(bv.String(min_length=2, max_length=2))
FullAccount._locale_validator = bv.String(min_length=2)
FullAccount._referral_link_validator = bv.String()
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',
'referral_link',
'team',
'team_member_id',
'is_paired',
'account_type',
'root_info',
]))
FullAccount._all_fields_ = Account._all_fields_ + [
('country', FullAccount._country_validator),
('locale', FullAccount._locale_validator),
('referral_link', FullAccount._referral_link_validator),
('team', FullAccount._team_validator),
('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()
Team._name_validator = bv.String()
Team._all_field_names_ = set([
'id',
'name',
])
Team._all_fields_ = [
('id', Team._id_validator),
('name', Team._name_validator),
]
FullTeam._sharing_policies_validator = team_policies.TeamSharingPolicies_validator
FullTeam._office_addin_policy_validator = team_policies.OfficeAddInPolicy_validator
FullTeam._all_field_names_ = Team._all_field_names_.union(set([
'sharing_policies',
'office_addin_policy',
]))
FullTeam._all_fields_ = Team._all_fields_ + [
('sharing_policies', FullTeam._sharing_policies_validator),
('office_addin_policy', FullTeam._office_addin_policy_validator),
]
GetAccountArg._account_id_validator = users_common.AccountId_validator
GetAccountArg._all_field_names_ = set(['account_id'])
GetAccountArg._all_fields_ = [('account_id', GetAccountArg._account_id_validator)]
GetAccountBatchArg._account_ids_validator = bv.List(users_common.AccountId_validator, min_items=1)
GetAccountBatchArg._all_field_names_ = set(['account_ids'])
GetAccountBatchArg._all_fields_ = [('account_ids', GetAccountBatchArg._account_ids_validator)]
GetAccountBatchError._no_account_validator = users_common.AccountId_validator
GetAccountBatchError._other_validator = bv.Void()
GetAccountBatchError._tagmap = {
'no_account': GetAccountBatchError._no_account_validator,
'other': GetAccountBatchError._other_validator,
}
GetAccountBatchError.other = GetAccountBatchError('other')
GetAccountError._no_account_validator = bv.Void()
GetAccountError._other_validator = bv.Void()
GetAccountError._tagmap = {
'no_account': GetAccountError._no_account_validator,
'other': GetAccountError._other_validator,
}
GetAccountError.no_account = GetAccountError('no_account')
GetAccountError.other = GetAccountError('other')
IndividualSpaceAllocation._allocated_validator = bv.UInt64()
IndividualSpaceAllocation._all_field_names_ = set(['allocated'])
IndividualSpaceAllocation._all_fields_ = [('allocated', IndividualSpaceAllocation._allocated_validator)]
Name._given_name_validator = bv.String()
Name._surname_validator = bv.String()
Name._familiar_name_validator = bv.String()
Name._display_name_validator = bv.String()
Name._abbreviated_name_validator = bv.String()
Name._all_field_names_ = set([
'given_name',
'surname',
'familiar_name',
'display_name',
'abbreviated_name',
])
Name._all_fields_ = [
('given_name', Name._given_name_validator),
('surname', Name._surname_validator),
('familiar_name', Name._familiar_name_validator),
('display_name', Name._display_name_validator),
('abbreviated_name', Name._abbreviated_name_validator),
]
SpaceAllocation._individual_validator = IndividualSpaceAllocation_validator
SpaceAllocation._team_validator = TeamSpaceAllocation_validator
SpaceAllocation._other_validator = bv.Void()
SpaceAllocation._tagmap = {
'individual': SpaceAllocation._individual_validator,
'team': SpaceAllocation._team_validator,
'other': SpaceAllocation._other_validator,
}
SpaceAllocation.other = SpaceAllocation('other')
SpaceUsage._used_validator = bv.UInt64()
SpaceUsage._allocation_validator = SpaceAllocation_validator
SpaceUsage._all_field_names_ = set([
'used',
'allocation',
])
SpaceUsage._all_fields_ = [
('used', SpaceUsage._used_validator),
('allocation', SpaceUsage._allocation_validator),
]
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,
GetAccountError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_account_batch = bb.Route(
'get_account_batch',
1,
False,
GetAccountBatchArg_validator,
GetAccountBatchResult_validator,
GetAccountBatchError_validator,
{'host': u'api',
'style': u'rpc'},
)
get_current_account = bb.Route(
'get_current_account',
1,
False,
bv.Void(),
FullAccount_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
get_space_usage = bb.Route(
'get_space_usage',
1,
False,
bv.Void(),
SpaceUsage_validator,
bv.Void(),
{'host': u'api',
'style': u'rpc'},
)
ROUTES = {
'get_account': get_account,
'get_account_batch': get_account_batch,
'get_current_account': get_current_account,
'get_space_usage': get_space_usage,
}
dropbox-sdk-python-9.4.0/dropbox/users_common.py 0000664 0000000 0000000 00000004773 13500550210 0022041 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Auto-generated by Stone, do not modify.
# @generated
# flake8: noqa
# pylint: skip-file
"""
This namespace contains common data types used within the users namespace.
"""
try:
from . import stone_validators as bv
from . import stone_base as bb
except (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 AccountType(bb.Union):
"""
What type of account this user has.
This class acts as a tagged union. Only one of the ``is_*`` methods will
return true. To get the associated value of a tag (if one exists), use the
corresponding ``get_*`` method.
:ivar 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
# Attribute is overwritten below the class definition
basic = None
# Attribute is overwritten below the class definition
pro = None
# Attribute is overwritten below the class definition
business = None
def is_basic(self):
"""
Check if the union tag is ``basic``.
:rtype: bool
"""
return self._tag == 'basic'
def is_pro(self):
"""
Check if the union tag is ``pro``.
:rtype: bool
"""
return self._tag == 'pro'
def is_business(self):
"""
Check if the union tag is ``business``.
:rtype: bool
"""
return self._tag == 'business'
def _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)
AccountType_validator = bv.Union(AccountType)
AccountId_validator = bv.String(min_length=40, max_length=40)
AccountType._basic_validator = bv.Void()
AccountType._pro_validator = bv.Void()
AccountType._business_validator = bv.Void()
AccountType._tagmap = {
'basic': AccountType._basic_validator,
'pro': AccountType._pro_validator,
'business': AccountType._business_validator,
}
AccountType.basic = AccountType('basic')
AccountType.pro = AccountType('pro')
AccountType.business = AccountType('business')
ROUTES = {
}
dropbox-sdk-python-9.4.0/example/ 0000775 0000000 0000000 00000000000 13500550210 0016721 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/example/back-up-and-restore/ 0000775 0000000 0000000 00000000000 13500550210 0022464 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/example/back-up-and-restore/README.md 0000664 0000000 0000000 00000002406 13500550210 0023745 0 ustar 00root root 0000000 0000000 # Backup And Restore
## A Dropbox API sample app for the Python SDK
# How to run
Make sure you've installed the Dropbox Python SDK by following the installation instructions ( https://www.dropbox.com/developers/documentation/python#install ).
Then, find this line in backup-and-restore-sample.py and modify it to include your own access token.
```TOKEN = ''```
From the example/backup-and-restore directory, run the script.
```python backup-and-restore-sample.py```
You should see the file my-file-backup.txt show up in the Dropbox account you used to get the access token.
# Description
## Functionality
1. Back up a file ("my-file.txt")
The my-file.txt file is a simple file that could be any kind of app or user data.
In this example, it contains a simple string of text (initially "original").
2. Restore a file to a previous version (using /revisions)
# API usage
## New v2 endpoints
This app uses the Dropbox API v2 endpoints files_upload, files_restore, files_download_to_file, and files_list_revisions. See more here: http://dropbox-sdk-python.readthedocs.org/en/master/
## Error checking
This example also shows you how to do specific error handling with the new API v2 exceptions. In the backup() function, you can see how to check for a specific kind of API Error. dropbox-sdk-python-9.4.0/example/back-up-and-restore/backup-and-restore-example.py 0000664 0000000 0000000 00000007211 13500550210 0030156 0 ustar 00root root 0000000 0000000 """
Backs up and restores a settings file to Dropbox.
This is an example app for API v2.
"""
import sys
import dropbox
from dropbox.files import WriteMode
from dropbox.exceptions import ApiError, AuthError
# Add OAuth2 access token here.
# You can generate one for yourself in the App Console.
# See
TOKEN = ''
LOCALFILE = 'my-file.txt'
BACKUPPATH = '/my-file-backup.txt'
# Uploads contents of LOCALFILE to Dropbox
def backup():
with open(LOCALFILE, 'rb') as f:
# We use WriteMode=overwrite to make sure that the settings in the file
# are changed on upload
print("Uploading " + LOCALFILE + " to Dropbox as " + BACKUPPATH + "...")
try:
dbx.files_upload(f.read(), BACKUPPATH, mode=WriteMode('overwrite'))
except ApiError as err:
# This checks for the specific error where a user doesn't have
# enough Dropbox space quota to upload this file
if (err.error.is_path() and
err.error.get_path().reason.is_insufficient_space()):
sys.exit("ERROR: Cannot back up; insufficient space.")
elif err.user_message_text:
print(err.user_message_text)
sys.exit()
else:
print(err)
sys.exit()
# Change the text string in LOCALFILE to be new_content
# @param new_content is a string
def change_local_file(new_content):
print("Changing contents of " + LOCALFILE + " on local machine...")
with open(LOCALFILE, 'wb') as f:
f.write(new_content)
# Restore the local and Dropbox files to a certain revision
def restore(rev=None):
# Restore the file on Dropbox to a certain revision
print("Restoring " + BACKUPPATH + " to revision " + rev + " on Dropbox...")
dbx.files_restore(BACKUPPATH, rev)
# Download the specific revision of the file at BACKUPPATH to LOCALFILE
print("Downloading current " + BACKUPPATH + " from Dropbox, overwriting " + LOCALFILE + "...")
dbx.files_download_to_file(LOCALFILE, BACKUPPATH, rev)
# Look at all of the available revisions on Dropbox, and return the oldest one
def select_revision():
# Get the revisions for a file (and sort by the datetime object, "server_modified")
print("Finding available revisions on Dropbox...")
entries = dbx.files_list_revisions(BACKUPPATH, limit=30).entries
revisions = sorted(entries, key=lambda entry: entry.server_modified)
for revision in revisions:
print(revision.rev, revision.server_modified)
# Return the oldest revision (first entry, because revisions was sorted oldest:newest)
return revisions[0].rev
if __name__ == '__main__':
# Check for an access token
if (len(TOKEN) == 0):
sys.exit("ERROR: Looks like you didn't add your access token. "
"Open up backup-and-restore-example.py in a text editor and "
"paste in your token in line 14.")
# Create an instance of a Dropbox class, which can make requests to the API.
print("Creating a Dropbox object...")
dbx = dropbox.Dropbox(TOKEN)
# Check that the access token is valid
try:
dbx.users_get_current_account()
except AuthError:
sys.exit("ERROR: Invalid access token; try re-generating an "
"access token from the app console on the web.")
# Create a backup of the current settings file
backup()
# Change the user's file, create another backup
change_local_file("updated")
backup()
# Restore the local and Dropbox files to a certain revision
to_rev = select_revision()
restore(to_rev)
print("Done!")
dropbox-sdk-python-9.4.0/example/back-up-and-restore/my-file.txt 0000664 0000000 0000000 00000000010 13500550210 0024556 0 ustar 00root root 0000000 0000000 original dropbox-sdk-python-9.4.0/example/updown.py 0000664 0000000 0000000 00000020666 13500550210 0020621 0 ustar 00root root 0000000 0000000 """Upload the contents of your Downloads folder to Dropbox.
This is an example app for API v2.
"""
from __future__ import print_function
import argparse
import contextlib
import datetime
import os
import six
import sys
import time
import unicodedata
if sys.version.startswith('2'):
input = raw_input # noqa: E501,F821; pylint: disable=redefined-builtin,undefined-variable,useless-suppression
import dropbox
# OAuth2 access token. TODO: login etc.
TOKEN = ''
parser = argparse.ArgumentParser(description='Sync ~/Downloads to Dropbox')
parser.add_argument('folder', nargs='?', default='Downloads',
help='Folder name in your Dropbox')
parser.add_argument('rootdir', nargs='?', default='~/Downloads',
help='Local directory to upload')
parser.add_argument('--token', default=TOKEN,
help='Access token '
'(see https://www.dropbox.com/developers/apps)')
parser.add_argument('--yes', '-y', action='store_true',
help='Answer yes to all questions')
parser.add_argument('--no', '-n', action='store_true',
help='Answer no to all questions')
parser.add_argument('--default', '-d', action='store_true',
help='Take default answer on all questions')
def main():
"""Main program.
Parse command line, then iterate over files and directories under
rootdir and upload all files. Skips some temporary files and
directories, and avoids duplicate uploads by comparing size and
mtime with the server.
"""
args = parser.parse_args()
if sum([bool(b) for b in (args.yes, args.no, args.default)]) > 1:
print('At most one of --yes, --no, --default is allowed')
sys.exit(2)
if not args.token:
print('--token is mandatory')
sys.exit(2)
folder = args.folder
rootdir = os.path.expanduser(args.rootdir)
print('Dropbox folder name:', folder)
print('Local directory:', rootdir)
if not os.path.exists(rootdir):
print(rootdir, 'does not exist on your filesystem')
sys.exit(1)
elif not os.path.isdir(rootdir):
print(rootdir, 'is not a folder on your filesystem')
sys.exit(1)
dbx = dropbox.Dropbox(args.token)
for dn, dirs, files in os.walk(rootdir):
subfolder = dn[len(rootdir):].strip(os.path.sep)
listing = list_folder(dbx, folder, subfolder)
print('Descending into', subfolder, '...')
# First do all the files.
for name in files:
fullname = os.path.join(dn, name)
if not isinstance(name, six.text_type):
name = name.decode('utf-8')
nname = unicodedata.normalize('NFC', name)
if name.startswith('.'):
print('Skipping dot file:', name)
elif name.startswith('@') or name.endswith('~'):
print('Skipping temporary file:', name)
elif name.endswith('.pyc') or name.endswith('.pyo'):
print('Skipping generated file:', name)
elif nname in listing:
md = listing[nname]
mtime = os.path.getmtime(fullname)
mtime_dt = datetime.datetime(*time.gmtime(mtime)[:6])
size = os.path.getsize(fullname)
if (isinstance(md, dropbox.files.FileMetadata) and
mtime_dt == md.client_modified and size == md.size):
print(name, 'is already synced [stats match]')
else:
print(name, 'exists with different stats, downloading')
res = download(dbx, folder, subfolder, name)
with open(fullname) as f:
data = f.read()
if res == data:
print(name, 'is already synced [content match]')
else:
print(name, 'has changed since last sync')
if yesno('Refresh %s' % name, False, args):
upload(dbx, fullname, folder, subfolder, name,
overwrite=True)
elif yesno('Upload %s' % name, True, args):
upload(dbx, fullname, folder, subfolder, name)
# Then choose which subdirectories to traverse.
keep = []
for name in dirs:
if name.startswith('.'):
print('Skipping dot directory:', name)
elif name.startswith('@') or name.endswith('~'):
print('Skipping temporary directory:', name)
elif name == '__pycache__':
print('Skipping generated directory:', name)
elif yesno('Descend into %s' % name, True, args):
print('Keeping directory:', name)
keep.append(name)
else:
print('OK, skipping directory:', name)
dirs[:] = keep
def list_folder(dbx, folder, subfolder):
"""List a folder.
Return a dict mapping unicode filenames to
FileMetadata|FolderMetadata entries.
"""
path = '/%s/%s' % (folder, subfolder.replace(os.path.sep, '/'))
while '//' in path:
path = path.replace('//', '/')
path = path.rstrip('/')
try:
with stopwatch('list_folder'):
res = dbx.files_list_folder(path)
except dropbox.exceptions.ApiError as err:
print('Folder listing failed for', path, '-- assumed empty:', err)
return {}
else:
rv = {}
for entry in res.entries:
rv[entry.name] = entry
return rv
def download(dbx, folder, subfolder, name):
"""Download a file.
Return the bytes of the file, or None if it doesn't exist.
"""
path = '/%s/%s/%s' % (folder, subfolder.replace(os.path.sep, '/'), name)
while '//' in path:
path = path.replace('//', '/')
with stopwatch('download'):
try:
md, res = dbx.files_download(path)
except dropbox.exceptions.HttpError as err:
print('*** HTTP error', err)
return None
data = res.content
print(len(data), 'bytes; md:', md)
return data
def upload(dbx, fullname, folder, subfolder, name, overwrite=False):
"""Upload a file.
Return the request response, or None in case of error.
"""
path = '/%s/%s/%s' % (folder, subfolder.replace(os.path.sep, '/'), name)
while '//' in path:
path = path.replace('//', '/')
mode = (dropbox.files.WriteMode.overwrite
if overwrite
else dropbox.files.WriteMode.add)
mtime = os.path.getmtime(fullname)
with open(fullname, 'rb') as f:
data = f.read()
with stopwatch('upload %d bytes' % len(data)):
try:
res = dbx.files_upload(
data, path, mode,
client_modified=datetime.datetime(*time.gmtime(mtime)[:6]),
mute=True)
except dropbox.exceptions.ApiError as err:
print('*** API error', err)
return None
print('uploaded as', res.name.encode('utf8'))
return res
def yesno(message, default, args):
"""Handy helper function to ask a yes/no question.
Command line arguments --yes or --no force the answer;
--default to force the default answer.
Otherwise a blank line returns the default, and answering
y/yes or n/no returns True or False.
Retry on unrecognized answer.
Special answers:
- q or quit exits the program
- p or pdb invokes the debugger
"""
if args.default:
print(message + '? [auto]', 'Y' if default else 'N')
return default
if args.yes:
print(message + '? [auto] YES')
return True
if args.no:
print(message + '? [auto] NO')
return False
if default:
message += '? [Y/n] '
else:
message += '? [N/y] '
while True:
answer = input(message).strip().lower()
if not answer:
return default
if answer in ('y', 'yes'):
return True
if answer in ('n', 'no'):
return False
if answer in ('q', 'quit'):
print('Exit')
raise SystemExit(0)
if answer in ('p', 'pdb'):
import pdb
pdb.set_trace()
print('Please answer YES or NO.')
@contextlib.contextmanager
def stopwatch(message):
"""Context manager to print how long a block of code took."""
t0 = time.time()
try:
yield
finally:
t1 = time.time()
print('Total elapsed time for %s: %.3f' % (message, t1 - t0))
if __name__ == '__main__':
main()
dropbox-sdk-python-9.4.0/ez_setup.py 0000664 0000000 0000000 00000024074 13500550210 0017505 0 ustar 00root root 0000000 0000000 #!/usr/bin/env python
"""Bootstrap setuptools installation
To use setuptools in your package's setup.py, include this
file in the same directory and add this to the top of your setup.py::
from ez_setup import use_setuptools
use_setuptools()
To require a specific version of setuptools, set a download
mirror, or use an alternate download directory, simply supply
the appropriate options to ``use_setuptools()``.
This file can also be run as a script to install or upgrade setuptools.
"""
import os
import shutil
import sys
import tempfile
import zipfile
import optparse
import subprocess
import platform
import textwrap
import contextlib
from distutils import log
try:
from site import USER_SITE
except ImportError:
USER_SITE = None
DEFAULT_VERSION = "3.1"
DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/"
def _python_cmd(*args):
"""
Return True if the command succeeded.
"""
args = (sys.executable,) + args
return subprocess.call(args) == 0
def _install(archive_filename, install_args=()):
with archive_context(archive_filename):
# installing
log.warn('Installing Setuptools')
if not _python_cmd('setup.py', 'install', *install_args):
log.warn('Something went wrong during the installation.')
log.warn('See the error message above.')
# exitcode will be 2
return 2
def _build_egg(egg, archive_filename, to_dir):
with archive_context(archive_filename):
# building an egg
log.warn('Building a Setuptools egg in %s', to_dir)
_python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir)
# returning the result
log.warn(egg)
if not os.path.exists(egg):
raise IOError('Could not build the egg.')
def get_zip_class():
"""
Supplement ZipFile class to support context manager for Python 2.6
"""
class ContextualZipFile(zipfile.ZipFile):
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
self.close
return zipfile.ZipFile if hasattr(zipfile.ZipFile, '__exit__') else \
ContextualZipFile
@contextlib.contextmanager
def archive_context(filename):
# extracting the archive
tmpdir = tempfile.mkdtemp()
log.warn('Extracting in %s', tmpdir)
old_wd = os.getcwd()
try:
os.chdir(tmpdir)
with get_zip_class()(filename) as archive:
archive.extractall()
# going in the directory
subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0])
os.chdir(subdir)
log.warn('Now working in %s', subdir)
yield
finally:
os.chdir(old_wd)
shutil.rmtree(tmpdir)
def _do_download(version, download_base, to_dir, download_delay):
egg = os.path.join(to_dir, 'setuptools-%s-py%d.%d.egg'
% (version, sys.version_info[0], sys.version_info[1]))
if not os.path.exists(egg):
archive = download_setuptools(version, download_base,
to_dir, download_delay)
_build_egg(egg, archive, to_dir)
sys.path.insert(0, egg)
# Remove previously-imported pkg_resources if present (see
# https://bitbucket.org/pypa/setuptools/pull-request/7/ for details).
if 'pkg_resources' in sys.modules:
del sys.modules['pkg_resources']
import setuptools
setuptools.bootstrap_install_from = egg
def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
to_dir=os.curdir, download_delay=15):
to_dir = os.path.abspath(to_dir)
rep_modules = 'pkg_resources', 'setuptools'
imported = set(sys.modules).intersection(rep_modules)
try:
import pkg_resources
except ImportError:
return _do_download(version, download_base, to_dir, download_delay)
try:
pkg_resources.require("setuptools>=" + version)
return
except pkg_resources.DistributionNotFound:
return _do_download(version, download_base, to_dir, download_delay)
except pkg_resources.VersionConflict as VC_err:
if imported:
msg = textwrap.dedent("""
The required version of setuptools (>={version}) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U setuptools'.
(Currently using {VC_err.args[0]!r})
""").format(VC_err=VC_err, version=version)
sys.stderr.write(msg)
sys.exit(2)
# otherwise, reload ok
del pkg_resources, sys.modules['pkg_resources']
return _do_download(version, download_base, to_dir, download_delay)
def _clean_check(cmd, target):
"""
Run the command to download target. If the command fails, clean up before
re-raising the error.
"""
try:
subprocess.check_call(cmd)
except subprocess.CalledProcessError:
if os.access(target, os.F_OK):
os.unlink(target)
raise
def download_file_powershell(url, target):
"""
Download the file at url to target using Powershell (which will validate
trust). Raise an exception if the command cannot complete.
"""
target = os.path.abspath(target)
cmd = [
'powershell',
'-Command',
"(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)" % vars(),
]
_clean_check(cmd, target)
def has_powershell():
if platform.system() != 'Windows':
return False
cmd = ['powershell', '-Command', 'echo test']
devnull = open(os.path.devnull, 'wb')
try:
try:
subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
except:
return False
finally:
devnull.close()
return True
download_file_powershell.viable = has_powershell
def download_file_curl(url, target):
cmd = ['curl', url, '--silent', '--output', target]
_clean_check(cmd, target)
def has_curl():
cmd = ['curl', '--version']
devnull = open(os.path.devnull, 'wb')
try:
try:
subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
except:
return False
finally:
devnull.close()
return True
download_file_curl.viable = has_curl
def download_file_wget(url, target):
cmd = ['wget', url, '--quiet', '--output-document', target]
_clean_check(cmd, target)
def has_wget():
cmd = ['wget', '--version']
devnull = open(os.path.devnull, 'wb')
try:
try:
subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
except:
return False
finally:
devnull.close()
return True
download_file_wget.viable = has_wget
def download_file_insecure(url, target):
"""
Use Python to download the file, even though it cannot authenticate the
connection.
"""
try:
from urllib.request import urlopen
except ImportError:
from urllib2 import urlopen
src = dst = None
try:
src = urlopen(url)
# Read/write all in one block, so we don't create a corrupt file
# if the download is interrupted.
data = src.read()
dst = open(target, "wb")
dst.write(data)
finally:
if src:
src.close()
if dst:
dst.close()
download_file_insecure.viable = lambda: True
def get_best_downloader():
downloaders = [
download_file_powershell,
download_file_curl,
download_file_wget,
download_file_insecure,
]
for dl in downloaders:
if dl.viable():
return dl
def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
to_dir=os.curdir, delay=15, downloader_factory=get_best_downloader):
"""
Download setuptools from a specified location and return its filename
`version` should be a valid setuptools version number that is available
as an egg for download under the `download_base` URL (which should end
with a '/'). `to_dir` is the directory where the egg will be downloaded.
`delay` is the number of seconds to pause before an actual download
attempt.
``downloader_factory`` should be a function taking no arguments and
returning a function for downloading a URL to a target.
"""
# making sure we use the absolute path
to_dir = os.path.abspath(to_dir)
zip_name = "setuptools-%s.zip" % version
url = download_base + zip_name
saveto = os.path.join(to_dir, zip_name)
if not os.path.exists(saveto): # Avoid repeated downloads
log.warn("Downloading %s", url)
downloader = downloader_factory()
downloader(url, saveto)
return os.path.realpath(saveto)
def _build_install_args(options):
"""
Build the arguments to 'python setup.py install' on the setuptools package
"""
return ['--user'] if options.user_install else []
def _parse_args():
"""
Parse the command line for options
"""
parser = optparse.OptionParser()
parser.add_option(
'--user', dest='user_install', action='store_true', default=False,
help='install in user site package (requires Python 2.6 or later)')
parser.add_option(
'--download-base', dest='download_base', metavar="URL",
default=DEFAULT_URL,
help='alternative URL from where to download the setuptools package')
parser.add_option(
'--insecure', dest='downloader_factory', action='store_const',
const=lambda: download_file_insecure, default=get_best_downloader,
help='Use internal, non-validating downloader'
)
parser.add_option(
'--version', help="Specify which version to download",
default=DEFAULT_VERSION,
)
options, args = parser.parse_args()
# positional arguments are ignored
return options
def main():
"""Install or upgrade setuptools and EasyInstall"""
options = _parse_args()
archive = download_setuptools(
version=options.version,
download_base=options.download_base,
downloader_factory=options.downloader_factory,
)
return _install(archive, _build_install_args(options))
if __name__ == '__main__':
sys.exit(main())
dropbox-sdk-python-9.4.0/generate_base_client.py 0000775 0000000 0000000 00000004622 13500550210 0021771 0 ustar 00root root 0000000 0000000 #!/usr/bin/env python
from __future__ import absolute_import, division, print_function, unicode_literals
import argparse
import glob
import os
import subprocess
import sys
cmdline_desc = """\
Runs Stone to generate Python types and client for the Dropbox client.
"""
_cmdline_parser = argparse.ArgumentParser(description=cmdline_desc)
_cmdline_parser.add_argument(
'-v',
'--verbose',
action='store_true',
help='Print debugging statements.',
)
_cmdline_parser.add_argument(
'spec',
nargs='*',
type=str,
help='Path to API specifications. Each must have a .stone extension.',
)
_cmdline_parser.add_argument(
'-s',
'--stone',
type=str,
help='Path to clone of stone repository.',
)
def main():
"""The entry point for the program."""
args = _cmdline_parser.parse_args()
verbose = args.verbose
if args.spec:
specs = args.spec
else:
# If no specs were specified, default to the spec submodule.
specs = glob.glob('spec/*.stone') # Arbitrary sorting
specs.sort()
specs = [os.path.join(os.getcwd(), s) for s in specs]
stone_path = os.path.abspath('stone')
if args.stone:
stone_path = args.stone
dropbox_pkg_path = os.path.abspath(
os.path.join(os.path.dirname(sys.argv[0]), 'dropbox'))
if verbose:
print('Dropbox package path: %s' % dropbox_pkg_path)
if verbose:
print('Generating Python types')
subprocess.check_output(
(['python', '-m', 'stone.cli', 'python_types', dropbox_pkg_path] +
specs + ['-a', 'host', '-a', 'style'] +
['--', '-r', 'dropbox.dropbox.Dropbox.{ns}_{route}']),
cwd=stone_path)
if verbose:
print('Generating Python client')
o = subprocess.check_output(
(['python', '-m', 'stone.cli', 'python_client', dropbox_pkg_path] +
specs + ['-a', 'host', '-a', 'style', '-a', 'auth'] +
['--', '-w', 'user,app,noauth', '-m', 'base', '-c', 'DropboxBase', '-t', 'dropbox']),
cwd=stone_path)
if o:
print('Output:', o)
o = subprocess.check_output(
(['python', '-m', 'stone.cli', 'python_client', dropbox_pkg_path] +
specs + ['-a', 'host', '-a', 'style', '-a', 'auth'] +
['--', '-w', 'team', '-m', 'base_team', '-c', 'DropboxTeamBase', '-t', 'dropbox']),
cwd=stone_path)
if o:
print('Output:', o)
if __name__ == '__main__':
main()
dropbox-sdk-python-9.4.0/requirements.txt 0000664 0000000 0000000 00000000046 13500550210 0020552 0 ustar 00root root 0000000 0000000 ply
pytest
pytest-runner
requests
six
dropbox-sdk-python-9.4.0/setup.cfg 0000664 0000000 0000000 00000000356 13500550210 0017113 0 ustar 00root root 0000000 0000000 # See http://doc.pytest.org/en/latest/goodpractices.html#integrating-with-setuptools-python-setup-py-test-pytest-runner
[aliases]
test=pytest
[metadata]
description-file=README.rst
[tool:pytest]
norecursedirs = .tox .venv .venv-* stone
dropbox-sdk-python-9.4.0/setup.py 0000664 0000000 0000000 00000004656 13500550210 0017013 0 ustar 00root root 0000000 0000000 # Don't import unicode_literals because of a bug in py2 setuptools
# where package_data is expected to be str and not unicode.
from __future__ import absolute_import, division, print_function
import codecs
import os
import sys
# Ensure setuptools is available
try:
from ez_setup import use_setuptools
use_setuptools()
except ImportError:
# Try to use ez_setup, but if not, continue anyway. The import is known
# to fail when installing from a tar.gz.
print('Could not import ez_setup', file=sys.stderr)
from setuptools import setup
dbx_mod_path = os.path.join(os.path.dirname(__file__), 'dropbox/dropbox.py')
line = '= "UNKNOWN"'
for line in open(dbx_mod_path):
if line.startswith('__version__'):
break
version = eval(line.split('=', 1)[1].strip()) # pylint: disable=eval-used
install_reqs = [
'requests >= 2.16.2',
'six >= 1.3.0',
]
setup_requires = [
'pytest-runner',
]
test_reqs = [
'pytest',
]
# WARNING: This imposes limitations on test/requirements.txt such that the
# full Pip syntax is not supported. See also
# .
with open('test/requirements.txt') as f:
test_reqs += f.read().splitlines()
with codecs.open('README.rst', encoding='utf-8') as f:
README = f.read()
dist = setup(
name='dropbox',
version=version,
install_requires=install_reqs,
setup_requires=setup_requires,
tests_require=test_reqs,
packages=['dropbox'],
package_data={'dropbox': ['trusted-certs.crt']},
zip_safe=False,
author_email='dev-platform@dropbox.com',
author='Dropbox',
description='Official Dropbox API Client',
license='MIT License',
long_description=README,
url='http://www.dropbox.com/developers',
# From
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Software Development :: Libraries :: Python Modules',
],
)
dropbox-sdk-python-9.4.0/spec/ 0000775 0000000 0000000 00000000000 13500550210 0016220 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/stone/ 0000775 0000000 0000000 00000000000 13500550210 0016416 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/test/ 0000775 0000000 0000000 00000000000 13500550210 0016245 5 ustar 00root root 0000000 0000000 dropbox-sdk-python-9.4.0/test/Costa Rican Frog.jpg 0000664 0000000 0000000 00001264511 13500550210 0021725 0 ustar 00root root 0000000 0000000 JFIF H H C
C
F !1AQ"aq2#B R3$b
Cr4S%D
B !1A"Qaq2#BR$3b rC4c ? If-}žX&($7@,@-s<≲^'wKƃCNTwP:4o~jwqZM;]HHnj{\r9!s;v8*n.ڶQw+pPu}űA70yAYt74UPM%lr`tq<"ʧ#hm7ESQΈ\Unem,5JG"cJ"3[e =F_TMD
}l(@d`Cco ب[Y8삒)Wf+ۍ50H ʴ$= ۦb5 5[